[Bioperl-l] Why Bio::DB::EUtilities->new( -eutil => $eutil, -email => 'mymail at foo.bar') with no extra argument only works for egquery?

Peng Yu pengyu.ut at gmail.com
Wed Jun 3 17:00:48 UTC 2015


The following code works for egquery but not efetch. I want to find
out what databases are available for an eutil. Do anybody know what is
the correct way? Thanks.

$ cat main.pl
#!/usr/bin/env perl

use strict;
use warnings;

use Bio::DB::EUtilities;

my $eutil=$ARGV[0];
my $factory = Bio::DB::EUtilities->new(
#  -eutil => 'egquery',
  -eutil => $eutil,
  -email => 'mymail at foo.bar',
);

print join("\n", $factory->get_databases), "\n";
$ ./main.pl egquery
pubmed
pmc
mesh
books
pubmedhealth
omim
ncbisearch
nuccore
nucgss
nucest
protein
genome
structure
taxonomy
snp
dbvar
epigenomics
gene
sra
biosystems
unigene
cdd
clone
popset
geoprofiles
gds
homologene
pccompound
pcsubstance
pcassay
nlmcatalog
probe
gap
proteinclusters
bioproject
biosample
$ ./main.pl efetch

------------- EXCEPTION -------------
MSG: No parser defined for efetch; use get_Response() directly
STACK Bio::DB::EUtilities::get_Parser
/Users/xxx/perl5/lib/perl5/Bio/DB/EUtilities.pm:57
STACK Bio::DB::EUtilities::get_databases
/Users/xxx/perl5/lib/perl5/Bio/DB/EUtilities.pm:157
STACK toplevel ./main.pl:15
-------------------------------------


-- 
Regards,
Peng


More information about the Bioperl-l mailing list