Re: An example to query PMID given GEO accession number?
Peng Yu <[email protected]>
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <CABrM6wn9BFTpaPSc2g8nm5r7ey5QZyebjZQMKB2t8uP_cPrS=g@mail.gmail.com> |
On Sun, Jun 14, 2015 at 8:33 PM, Smithies, Russell <[email protected]> wrote: > You need to specify you want to use history - it doesn't do it by default. > > my $factory = Bio::DB::EUtilities->new( > -eutil => 'esearch', > -db => 'gds', > -term => "${geo}[ACCN] AND (gse[ETYP] OR gds[ETYP])", > -email => '[email protected]', > -usehistory => 'y', <<<<============ > ); I still can't get the correct result (it should be 23028701). Could you try the code and see if it works on your machine? $ ./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])", # whether I use this line or the following line, the result is the same. -term => "${geo}[ACCN] AND (gse[ETYP])", -email => '[email protected]', -usehistory => 'y', ); # 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