[Bioperl-l] SNP reference file download

Chris Fields cjfields at uiuc.edu
Wed Jul 26 05:01:41 UTC 2006


The below ID doesn't have any OMIM linked data, hence the warning.   
The problem is that NCBI, when it doesn't find a link, doesn't send  
something constructive to tell you that.  It sends the original ID  
encoded in XML, but no actual DB's or ID data links.  That's what the  
warning means.  I'll make the original warning a bit more direct: No  
databases returned; no IDs found.

The thrown error is from a logic problem; I have fixed it and  
committed to CVS.

Here's the web page: no OMIM data there either...

http://www.ncbi.nlm.nih.gov/SNP/snp_ref.cgi?rs=4986950

Try changing your ID list to this:

my @ids = qw(4986950 1800562);

You should get back only one ID (only one has an OMIM number).

By the way, the SNP data ID is only the digits (don't include the  
'rs' designation).

Chris

On Jul 25, 2006, at 9:44 PM, vrramnar at student.cs.uwaterloo.ca wrote:

>
> 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

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Robert Switzer
Dept of Biochemistry
University of Illinois Urbana-Champaign






More information about the Bioperl-l mailing list