[Bioperl-l] Should be simple accession number script, but it' s not.

Lincoln Stein lstein@cshl.org
Fri, 13 Dec 2002 19:13:40 -0500


Hi Marc,

Please do not use the get_Stream_by_batch() method.  It is now deprecated and 
replaced by get_Stream_by_accession(), get_Stream_by_id(), and 
get_Stream_by_version().

Lincoln

On Friday 13 December 2002 03:57 pm, Marc Logghe wrote:
> Hi,
> I'd definately would use the get_Stream_by_batch method when you want to
> fetch multiple sequences.
> Something like this should do the job:
> #!/usr/bin/perl -w
> use strict;
> use Bio::SeqIO;
> use Bio::DB::GenBank;
>
> local $/ = undef;
> my $gi_file = 'Accession.txt';
> open FILE, "<$gi_file" || die (Cannot open file $gi_file:$!\n");
> my @id = split "\n", (<FILE>);
> my $out = Bio::SeqIO->new;
> my $db   = Bio::DB::GenBank->new;
> $db->proxy(['http','ftp'], 'http://proxy');
>
> my $seqio = $db->get_Stream_by_batch(\@id);
>
> while (my $seq = $seqio->next_seq)
> {
>   $out->write_seq($seq)
>
> }
> HTH,
> Marc
>
> > -----Original Message-----
> > From: Agrin, Nathan [mailto:Nathan.Agrin@umassmed.edu]
> > Sent: Friday, December 13, 2002 9:24 PM
> > To: bioperl-l@bioperl.org
> > Subject: [Bioperl-l] Should be simple accession number
> > script, but it's
> > not.
> >
> >
> > I'm writing a simple script:
> > 1) I want it to take a list of accession numbers in a .txt file,
> > 2) pull out the entries from GenBank,
> > 3) and output the names and sequences to a new .txt file.
> >
> > The problem is that when I write something like;
> >
> > $seq = $db->get_Seq_by_acc($accession);
> > print $seq->seq();
> >
> > I get an error saying cannot preform command on an undefined variable.
> > Anyone had similar problems?  What's really wierd is that it
> > seems to work some of the time.  Below is the code so far:
> >
> > #!perl
> >
> > use Bio::DB::GenBank;
> >
> >
> > open SEQ, "<accession.txt";
> > @anum = "<SEQ>";
> >
> > my $db = new Bio::DB::GenBank;
> >
> > foreach my $accession ( @anum ) {
> > 	# just get things by accession number
> > 	my $seq = $db->get_Seq_by_acc($accession);
> > 	print $seq->seq();
> > }
> >
> > _______________________________________________
> > Bioperl-l mailing list
> > Bioperl-l@bioperl.org
> > http://bioperl.org/mailman/listinfo/bioperl-l
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l

-- 
Lincoln Stein
lstein@cshl.org