我想解析一个GBK文件。基本上,我需要返回匹配模式的基因座位标签和产品名称。因此,如果主题我想搜索所有预测基因产物,检索词“预言”将返回:如何解析匹配文件,并在Perl中匹配字符串之前打印字符串?
/product="predicted semialdehyde dehydrogenase"
/locus_tag="ECDH10B_2481"
我已经能够返回/product
但我无法弄清楚如何解析“向后“来抓取/locus_tag
。
这是我到目前为止有:
my $fasta_file = 'example.txt';
open(INPUT, $fasta_file) || die "ERROR: can't read input FASTA file: $!";
while (<INPUT>) {
if(/predicted/){
print $_;
}
}
>将example.txt
gene complement(2525423..2526436)
/gene="usg"
/locus_tag="ECDH10B_2481"
CDS complement(2525423..2526436)
/gene="usg"
/locus_tag="ECDH10B_2481"
/codon_start=1
/transl_table=11
/product="predicted semialdehyde dehydrogenase"
/protein_id="ACB03477.1"
/db_xref="GI:169889770"
/db_xref="ASAP:AEC-0002184"
/translation="MSEGWNIAVLGATGAVGEALLETLAERQFPVGEIYALARNESAG
EQL"
gene complement(2526502..2527638)
/gene="pdxB"
/locus_tag="ECDH10B_2482"
CDS complement(2526502..2527638)
/gene="pdxB"
/locus_tag="ECDH10B_2482"
/codon_start=1
/transl_table=11
/product="erythronate-4-phosphate dehydrogenase"
/protein_id="ACB03478.1"
/db_xref="GI:169889771"
/db_xref="ASAP:AEC-0002185"
/translation="MKILVDENMPYARDLFSRLGEVTAVPGRPIPVAQLADADALMVR
SVTKVNESLLAGKPIKFVGTATAGTDHVDEAWLKQAGIGFSAAP"
“基因”和“CDS”前面的额外空间是否是一个错字? – Schwern 2013-03-04 20:40:35
这看起来不像FASTA格式,那是什么格式?可能有一个现有的解析器可以使用。 – Schwern 2013-03-04 20:57:10
对不起,这是GBK格式。 – Stephen 2013-03-05 21:41:01