Re: Issue with SimpleNCBITaxon class

Deepak Sheoran <[email protected]>
Newsgroups gmane.comp.java.bio.general
Message-ID <[email protected]>
What my experience says on this issue we should make use of taxon_id 
because its a unique key in a local instance of biosql.
ncbi_taxon_id should only be used for mapping purpose only so that a 
person can map his local taxon_id to a ncbi_taxon_id otherwise it defeat 
the sole purpose of having taxon_id as primary key in taxon table. The 
main goal which I think when biosql is designed is to make it 
independent of any other organization like genbank or NCBI but its a 
feature so that we can map a number(ncbi_taxon_id) given by a know 
authority to a local number (taxon_id).

Deepak Sheoran

On 4/15/2010 12:54 PM, Peter wrote:
> Hi,
>
> I've CC'd this to the BioSQL mailing list for cross project
> discussion.
>
> On Mon, Apr 12, 2010 at 7:57 AM, Richard Holland  wrote:
>    
>> Thanks Deepak.
>>
>> I've had a look at the code and I believe its due to the
>> different ways in which BioJava and BioPerl load the
>> taxon table.
>>
>> BioJava sets the ncbi_taxon_id and parent_taxon_id
>> columns based on the values from the NCBI taxonomy
>> file. The taxon_id column in BioJava is a meaningless
>> auto-generated value that is never used.
>>
>> BioPerl however is generating taxon_id values and
>> linking them by setting parent_taxon_id to the
>> generated value. The parent value from the NCBI
>> taxonomy file is therefore replaced with the BioPerl
>> generated parent ID, meaning that instead of linking
>> from parent_taxon_id to ncbi_taxon_id as per BioJava,
>> the link is to taxon_id instead. (I'm basing this
>> comment on looking at load_ncbi_taxonomy.pl from
>> the BioSQL archives.)
>>      
> Note that old versions of load_ncbi_taxonomy.pl
> (which is part of BioSQL, not part of BioPerl) would
> set taxon_id equal to ncbi_taxon_id, see:
> http://bugzilla.open-bio.org/show_bug.cgi?id=2470
>
> This may help explain the confusion.
>
>    
>> I believe if you load the taxonomy table using BioJava,
>> you should see BioJava giving correct behaviour.
>> Likewise if you load it using BioPerl, BioPerl will
>> behave correctly. But if you load with one then query
>> with the other, you'll get incorrect results.
>>
>> This sounds like a case for discussion on both lists -
>> a matter of standardisation between the two projects.
>> Not quickly/easily solvable for now.
>>      
> Its not just two projects (BioPerl&  BioJava) (grin).
> Its at least five projects (BioSQL itself plus BioRuby
> and Biopython).
>
> I'm not sure about BioRuby's implementation, but
> currently I think BioJava is the odd one out - BioPerl,
> Biopython, and the BioSQL's load_ncbi_taxonomy.pl
> all make entries in parent_taxon_id reference the
> automatically generated taxon_id (please correct
> me if I am wrong).
>
> My personal view is that bioperl-db is the reference
> implementation and should be followed in the event
> of any ambiguity within BioSQL. In this particular
> case, there is actually a BioSQL script to check
> against too (load_ncbi_taxonomy.pl).
>
> Hopefully Hilmar can give us an official verdict...
>
> Peter
>    

_______________________________________________
Biojava-l mailing list  -  [email protected]
http://lists.open-bio.org/mailman/listinfo/biojava-l
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.