8 $USAGE = "get_seqs.pl\t[--db=DBNAME] [--format=FORMAT] \n\t\t[--output=FILENAME] [--proxy=PROXY] accession1, accession2, ...\n Defaults: db=GenBank format=fasta output=STDOUT proxy=none\n See LWP::UserAgent for more information on proxy syntax";
10 'genbank' => 'Bio::DB::GenBank',
11 'embl' => 'Bio::DB::EMBL',
12 'swissprot' => 'Bio::DB::SwissProt',
15 my ($db,$format,$file,$proxy,$help) = ( 'genbank', 'fasta' );
20 'f|format:s' => \$format,
21 "file|out|output:s" => \$file,
23 "h|\?|help" => \$help ,
26 if( $help ) { print $USAGE, "\n";exit; }
28 if( $db =~ /gb|gen|genbank/i ) {
30 } elsif( $db =~ /embl|em|e/i ) {
32 } elsif( $db =~ /swiss|sp/i ) {
35 croak("Unknown db parameter '$db' valid parameters are (" . join(',', keys %dbs) . ")");
38 my %params = ( '-format' => $format );
41 $params{'-file'} = ">$file";
43 $params{'-fh'} = \*STDOUT;
46 my $seqio = new Bio::SeqIO(%params);
51 my $filename = "$dbs{$db}.pm";
52 $filename =~ s!::!/!g;
54 $remotedb = "$dbs{$db}"->new();
59 if( defined $proxy ) { $remotedb->proxy($proxy); }
63 if( $remotedb->can('get_Stream_by_batch') ) {
64 $stream = $remotedb->get_Stream_by_batch(@ARGV);
66 $stream = $remotedb->get_Stream_by_acc(\@ARGV);
69 while( my $seq = $stream->next_seq ) {
70 $seqio->write_seq($seq);