Re: An example to query PMID given GEO accession number?
Peng Yu <[email protected]>
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <CABrM6wnhw9XWuG87CZMiawmjyqY==n_+U6yHV2cd2eycybSF+A@mail.gmail.com> |
On Tue, Jun 9, 2015 at 3:09 PM, Smithies, Russell <[email protected]> wrote: > It's all a matter of knowing the database and how to format the query. > > --Russell > > --------------------------------------- > > #!/usr/bin/perl > > use strict; > use warnings; > > use Bio::DB::EUtilities; > > # want to get PMID 23028701 > my $geo = "GSE39684"; > my $factory = Bio::DB::EUtilities->new( > -eutil => 'esearch', > -db => 'gds', > -term => "${geo}[ACCN] AND (gse[ETYP] OR gds[ETYP])", > -email => '[email protected]', > ); > > # query terms are mapped; what's the actual query? > print "Query translation: ",$factory->get_query_translation,"\n"; > # query hits > print "Count = ",$factory->get_count,"\n"; > # UIDs > my @ids = $factory->get_ids; > print "@ids\n"; Why can't I get the correct PMID? ~$ ./main.pl Query translation: GSE39684[ACCN] AND gse[ETYP] Count = 1 200039684 ~$ cat main.pl #!/usr/bin/env perl use strict; use warnings; use autodie; use FindBin; use lib "$FindBin::Bin/."; use Bio::DB::EUtilities; # want to get PMID 23028701 my $geo = "GSE39684"; my $factory = Bio::DB::EUtilities->new( -eutil => 'esearch', -db => 'gds', #-term => "${geo}[ACCN] AND (gse[ETYP] OR gds[ETYP])", -term => "${geo}[ACCN] AND (gse[ETYP])", -email => '[email protected]', ); # query terms are mapped; what's the actual query? print "Query translation: ",$factory->get_query_translation,"\n"; # query hits print "Count = ",$factory->get_count,"\n"; # UIDs my @ids = $factory->get_ids; print "@ids\n"; -- Regards, Peng