[BioRuby] [Wg-phyloinformatics] bioruby classes for phyloxml support
Diana Jaunzeikare
rozziite at gmail.com
Wed May 27 03:02:20 UTC 2009
On Tue, May 26, 2009 at 3:25 AM, Raoul JP Bonnal <bonnalraoul at ingm.it>wrote:
> Christian M Zmasek ha scritto:
>
>> I agree it is better to extend existing classes, as opposed to change them
>> drastically.
>> One thing to keep in mind, is that many attributes are composed of
>> multiple fields themselves, i.e. you would need to create a class for them
>> (if such a class not already exists).
>> The most important element besides sequence, is the taxonomy class.
>>
>> Since BioRuby does not contain a general purpose taxonomy class at this
>> point, it might be worth spending some time in designing such a class.
>>
>> I propose a taxonomy class with the following elements:
>> -scientific name (e.g. Nematostella vectensis)
>> -common name (e.g. starlet sea anemone)
>> -code (or mnemonic, as used by swiss-port) (e.g. NEMVE)
>> -rank (e.g. species)
>>
>> phyloxml also has a URI for taxonomies, but I am not sure if this is
>> important for a general taxonomy class.
>>
>> On the other hand, a general taxonomy class might also have
>> - authority (e.g. Stephenson, 1935)
>> - aliases []
>> (if these elements are considered important, they of course could be added
>> to the next version of phyloxml)
>>
>> What do people think about this?
>>
> How other langs represent that class ? I think that having the chance to
> define a new class there is the opportunity to define a similar api among
> bio-languages.
> Then, taxonomy class could be used by biosequences objects
> representing/grabbing data from biosql for example.
>
> http://code.open-bio.org/svnweb/index.cgi/biosql/checkout/biosql-schema/trunk/doc/biosql-ERD.pdf
>
> --
> Ra
>
>
I looked at BioPerl and this is what I could extract and understand from
documentation (I have almost no experience with Perl)
Bio::Taxonomy:Node
* rank (species, genus, order etc)
* id (NCBI taxonomy id in most cases)
* parent_id (NCBI taxonomy id in most cases)
* genetic_code
* mitochondrial_genetic_code
* create_date (Date this node was created (in the database))
* update_date (Get/Set Date this node was updated (in the database))
* pub_date (Get/Set Date this node was published (in the database))
* scientific_name
* common_names []
I don't think the create_date, update_date and pub_date are necessary for
our purposes, since it is database specific information, and if you need it,
then you can go to database and get it.
I didn't found a taxonomy/taxon class in BioPython.
Here is BioJava. Its taxon class represents taxonomy information at NCBI
database. BioSQL has almost identical taxon class.
NCBITaxon Class
* acronym
* common name
* equivalent name
* genetic code
* hidden
* left value
* mitogeneticcode
* noderank
* parent
* rightvalue
* scientific name
* synonym
BioRuby has Bio::SQL::Taxon and Bio::SQL::TaxonName classes, but they are
empty.
More information about the BioRuby
mailing list