【发布时间】:2012-08-14 14:26:21
【问题描述】:
我正在尝试从文本文件中提取 DNA 序列并将其存储。我可以使用以下代码来完成,但这不是最好的方法,因为我正在逐行读取文本文件。我想知道是否有一种更简单的方法可以在我的文本文件中找到每个 DNA 序列,而无需逐行读取文本文件。
example.pl
#!/usr/local/bin/perl
open(MYFILE, 'data.txt');
@entire_file = <MYFILE>;
while (<MYFILE>) {
chomp;
print "$_\n";
}
$line1 = <MYFILE>;
chomp $line1;
$line2 = <MYFILE>;
chomp $line2;
$line3 = <MYFILE>;
chomp $line3;
$line4 = <MYFILE>;
chomp $line4;
$line5 = <MYFILE>;
chomp $line5;
#Prints DNA sequence 1
print "$line2";
#Prints DNA sequence 2
print "$line5";
close(MYFILE);
数据.txt
gi|171361,酿酒酵母,(CYS3) 基因,实验室 1,Joe Bloggs GCAGCGATCGACAGCTGTGCTATCCCGGCGAGCCCGTGGCAGAGGACCTCGCTTGCGAAAGCATCGAGTACC
gi|171362,酿酒酵母,(CYS4) 基因,实验室 2,Paul McDonald GAAGCGCACGACAGCTGTGCTATCCCGGCGAGCCCGTGGCAGAGGACCTCGCTTGCGAAAGCATCGAGTACC
【问题讨论】:
-
你想怎么读?
-
这应该不起作用,因为您正在读取整个文件,然后绑定读取更多数据。您应该在循环之后使用
@entire_file而不是<MYFILE>。 -
我已经阅读了模式匹配,只是不确定如何去做。这么多符号。我希望能够识别 DNA 序列 GATC 等模式并将其存储,而无需读取文本文件中的每一行。如果你能帮忙,请。谢谢。 :)
-
我在做一个问题,第一部分说提取包含 FASTA 格式文件的 txt 文件的内容,这就是为什么存在@entire 文件。然后它说要提取描述符行,这是由 $line 完成的,然后是我可以做的每个 DNA 序列,但这不是一个很好的方法,这就是我发布问题的原因。
-
你知道 MYFILE 中描述符行的位置吗?
标签: perl file input dna-sequence