解析GenBank文件

时间:2016-05-07 19:46:08

标签: perl

我尝试解析GenBank文件,以便获取入藏号,定义,文件大小和DNA序列

有没有办法修改我的代码并使其更短,只需像在书中那样一次声明所有变量,并用一两个代码块解析文件?

1 个答案:

答案 0 :(得分:1)

如果您有权访问Bio Perl,则可能会找到以下解决方案。

#!/usr/bin/perl
use strict;
use warnings;
use Bio::SeqIO;

my $in  = Bio::SeqIO->new( -file   => "input.txt",
                           -format => 'GenBank');

while ( my $seq = $in->next_seq ) {
    my $acc = $seq->accession;
    my $length = $seq->length;
    my $definition = $seq->desc;
    my $type = $seq->molecule;
    my $organism = $seq->species->binomial;

    if ($type eq 'mRNA'              &&
        $organism =~ /homo sapiens/i &&
        $acc =~ /[A-Za-z]{2}_[0-9]{6,}/ )
    {
        print "$acc | $definition | $length\n";
        print $seq->seq, "\n";
        print "\n";
    }
}

我能够从我拥有的样本GenBank文件(input.txt)中捕获5个变量。它应该简化你的代码。