标题:抽取字符串的问题,请各位多多帮忙!
只看楼主
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
结帖率:93.94%
已结贴  问题点数:30 回复次数:9 
抽取字符串的问题,请各位多多帮忙!
结果2.zip (322.36 KB)


结果1中奇数行是名字,偶数行是字符串
结果2中每一对数对应结果1中的偶数行,即第一对对应结果1中第二行,第2对对应结果1中第4行,第6对对应结果1中第12行等。这些数代表在字符串中的位置。
在每一对数对应行中取出在每一对数左右两边个50个字母,分两行放置。


#include"stdio.h"
#include"stdlib.h"
#define N 1630         //样本文件总行数
#define M 815
FILE *in,*out1,*out2;
struct motif
{
char moti[5000];     //每行的最长值      
}lead[N];
struct motif1
{
int start;
int end;      
}leading[M];

void main()
{
int i,j,n,h=0;
in=fopen("E:\\结果1.txt","rt");    //变化
out1=fopen("E:\\结果2.txt","rt");
out2=fopen("E:\\结果3.txt","wt");
for(i=0;i<N;i++)
fscanf(in,"%s",lead[i].moti);

for(i=0;i<M;i++)
  fscanf(out1,"%d\t%d",&leading[i].start,&leading[i].end);
for(i=1;i<N;i+=2)
  {
    fprintf(out2,"%s\n",lead[i-1].moti);
    for(n=leading[h].start-50;n<leading[h].start+50;n++)
    fprintf(out2,"%c",lead[i].moti[n]);
    fprintf(out2,"\n");
    for(n=(leading[h].end-50);n<(leading[h].end+50);n++)
    fprintf(out2,"%c",lead[i].moti[n]);
    fprintf(out2,"\n");
    h++;

}
}
这是我变得,但总是出错,请指教!!!!!
搜索更多相关主题的帖子: include 字符串 start 样本 字母 
2014-03-06 14:14
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
你這個課題弄好久了!

授人以渔,不授人以鱼。
2014-03-06 14:37
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
得分:0 
fscanf(out1,"%d\t%d",&leading[i].start,&leading[i].end);  // 中间那个\t不要.
2014-03-06 15:14
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
请高手指点,已难住我有一阵时间了
2014-03-06 15:15
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
回复 3楼 pangshch
我按您说的改了,还是不行。
2014-03-06 15:41
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
得分:30 
回复 5楼 zhou31146001
哪里不行? 我测试了一下, 文件3文件里面有字符了, 当然,太乱了, 我没仔细看对不对.
你注意一下你文件2里面的很多数字是超过每行字符最大数的
2014-03-06 15:46
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
[
结果3.zip (52.8 KB)

你好,但为什么我得到的是这样的结果,完全乱的
2014-03-06 16:57
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
得分:0 
以下是引用zhou31146001在2014-3-6 16:57:12的发言:

[
你好,但为什么我得到的是这样的结果,完全乱的
那是乱吗?我看那样才是对的, 如下:
>1_NT_033778protein_id:24585832;Drosophilamelanogasterchromosome2R,completesequence./gene="CG10395";intron(phase:u-,size:58,intr_sum:58);exon(size:329,1024,ex_sum:1353);{splice:gtag};CDS_start=699,CDS_end=1220,CDS_len=522UTR_AMBI   // 这是你的奇数行, 这是第一行,(你说这是名字).

CGTCAACGTGCTATTTATGAACGGACACAGGACTCCGAAATAAATGGATTTATAGAAGAGCTAATTGCTCTTCCAAGTGGTTATAAAGAAAAGGAAAAGC        // 文件2中第一个数的前后50个字符
TTAATATTGATTGACAAAAAAATTGTTTATTATTTCATGTTGCTCCGTTTCAATTCGCTGTAAAAACTGCAATTCGCCTTTTAAGCGTTCAAGTTCTACT        // 这是第二个数的前后50个字符.
>2_NT_033778protein_id:19921652;Drosophilamelanogasterchromosome2R,completesequence./gene="CG10396";intron(phase:u-,size:59,intr_sum:59);exon(size:56,618,ex_sum:674);{splice:gtag};CDS_start=132,CDS_end=662,CDS_len=531
TTCCCTGTATGAAATTGAGGAAACTTTTCCAGATGACGAGGCGTCGGTTTGCCAGTGGAGGAGATGGTATTCGACTTATGGTCGCCGATCGCCAGGTCGT
ACGATGATTTTCCGTAAACTATGTACAGAAACGTAACTAGCAAAATACAATTCAACAGCAAA                   // 这是因为字符长度不够                                
>3_NT_033778protein_id:17647133;Drosophilamelanogasterchromosome2R,completesequence./gene="Act42A";intron(phase:u-,size:154,intr_sum:154);exon(size:109,1513,ex_sum:1622);{splice:gtag};CDS_start=286,CDS_end=1416,CDS_len=1131
GTCGGCCGTCCACGTCACCAGGGCGTAATGGTAGGAATGGGACAAAAGGACTCTTATGTCGGCGATGAGGCACAGAGCAAACGTGGTATCCTTACCCTGA
GGCGCACAACACTTCCGCTCCTTCAGAAGAATGCATTCCATTCACTTTTATACACAGTTGTACACGACGCATAAGCAAACCATATTGTGTTCTATTCGAA




所以, 不是结果乱, 是你的第一个文件里面的东西乱, 你试着用你自己能够 理解的样例来测试.......
2014-03-06 17:06
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
麻烦问一下,那上面我编的那个程序有问题吗?
您使用哪个程序跑出的结果吗?
我的那个程序有需要改动的地方吧!
为什么我用那个程序跑出的就是乱的。
谢谢!!!!
2014-03-06 17:39
zhou31146001
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:303
专家分:131
注 册:2012-11-28
得分:0 
谢谢,我发现问题了
2014-03-06 18:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-428103-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016382 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved