我如何解决这个与 BioPerl 相关的谜团?

发布于 2024-09-24 07:34:59 字数 1216 浏览 2 评论 0原文

我正在使用 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=” 我不知道这里发生了什么...相同的输入,大概相同的脚本,但不同的输出(我同事得到的输出是理想的输出)。我们甚至对相同的脚本 (genbank2gff3.PLS) 进行了diff分析。

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

I'm using Ubuntu 10.04 and Perl 5.10.1. The BioPerl package has some nice scripts, such as bp_genbank2gff3.pl which converts files from genbank format to GFF3 format.

The problem: I get unexpected results when using bp_genbank2gff3.pl: the gene features get "Name=" instead of "locus_tag=" in the last GFF3 column.

A dear BioPerl mailing list member told me he uses the latest BioPerl version from the BioPerl repository and gets the correct result ("locus_tag="). I got a fresh copy, but it didn't work for me. Weird!

Steps to recreate the situation:

$ 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

Following is a line #8 from my the resulting GFF3:

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

while this is the same line from my colleague's results:

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

Note the "Name=" tag in my version (at the end of the line) is replaced by "locus_tag=" in my colleague's
I have no idea what is going on here... Same input, presumably same script, but different outputs (the output my colleague gets is the desirable one). We even diffed the scripts (genbank2gff3.PLS) which are identical.

Any ideas?
Could anyone see if he gets the same results as I or my colleague?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

时光沙漏 2024-10-01 07:34:59

查看脚本源

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

所以看起来脚本正在执行它应该执行的操作?

Looking at the script source:

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

And in 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);
}

So it looks like the script is doing what it’s supposed to do?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文