Pregunta

Estoy usando Ubuntu 10.04 y Perl 5.10.1. El paquete BioPerl tiene algunos guiones, tales como bp_genbank2gff3.pl que convierte los archivos de un formato a formato GenBank GFF3.

El problema: obtener resultados inesperados cuando se utiliza bp_genbank2gff3.pl:. Las funciones de genes se "Name =" en lugar de "locus_tag =" en la columna de la última GFF3

Un miembro de la lista de correo BioPerl querida me dijo que utiliza la última versión del repositorio BioPerl BioPerl y obtiene el resultado correcto ( "locus_tag ="). Tengo una copia nueva, pero no funcionó para mí. Extraño!

Pasos para recrear la situación:

$ 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

A continuación se presenta una línea # 8 de mi GFF3 el resultado:

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

Si bien esta es la misma línea de los resultados de mi colega:

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

Tenga en cuenta el "Name =" tag en mi versión (al final de la línea) se sustituye por "locus_tag =" en mis colegas No tengo idea de lo que está pasando aquí ... misma entrada, presumiblemente mismo guión, pero diferentes salidas (la salida de mi colega se pone es el deseable). Incluso diffed los scripts (genbank2gff3.PLS) que son idénticos.

Algunas ideas? ¿Alguien podría ver si consigue los mismos resultados que yo o mi colega?

¿Fue útil?

Solución

En cuanto a la fuente del script href="http://github.com/bioperl/bioperl-live/blob/master/scripts/Bio-DB-GFF/genbank2gff3.PLS" rel="nofollow :

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

Y en 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);
}

Así que parece que el guión está haciendo lo que tiene que hacer?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top