Why Bio::DB::EUtilities->new( -eutil => $eutil, -email => '[email protected]') with no extra argument only works for egquery?
Peng Yu <[email protected]>
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <CABrM6w=_BJ2T_pfEuw-ukap+prFNRz1BNvCg+d986BFPJMg6fA@mail.gmail.com> |
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 => '[email protected]', ); 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