squash perl 5.12 warning
[bioperl-db.git] / scripts / biosql / bioentry2flat.pl
blob25815ffc5dfb8445fe5e7eca840d215cf580fb75
1 #!/usr/local/bin/perl
3 use Bio::DB::BioDB;
4 use Bio::Seq::RichSeq;
5 use Bio::SeqIO;
6 use Getopt::Long;
8 my $outfmt = 'EMBL';
9 my $host = undef;
10 my $sqlname = "bioperl_db";
11 my $dbuser = "root";
12 my $dbpass = undef;
13 my $dbname = '';
14 my $acc;
15 my $version;
16 my $stdout=0;
17 my $format='embl';
18 my $file;
19 my $driver = 'mysql';
21 &GetOptions( 'host=s' => \$host,
22 'driver=s' => \$driver,
23 'dbuser=s' => \$dbuser,
24 'dbpass=s' => \$dbpass,
25 'dbname=s' => \$dbname,
26 'accession=s' => \$acc,
27 'version=s' => \$version,
28 'format:s' => \$format,
29 'outformat:s' => \$outfmt,
30 'file:s' => \$file
33 $biodbname = 'sprot_hum';
35 $dbname = shift @ARGV unless $dbname;
36 $acc = shift @ARGV unless $acc;
39 # create the DBAdaptorI for our database
41 print STDERR "Connecting with $driver:$dbname:$dbuser:dbpass\n";
43 my $db = Bio::DB::BioDB->new(-database => "biosql",
44 -host => $host,
45 -dbname => $dbname,
46 -driver => $driver,
47 -user => $dbuser,
48 -pass => $dbpass,
52 my $seqadaptor = $db->get_object_adaptor('Bio::SeqI');
54 my $seq = Bio::Seq::RichSeq->new( -accession_number => $acc,
55 -version => $version,
56 -namespace => $biodbname );
58 $seq = $seqadaptor->find_by_unique_key($seq);
60 my $seqio;
62 if ($file) {
63 print STDERR "Going the $file way...";
64 $seqio = Bio::SeqIO->new('-format' => $format,-file => ">$file");
65 $seqio->write_seq($seq);
67 else {
68 $out = Bio::SeqIO->newFh('-format' => $outfmt);
69 print $out $seq;