[Bioperl-l] Error in loading into biosql database

Hilmar Lapp hlapp at gnf.org
Tue Mar 25 15:14:04 EST 2003


Siddharta,

according to the --debug log you sent and unlike you originally 
reported there is no problem with accession# P42655, nor is there a 
problem with the species insertion or look-up. Apparently one of my 
instructions did fix the original problem.

Instead, the exception that terminates the upload is due to a reference 
entry with medline ID 20489853 in accession# P45954. This reference is 
first encountered in accession# Q9UKU7, but without a medline ID 
(swissprot only has the PubMed ID there). When it is encountered again 
in accession# P45954, there is a Medline ID specified. The look-up for 
the Medline ID 20489853 fails, triggering an insert, which in turn 
fails because the computed CRC must be unique.

This needs to be fixed because the situation is not purely artificial. 
The options are as I see it:

	1) use PubMed instead of Medline if the latter is undef

	2) look-up references by CRC rather than dbxref (medline or pubmed)

	3) look-up, in this or any other order, by CRC, if not found by 
medline, if not found by pubmed, omitting those look-ups where the key 
value is undefined.

Option 1) doesn't really solve the problem, because e.g. even though in 
the concrete case at hand the first occurrence of the reference did 
come with a PubMed ID, you still don't know at the second occurrence 
that you have to look-up by PubMed now instead of Medline (which is 
defined for the second).

Option 2) relies on certain assumptions in order to work, namely a) all 
instances of a reference are fully populated (wrt authors, location, 
title), because otherwise you arrive at different CRC values, and b) 
everyone inserting into the database uses the same CRC calculation 
algorithm (no problem if you only use bioperl).

Option 3) is the most robust (I actually don't quite see when it would 
not work), but potentially costly, and creates a headache for 
implementation because it violates the definition of alternative keys 
(to locate an object it otherwise suffices to locate by any alternative 
key whose value is defined, not by all of them).

Does anyone have opinions, comments, or alternative suggestions?

Siddharta, in the meantime you can bypass failing entries by supplying 
--safe on the command line.

	-hilmar

On Tuesday, March 25, 2003, at 02:21  PM, Siddhartha Basu wrote:

> Hi Hilmar,
>
>
> Hilmar Lapp wrote:
>> If you dropped it and re-created it that should have taken care of
>> records erroneously without NCBI taxon ID.
>>
>> To verify you can query before an upload:
>>
>>     mysql> SELECT binomial, variant, ncbi_taxon_id FROM taxon WHERE
>> ncbi_taxon_id IS NULL;
>>
>> To confirm for Homo sapiens:
>>
>>     mysql> SELECT * FROM taxon WHERE binomial = 'Homo sapiens' AND
>>     (ncbi_taxon_id IS NULL OR ncbi_taxon_id != 9606)
>>
>> Neither of the 2 queries should return any rows.
>>
> Done that, no rows returned.
>
>
>> If they don't and you still get this error then look in your input 
>> file
>> for the first occurrence of Homo sapiens as species for the sequence.
>> Does it come with NCBI taxon ID?
> Yes it does.
>
>   if yes,
>> look for the second sequence of Homo sapiens. Does it have accession#
>> P42655? If yes (*), truncate the taxon table and create a new input 
>> file
>> with only the first Homo sapiens sequence entry (which supposedly has 
>> a
>> taxon ID). Try to load the single-entry file.
> Followed the instruction and it's loaded properly.
>
> After that, check your
>> taxon table. There should be Homo sapiens. If it lacks the NCBI taxon 
>> ID
>> (*), the problem is with the parser not parsing the taxon ID out of 
>> the
>> input.
> It has the NCBI taxon ID.
>
>
>>
>> (*) if you have to answer 'no' here, there's possibly something weird
>> going that would need to be fully debugged. You can try to run
>> load_seqdatabase.pl with --debug and send me the output.
> Executed load_seqdatabase.pl with --debug and the output is included in
> the attachment.
>
>
> Siddhartha
>
>
>>
>>     -hilmar
>>
> <debuginfo.tar.gz>
-- 
-------------------------------------------------------------
Hilmar Lapp                            email: lapp at gnf.org
GNF, San Diego, Ca. 92121              phone: +1-858-812-1757
-------------------------------------------------------------



More information about the Bioperl-l mailing list