Pregunta

Yo soy capaz de descargar un archivo FASTA manualmente que parece:

>lcl|CR543861.1_gene_1...
ATGCTTTGGACA...
>lcl|CR543861.1_gene_2...
GTGCGACTAAAA...

al hacer clic en "Enviar a" y seleccionando "Gen de la Cuenta", FASTA Nucleótidos es la única opción (lo cual está bien porque eso es todo lo que quiero) en esta página.

Con un script como este:

#!/usr/bin/env perl
use strict;
use warnings;
use Bio::DB::EUtilities;

my $factory = Bio::DB::EUtilities->new(-eutil   => 'efetch',
                                       -db      => 'nucleotide',
                                       -id      => 'CR543861',
                                       -rettype => 'fasta');
my $file = 'CR543861.fasta';
$factory->get_Response(-file => $file);

Tengo un archivo que se parece a:

>gi|49529273|emb|CR543861.1| Acinetobacter sp. ADP1 complete genome
GATATTTTATCCACA...

con toda la secuencia genómica que se agrupan. ¿Cómo puedo obtener información como en la primera (descargado manualmente) archivo?

Me miró un par de otros posts:

Así como esta sección de EUtilities libro de cocina.

He intentado buscar y guardar un GenBank archivo (ya que parece haber secuencias separadas para cada gen en el .gb de archivos puedo conseguir), pero cuando voy a trabajar con él usando el Bio::SeqIO, voy a tener sólo 1 secuencia de gran tamaño.

¿Fue útil?

Solución

Con ese número de adhesión y tipo de devolución, está obteniendo la secuencia completa del genoma.Si desea obtener las secuencias de genes individuales, especifique que desea el archivo GenBank completo, analice los genes.Aquí hay un ejemplo:

#!/usr/bin/env perl

use 5.010;
use strict;
use warnings;
use Bio::SeqIO;
use Bio::DB::EUtilities;


my $factory = Bio::DB::EUtilities->new(-eutil   => 'efetch',
                                       -email   => 'foo@bar.com',
                                       -db      => 'nucleotide',
                                       -id      => 'CR543861',
                                       -rettype => 'gb');
my $file = 'CR543861.gb';
$factory->get_Response(-file => $file);

my @gene_features = grep { $_->primary_tag eq 'gene' } 
                    Bio::SeqIO->new(-file => $file)->next_seq->get_SeqFeatures;

for my $feat_object (@gene_features) {
    for my $tag ($feat_object->get_all_tags) {
        # open a filehandle here for writing each to a separate file
        say ">",$feat_object->get_tag_values($tag);
        say $feat_object->spliced_seq->seq;
        # close it!
    } 
}

Esto escribirá cada gen al mismo archivo (si lo redirige, ahora solo escribe en STDOUT), pero indicé dónde podría hacer un pequeño cambio para escribirlos para separar archivos.El análisis de Genbank puede ser un poco complicado a veces, por lo que siempre es útil leer los documentos y, en particular, el excelente Anotación de características HowTo .

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