# $Id: Species.pm,v 1.3 2005/06/29 18:40:19 sshu Exp $ # # This GO module is maintained by Chris Mungall # # see also - http://www.geneontology.org # - http://www.godatabase.org/dev # # You may distribute this module under the same terms as perl itself package GO::Model::Species; =head1 NAME GO::Model::Species; =head1 DESCRIPTION represents a gene product in a particular species (this will effectively always be refered to implicitly by the gene symbol even though a gene may have >1 product) =cut use Carp; use Exporter; use GO::Utils qw(rearrange); use GO::Model::Root; use strict; use vars qw(@ISA); @ISA = qw(GO::Model::Root Exporter); sub _valid_params { return qw(id ncbi_taxa_id genus species common_name lineage_string apph); } sub from_bpspecies { my $class = shift; my $species = shift; my $division = shift; my $taxon = $class->new; $taxon->common_name($species->common_name); $taxon->genus($species->genus); $taxon->species($species->species); # $taxon->taxon_code($division) if $division; $taxon; } sub binomial { my $self = shift; return ($self->genus || "")." ".($self->species || ""); }