[Bioperl-l] pubmed

Brian Osborne brian_osborne at cognia.com
Mon Apr 4 18:18:02 EDT 2005


Qunfeng,

SeqIO parses this entry correctly, using this code:

use strict;
use Bio::DB::GenBank;

my $db = new Bio::DB::GenBank;
my $seq = $db->get_Seq_by_id(56961711);
my $ac = $seq->annotation;
for my $ref ($ac->get_Annotations('reference')) {
	print $ref->pubmed;
}

It looks like your code should work as well but since you didn't show us
your complete code using the variable $value it's hard to see where the
problem is.


Brian O.

-----Original Message-----
From: bioperl-l-bounces at portal.open-bio.org
[mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of Qunfeng
Sent: Monday, April 04, 2005 5:47 PM
To: Bioperl
Subject: RE: [Bioperl-l] pubmed


Brain,

My problem is that none of them returned a Pubmed id.

Qunfeng

At 03:07 PM 4/4/2005, Brian Osborne wrote:
>Qunfeng,
>
>Only 1 of the 5 references in the 56961711 entry has a Pubmed id, the rest
>will return nothing when you try $value->pubmed.
>
>Brian O.
>
>-----Original Message-----
>From: bioperl-l-bounces at portal.open-bio.org
>[mailto:bioperl-l-bounces at portal.open-bio.org]On Behalf Of Qunfeng
>Sent: Monday, April 04, 2005 2:58 PM
>To: Bioperl
>Subject: Re: [Bioperl-l] pubmed
>
>
>so, I tried to use
>                      my $authors = $hash_ref->{'authors'};
>                      my $medline = $hash_ref->{'medline'};
>                      my $pubmed = $hash_ref->{'pubmed'};
>
>to parse out authors, medline, pubmed.
>
>I was able to successfully parse out authors and medline but not pubmed.
>
>Then I tried to use
>
>                      my $authors = $value->authors();
>                      my $medline = $value->medline();
>                      my $pubmed = $value->pubmed();
>
>and I got the same thing.
>
>Qunfeng
>
>At 07:50 PM 4/2/2005, Hilmar Lapp wrote:
> >So what is the result of this script that you wouldn't have expected or
> >that is not giving you what you need?
> >
> >BTW annotation objects under the tagname 'reference' are usually
> >Bio::Annotation::Reference objects and have methods $ref->authors(),
> >$ref->pubmed(), $ref->medline, etc. Check the POD.
> >
> >         -hilmar
> >
> >On Friday, April 1, 2005, at 12:04  PM, Qunfeng wrote:
> >
> >>Hilmar and Paulo,
> >>
> >>I apologize for that,
> >>
> >>here is a snippet of my code, I must have missed something very simple.
> >>Thanks for your help! -- Qunfeng
> >>
> >>#!/usr/bin/perl -w
> >>use strict;
> >>use Bio::SeqIO;
> >>
> >>my $inputGBfile = $ARGV[0];
> >>my  $seqio_object = Bio::SeqIO->new('-file' => "$inputGBfile",
> >>                                    '-format' => 'GenBank');
> >>
> >>my $seq_object;
> >>while (1){
> >>         eval{
> >>                 $seq_object = $seqio_object->next_seq;
> >>         };
> >>         if($@){
> >>                 print STDERR "EXCEPTION FOUND; SKIP THIS OBJECT\n";
> >>                 next;
> >>         }
> >>         last if(!defined $seq_object);
> >>         my $gi = $seq_object->primary_id;
> >>         my $anno_collection = $seq_object->annotation;
> >>         foreach my $key ( $anno_collection->get_all_annotation_keys ) {
> >>             my @annotations = $anno_collection->get_Annotations($key);
> >>             foreach my $value ( @annotations ) {
> >>                 if($value->tagname eq "reference"){
> >>                     my $hash_ref = $value->hash_tree;
> >>                     my $authors = $hash_ref->{'authors'};
> >>                     my $medline = $hash_ref->{'medline'};
> >>                     my $pubmed = $hash_ref->{'pubmed'};
> >>                     print STDERR
> >> "gi=$gi\nauthors=$authors\nmedline=$medline\npubmed=$pubmed\n\n";
> >>                 }
> >>             }
> >>         }
> >>}
> >>
> >>
> >>
> >>At 03:10 AM 4/1/2005, you wrote:
> >>>*please* people always post the code or ideally a small snippet that
> >>>demonstrates what you were trying to do, and post the result and if
it's
> >>>not an exception why it is not the result you expected. DO NOT just say
> >>>'blah doesn't work for me'. Whenever someone needs to guess what you
> >>>probably did and what you probably mean you are wasting other people's
>time.
> >>>
> >>>The GI# you have has multiple refs with one having a pubmed ID and none
> >>>having a medline ID. So, the one ref that has a pubmed ID should return
> >>>it from $ref->pubmed() but without any code snippet it is impossible to
> >>>tell what you actually did and what therefore might be the problem.
> >>>
> >>>         -hilmar
> >>>
> >>>On Thursday, March 31, 2005, at 03:15  PM, Qunfeng wrote:
> >>>
> >>>>Hi there,
> >>>>
> >>>>http://bioperl.org/HOWTOs/Feature-Annotation/anno_from_genbank.html
> >>>>
> >>>>I am not very familiar with BioPerl. I tried to follow the example
> >>>>showing in the above page to retrieve pubmed ID under each Reference
> >>>>tag , i.e., $value->pubmed(), but it doesn't work for me for the seq
> >>>>gi#56961711. The authors() works for me.  Appreciate any >>>
>suggestions.
> >>>>
> >>>>Qunfeng
> >>>>_______________________________________________
> >>>>Bioperl-l mailing list
> >>>>Bioperl-l at portal.open-bio.org
> >>>>http://portal.open-bio.org/mailman/listinfo/bioperl-l
> >>>--
> >>>-------------------------------------------------------------
> >>>Hilmar Lapp                            email: lapp at gnf.org
> >>>GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
> >>>-------------------------------------------------------------
> >>
> >--
> >-------------------------------------------------------------
> >Hilmar Lapp                            email: lapp at gnf.org
> >GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
> >-------------------------------------------------------------
> >
> >
> >_______________________________________________
> >Bioperl-l mailing list
> >Bioperl-l at portal.open-bio.org
> >http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
>_______________________________________________
>Bioperl-l mailing list
>Bioperl-l at portal.open-bio.org
>http://portal.open-bio.org/mailman/listinfo/bioperl-l
>
>
>
>_______________________________________________
>Bioperl-l mailing list
>Bioperl-l at portal.open-bio.org
>http://portal.open-bio.org/mailman/listinfo/bioperl-l

_______________________________________________
Bioperl-l mailing list
Bioperl-l at portal.open-bio.org
http://portal.open-bio.org/mailman/listinfo/bioperl-l





More information about the Bioperl-l mailing list