2

我正在使用 Ubuntu 10.04 和 Perl 5.10.1。BioPerl 包有一些不错的脚本,例如 bp_genbank2gff3.pl,它将文件从 genbank 格式转换为 GFF3 格式。

问题:使用 bp_genbank2gff3.pl 时,我得到了意想不到的结果:基因特征在最后一个 GFF3 列中得到“Name=”而不是“locus_tag=”。

一位亲爱的 BioPerl 邮件列表成员告诉我,他使用来自 BioPerl 存储库的最新 BioPerl 版本并获得了正确的结果(“locus_tag =”)。我得到了一个新的副本,但它对我不起作用。奇怪的!

重建情景的步骤:

$ cd ~/src
$ git clone http://github.com/bioperl/bioperl-live.git
$ export PERL5LIB="$HOME/src/bioperl-live:$PERL5LIB"
$ cd /tmp
$ wget ftp://ftp.ncbi.nih.gov/genomes/Bacteria/Escherichia_coli_E24377A/NC_009789.gbk
$ ~/src/bioperl-live/scripts/Bio-DB-GFF/genbank2gff3.PLS NC_009789.gbk

以下是我生成的 GFF3 中的第 8 行:

NC_009789    GenBank    gene    665    781    .    -    1    ID=EcE24377A_B0001;Dbxref=GeneID:5585816;Name=EcE24377A_B0001

虽然这与我同事的结果相同:

NC_009789    GenBank    gene    665    781    .    -    1    ID=EcE24377A_B0001;Dbxref=GeneID:5585816;**locus_tag**=EcE24377A_B0001

请注意,我的版本中的“Name=”标签(在行尾)被我同事的“locus_tag=”替换了我不知道这里发生了什么......相同的输入,可能是相同的脚本,但不同的输出(我的同事得到的输出是理想的输出)。我们甚至编辑了完全相同diff的脚本 ( )。genbank2gff3.PLS

有任何想法吗?谁能看看他是否得到与我或我的同事相同的结果?

4

1 回答 1

3

查看脚本源

#?? should gene_name from /locus_tag,/gene,/product,/transposon=xxx
# be converted to or added as  Name=xxx (if not ID= or as well)
## problematic: convert_to_name ($feature); # drops /locus_tag,/gene, tags
convert_to_name($feature); 

并在convert_to_name

elsif ($g->has_tag('locus_tag')) {
    ($gene_id) = $g->get_tag_values('locus_tag');
    $g->remove_tag('locus_tag');
    $g->add_tag_value('Name', $gene_id);
}

所以看起来脚本正在做它应该做的事情?

于 2010-09-18T16:00:17.147 回答