Re: An example to query PMID given GEO accession number?
Peng Yu <[email protected]> Tue, 16 Jun 2015 11:03:37 -0500
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <CABrM6w=j=9+qqmTJkat=+JJe=Xy0Q8H5GQt0Z9DbXQD9+jvVhw@mail.gmail.com> |
Given Series GSE39684 and GSE39685, finding the correlated PMIDs can be done using the following URL. http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=gds&db=pubmed&id=200039684&id=200039685 Given PMIDs 23028701 and 24327544, finding the correlated GEO accession can be done using the following URL http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?dbfrom=pubmed&db=gds&id=23028701&id=24327544 Do you mind showing me the correct bioperl commands? (Especially, when there are multiple ids specified, the output should contain both the original input and output numbers, as some input may not have corresponding output, it is important to know what input the output corresponds to.) On Sun, Jun 14, 2015 at 9:34 PM, Smithies, Russell <[email protected]> wrote: > OK, I think I see what the problem is ;-) > > This is the correct Pubmed link with a Pubmed UID: http://www.ncbi.nlm.nih.gov/pubmed/?term=23028701[uid] > This is a link to the paper but with a GDS UID: http://www.ncbi.nlm.nih.gov/gds/?term=200039684[uid] > > Not exactly sure how you'd convert between the two (elink maybe?) , but looks like it's giving the same answer. > > --Russell > > -----Original Message----- > From: Peng Yu [mailto:[email protected]] > Sent: Monday, 15 June 2015 1:58 p.m. > To: Smithies, Russell > Cc: Fields, Christopher J; [email protected] > Subject: Re: [Bioperl-l] An example to query PMID given GEO accession number? > > 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 -- Regards, Peng