我该如何解决这个问题的BioPerl相关的奥秘?

我使用的Ubuntu 10.04和Perl 5.10.1。 该的BioPerl包有一些不错的剧本,如bp_genbank2gff3.pl从基因库格式GFF3格式的文件转换。

问题:使用bp_genbank2gff3.pl当我得到意外的结果:该基因的功能得到“NAME =”而不是“locus_tag =”在过去的GFF3列。

一个亲爱的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

下面是一条线#8从我得到的GFF3:

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这是相同的。

有任何想法吗? 任何人都可以看到,如果他得到了相同的结果,因为我或我的同事?

--------------解决方案-------------

纵观脚本源:

#?? 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);
}

所以它看起来像脚本是做什么伊达€™的该怎么办?

分类:perl的 时间:2015-03-15 人气:2
本文关键词: Perl中,bioperl中
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.309 (s). 10 q(s)