我需要做一个array,目前的数据如下:这个数据每四行属于一个基因,每个基因的四行里,第一行和第三行都是基因名称但是分别以“@”和“+”开头,第二行是基因序列,第四行是Quals值.我现在有1

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 20:24:04
我需要做一个array,目前的数据如下:这个数据每四行属于一个基因,每个基因的四行里,第一行和第三行都是基因名称但是分别以“@”和“+”开头,第二行是基因序列,第四行是Quals值.我现在有1

我需要做一个array,目前的数据如下:这个数据每四行属于一个基因,每个基因的四行里,第一行和第三行都是基因名称但是分别以“@”和“+”开头,第二行是基因序列,第四行是Quals值.我现在有1
我需要做一个array,目前的数据如下:
这个数据每四行属于一个基因,每个基因的四行里,第一行和第三行都是基因名称但是分别以“@”和“+”开头,第二行是基因序列,第四行是Quals值.我现在有100个基因共400行,我要提取出每个基因的第一行(@开头的名称),第二行(序列)以及第四行(Quals值),并分别做成一个Array.我现在的问题是,用“=~”匹配到“@”开头的那行,并将接下来的三行看作循环1(以后每读到“@”才算作一个新的循环),然后我提取出第一行,剩下的三行分不开,如果我再单独匹配一下第三行,就会跳过第二行……总之很凌乱,

我需要做一个array,目前的数据如下:这个数据每四行属于一个基因,每个基因的四行里,第一行和第三行都是基因名称但是分别以“@”和“+”开头,第二行是基因序列,第四行是Quals值.我现在有1
楼主的问题很简单,既然知道每个基因是四行,那就每个循环连续读入四行即可:
例子如下:
#!/usr/bin/perl
open(IN,"yourfile"); #输入文件
while(my $line1=){ #读第一行
my $line2=; #读第二行
; #第三行忽略
my $line4=; #读第四行
}
即可
不明白的话qq我 qq见我的名字