[Bioperl-l] SNP reference file download

vrramnar at student.cs.uwaterloo.ca vrramnar at student.cs.uwaterloo.ca
Wed Jul 26 02:44:17 UTC 2006


Hey Chris,

I believe I updated all those modules already as I downloaded the entire DB.tar 
from Bioperl live. Here is my code:

#!/usr/bin/perl -w

use Bio::Perl;
use Bio::DB::EUtilities;

my @ids = qw(rs4986950);
# With the "rs" before the number the warning says: "no returned links"
# Without the "rs" before the number the warning says: "No databases returned; 
empty linkset"


my $elink = Bio::DB::EUtilities->new(   -eutil     => 'elink',
                                        -id        => \@ids,
                                        -db        => 'omim',
                                        -dbfrom    => 'snp');
$elink->get_response;
print "IDs: ", join q(,), $elink->get_ids;

Which gives the following error:

-------------------- WARNING ---------------------
MSG: No databases returned; empty linkset
---------------------------------------------------

------------- EXCEPTION  -------------
MSG: Must use database to access IDs
STACK Bio::DB::EUtilities::ElinkData::get_LinkIds_by_db /Library/Perl/5.8.6/Bio/
DB/EUtilities/ElinkData.pm:201
STACK Bio::DB::EUtilities::get_ids /Library/Perl/5.8.6/Bio/DB/EUtilities.pm:482
STACK toplevel getOmimNum:13

--------------------------------------

All I really want is the OMIM id number under the section: NCBI Resource Links 
from the page:
http://www.ncbi.nlm.nih.gov/SNP/snp_ref.cgi?rs=1800562

Any idea why this still isn't working?? 

Rohan


Quoting Chris Fields <cjfields at uiuc.edu>:

> Odd, I thought XML::Simple was part of the 5.8 core.  Guess I was  
> wrong.  I plan on changing this to a more robust parser soon (likely  
> XML::SAX or XML::Twig, which will also require a download).
> 
> That warning occurs when if you don't have a link to OMIM present (No  
> databases returned; empty linkset).  The way Elink works is it stores  
> internal data in a separate object (ELinkData) contained in an  
> internal cache.  The method get_ids() works for all EUtilities to  
> retrieve IDs, even from ELink objects.  The unique problem with ELink  
> is, since you can search multiple databases. you can retrieve  
> multiple sets of IDs.
> 
> If you haven't done it, update your EUtilities; the problem is  
> similar to one I fixed today (I stated something about updating in my  
> last post).  Also, update the main Bio::DB::EUtilities and  
> Bio::GenericWebDBI as well (the last is the base class from which  
> EUtilities is based).  The 'Count:1' was a debugging statement I  
> forgot to remove a while ago which I changed in CVS yesterday.  It's  
> possible that commit had other changes which I forgot about.
> 
> Sorry about that, but it is still experimental (emphasis on the  
> 'mental').
> 
> Chris
> 
> On Jul 25, 2006, at 5:53 PM, vrramnar at student.cs.uwaterloo.ca wrote:
> 
> >
> > Hey Chris,
> >
> > Ignore the last email, I fixed that problem and downloaded/ 
> > installed the
> > required XML modules.
> >
> > However, I am now getting this error message:
> >
> > -------------------- WARNING ---------------------
> > MSG: No databases returned; empty linkset
> > ---------------------------------------------------
> > Count: 1
> >
> > ------------- EXCEPTION  -------------
> > MSG: Must use database to access IDs
> > STACK Bio::DB::EUtilities::ElinkData::get_LinkIds_by_db /Library/ 
> > Perl/5.8.6/Bio/
> > DB/EUtilities/ElinkData.pm:201
> > STACK Bio::DB::EUtilities::get_ids /Library/Perl/5.8.6/Bio/DB/ 
> > EUtilities.pm:483
> > STACK toplevel getOmimNum:15
> >
> > --------------------------------------
> >
> > What does this mean??
> >
> > Rohan
> >
> > Quoting Chris Fields <cjfields at uiuc.edu>:
> >
> >> Okay, had to fix an odd bug from ELink due to the way NCBI returns  
> >> data.
> >>
> >> You'll need to update the EUtilities modules in bioperl from CVS  
> >> to make
> >> sure this works.
> >>
> >> This is how it's done:
> 




----------------------------------------
This mail sent through www.mywaterloo.ca



More information about the Bioperl-l mailing list