Bio::Phenotype
Phenotype
Toolbar
Summary
Phenotype - A class for modeling phenotypes
Package variables
No package variables defined.
Included modules
Inherit
Synopsis
#get Bio::Phenotype::PhenotypeI somehow
print $phenotype->name(), "\n";
print $phenotype->description(), "\n";
my @keywords = ( "achondroplasia", "dwarfism" );
$phenotype->add_keywords( @keywords );
foreach my $keyword ( $phenotype->each_keyword() ) {
print $keyword, "\n";
}
$phenotype->remove_keywords();
foreach my $gene_symbol ( $phenotype->each_gene_symbol() ) {
print $gene_symbol, "\n";
}
foreach my $corr ( $phenotype->each_Correlate() ) {
# Do something with $corr
}
foreach my $var ( $phenotype->each_Variant() ) {
# Do something with $var (mutation)
}
foreach my $measure ( $phenotype->each_Measure() ) {
# Do something with $measure
}
Description
This superclass implements common methods for classes modelling phenotypes.
Bio::Phenotype::OMIM::OMIMentry is an example of an instantiable phenotype
class (the design of this interface was partially guided by the need
to model OMIM entries).
Please note. This class provides methods to associate mutations
(methods "each_Variant", ...) and genotypes (methods "each_Genotype", ...)
with phenotypes. Yet, these aspects might need some future enhancements,
especially since there is no "genotype" class yet.
Methods
Methods description
Title : _check_ref_type Usage : $self->_check_ref_type( $value, "Bio::Annotation::DBLink" ); Function: Checks for the correct type. Returns : Args : The value to be checked, the expected class. |
Title : add_Correlates Usage : $obj->add_Correlates( @corrs ); or $obj->add_Correlates( $corr ); Function: Pushes one or more Bio::Phenotype::Correlate objects into the list of Correlates. Returns : Args : Bio::Phenotype::Correlate object(s). |
Title : add_CytoPositions Usage : $obj->add_CytoPositions( @cps ); or $obj->add_CytoPositions( $cp ); Function: Pushes one or more Bio::Map::CytoPosition objects into the list of CytoPositions. Returns : Args : Bio::Map::CytoPosition object(s). |
Title : add_Genotypes Usage : $obj->add_Genotypes( @gts ); or $obj->add_Genotypes( $gt ); Function: Pushes one or more "Genotypes" into the list of "Genotypes". Returns : Args : "Genotypes(s)". |
Title : add_Measures Usage : $obj->add_Measures( @ms ); or $obj->add_Measures( $m ); Function: Pushes one or more Bio::Phenotype::Measure objects into the list of Measures. Returns : Args : Bio::Phenotype::Measure object(s). |
Title : add_References Usage : $obj->add_References( @refs ); or $obj->add_References( $ref ); Function: Pushes one or more Bio::Annotation::Reference objects into the list of References. Returns : Args : Bio::Annotation::Reference object(s). |
Usage : $obj->add_Variants( @vs ); or $obj->add_Variants( $v ); Function: Pushes one or more Bio::Variation::VariantI implementing objects into the list of Variants. Returns : Args : Bio::Variation::VariantI implementing object(s). |
Title : add_gene_symbols Usage : $obj->add_gene_symbols( @gs ); or $obj->add_gene_symbols( $gs ); Function: Pushes one or more gene symbols [scalars, most likely Strings] into the list of gene symbols. Returns : Args : scalar(s). |
Title : add_keywords Usage : $obj->add_keywords( @kws ); or $obj->add_keywords( $kw ); Function: Pushes one or more keywords [scalars, most likely Strings] into the list of key words. Returns : Args : scalar(s). |
Title : comment Usage : $obj->comment( "putative" ); or print $obj->comment(); Function: Set/get for a comment about this phenotype. Returns : A comment [scalar]. Args : A comment [scalar] (optional). |
Title : description Usage : $obj->description( "This is ..." ); or print $obj->description(); Function: Set/get for the description of this phenotype. Returns : A description [scalar]. Args : A description [scalar] (optional). |
Title : each_Correlate() Usage : @corrs = $obj->each_Correlate(); Function: Returns a list of Bio::Phenotype::Correlate objects associated with this phenotype. (Correlates are correlating phenotypes in different species; inspired by mouse correlates of human phenotypes in the OMIM database.) Returns : A list of Bio::Phenotype::Correlate objects. Args : |
Title : each_CytoPosition() Usage : @cps = $obj->each_CytoPosition(); Function: Returns a list of Bio::Map::CytoPosition objects associated with this phenotype. Returns : A list of Bio::Map::CytoPosition objects. Args : |
Title : each_DBLink() Usage : @dbls = $obj->each_DBLink(); Function: Returns a list of Bio::Annotation::DBLink objects associated with this phenotype. Returns : A list of Bio::Annotation::DBLink objects. Args : |
Title : each_Reference() Usage : @gts = $obj->each_Reference(); Function: Returns a list of "Genotype" objects associated with this phenotype. {* the "genotypes" data member and its methods certainly will/needs to be changed/improved in one way or another since there is no "Genotype" class yet, CZ 09/06/02 *} Returns : A list of "Genotype" objects. Args : |
Title : each_Measure() Usage : @ms = $obj->each_Measure(); Function: Returns a list of Bio::Phenotype::Measure objects associated with this phenotype. (Measure is for biochemically defined phenotypes or any other types of measures.) Returns : A list of Bio::Phenotype::Measure objects. Args : |
Title : each_Reference() Usage : @refs = $obj->each_Reference(); Function: Returns a list of Bio::Annotation::Reference objects associated with this phenotype. Returns : A list of Bio::Annotation::Reference objects. Args : |
Title : each_Variant() Usage : @vs = $obj->each_Variant(); Function: Returns a list of Bio::Variation::VariantI implementing objects associated with this phenotype. This is for representing the actual mutation(s) causing this phenotype. {* The "variants" data member and its methods will/might need to be changed/improved in one way or another, CZ 09/06/02 *} Returns : A list of Bio::Variation::VariantI implementing objects. Args : |
Title : each_gene_symbol() Usage : @gs = $obj->each_gene_symbol(); Function: Returns a list of gene symbols [scalars, most likely Strings] associated with this phenotype. Returns : A list of scalars. Args : |
Title : each_keyword() Usage : @kws = $obj->each_keyword(); Function: Returns a list of key words [scalars, most likely Strings] associated with this phenotype. Returns : A list of scalars. Args : |
Title : init() Usage : $obj->init(); Function: Initializes this OMIMentry to all "" and empty lists. Returns : Args : |
Title : name Usage : $obj->name( "r1" ); or print $obj->name(); Function: Set/get for the name or id of this phenotype. Returns : A name or id [scalar]. Args : A name or id [scalar] (optional). |
Title : new Usage : $obj = Bio::Phenotype::Phenotype->new( -name => "XY", -description => "This is ..." ); Function: Creates a new Phenotype object. Returns : A new Phenotype object. Args : -name => the name -description => the description of this phenotype -species => ref to the the species -comment => a comment |
Title : remove_Correlates Usage : $obj->remove_Correlates(); Function: Deletes (and returns) the list of Bio::Phenotype::Correlate objects associated with this phenotype. Returns : A list of Bio::Phenotype::Correlate objects. Args : |
Title : remove_CytoPositions Usage : $obj->remove_CytoPositions(); Function: Deletes (and returns) the list o fBio::Map::CytoPosition objects associated with this phenotype. Returns : A list of Bio::Map::CytoPosition objects. Args : |
Title : remove_DBLinks Usage : $obj->remove_DBLinks(); Function: Deletes (and returns) the list of Bio::Annotation::DBLink objects associated with this phenotype. Returns : A list of Bio::Annotation::DBLink objects. Args : |
Title : remove_Genotypes Usage : $obj->remove_Genotypes(); Function: Deletes (and returns) the list of "Genotype" objects associated with this phenotype. Returns : A list of "Genotype" objects. Args : |
Title : remove_Measures Usage : $obj->remove_Measures(); Function: Deletes (and returns) the list of Bio::Phenotype::Measure objects associated with this phenotype. Returns : A list of Bio::Phenotype::Measure objects. Args : |
Title : remove_References() Usage : $obj->remove_References(); Function: Deletes (and returns) the list of Bio::Annotation::Reference objects associated with this phenotype. Returns : A list of Bio::Annotation::Reference objects. Args : |
Title : remove_Variants Usage : $obj->remove_Variants(); Function: Deletes (and returns) the list of Bio::Variation::VariantI implementing objects associated with this phenotype. Returns : A list of Bio::Variation::VariantI implementing objects. Args : |
Usage : $obj->remove_gene_symbols(); Function: Deletes (and returns) the list of gene symbols [scalars, most likely Strings] associated with this phenotype. Returns : A list of scalars. Args : |
Title : remove_keywords Usage : $obj->remove_keywords(); Function: Deletes (and returns) the list of key words [scalars, most likely Strings] associated with this phenotype. Returns : A list of scalars. Args : |
Title : species Usage : $obj->species( $species ); or $species = $obj->species(); Function: Set/get for the species of this phenotype. Returns : A species [Bio::Species]. Args : A species [Bio::Species] (optional). |
Methods code
sub _check_ref_type
{ my ( $self, $value, $expected_class ) = @_;
if ( ! defined( $value ) ) {
$self->throw( ( caller( 1 ) )[ 3 ] .": Found [undef"
."] where [$expected_class] expected" );
}
elsif ( ! ref( $value ) ) {
$self->throw( ( caller( 1 ) )[ 3 ] .": Found scalar"
." where [$expected_class] expected" );
}
elsif ( ! $value->isa( $expected_class ) ) {
$self->throw( ( caller( 1 ) )[ 3 ] .": Found [". ref( $value )
."] where [$expected_class] expected" );
}
}
1; } |
sub add_Correlates
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Phenotype::Correlate" );
}
push( @{ $self->{ "_correlates" } }, @values );
}
} |
sub add_CytoPositions
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Map::CytoPosition" );
}
push( @{ $self->{ "_cyto_positions" } }, @values );
}
} |
sub add_DBLinks
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Annotation::DBLink" );
}
push( @{ $self->{ "_db_links" } }, @values );
}
} |
sub add_Genotypes
{ my ( $self, @values ) = @_;
return unless( @values );
push( @{ $self->{ "_genotypes" } }, @values );
}
} |
sub add_Measures
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Phenotype::Measure" );
}
push( @{ $self->{ "_measures" } }, @values );
}
} |
sub add_References
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Annotation::Reference" );
}
push( @{ $self->{ "_references" } }, @values );
}
} |
sub add_Variants
{ my ( $self, @values ) = @_;
return unless( @values );
foreach my $value ( @values ) {
$self->_check_ref_type( $value, "Bio::Variation::VariantI" );
}
push( @{ $self->{ "_variants" } }, @values );
}
} |
sub add_gene_symbols
{ my ( $self, @values ) = @_;
return unless( @values );
push( @{ $self->{ "_gene_symbols" } }, @values );
}
} |
sub add_keywords
{ my ( $self, @values ) = @_;
return unless( @values );
push( @{ $self->{ "_keywords" } }, @values );
}
} |
sub comment
{ my ( $self, $value ) = @_;
if ( defined $value ) {
$self->{ "_comment" } = $value;
}
return $self->{ "_comment" };
}
} |
sub description
{ my ( $self, $value ) = @_;
if ( defined $value ) {
$self->{ "_description" } = $value;
}
return $self->{ "_description" };
}
} |
sub each_Correlate
{ my ( $self ) = @_;
if ( $self->{ "_correlates" } ) {
return @{ $self->{ "_correlates" } };
}
else {
return my @a = ();
}
}
} |
sub each_CytoPosition
{ my ( $self ) = @_;
if ( $self->{ "_cyto_positions" } ) {
return @{ $self->{ "_cyto_positions" } };
}
else {
return my @a = ();
}
}
} |
sub each_DBLink
{ my ( $self ) = @_;
if ( $self->{ "_db_links" } ) {
return @{ $self->{ "_db_links" } };
}
else {
return my @a = ();
} } |
sub each_Genotype
{ my ( $self ) = @_;
if ( $self->{ "_genotypes" } ) {
return @{ $self->{ "_genotypes" } };
}
else {
return my @a = ();
}
}
} |
sub each_Measure
{ my ( $self ) = @_;
if ( $self->{ "_measures" } ) {
return @{ $self->{ "_measures" } };
}
else {
return my @a = ();
}
}
} |
sub each_Reference
{ my ( $self ) = @_;
if ( $self->{ "_references" } ) {
return @{ $self->{ "_references" } };
}
else {
return my @a = ();
}
}
} |
sub each_Variant
{ my ( $self ) = @_;
if ( $self->{ "_variants" } ) {
return @{ $self->{ "_variants" } };
}
else {
return my @a = ();
}
}
} |
sub each_gene_symbol
{ my ( $self ) = @_;
if ( $self->{ "_gene_symbols" } ) {
return @{ $self->{ "_gene_symbols" } };
}
else {
return my @a = ();
}
}
} |
sub each_keyword
{ my ( $self ) = @_;
if ( $self->{ "_keywords" } ) {
return @{ $self->{ "_keywords" } };
}
else {
return my @a = ();
}
}
} |
sub init
{
my( $self ) = @_;
$self->name( "" );
$self->description( "" );
my $species = Bio::Species->new();
$species->classification( qw( sapiens Homo ) );
$self->species( $species );
$self->comment( "" );
$self->remove_Correlates();
$self->remove_References();
$self->remove_CytoPositions();
$self->remove_gene_symbols();
$self->remove_Genotypes();
$self->remove_DBLinks();
$self->remove_keywords();
$self->remove_Variants();
$self->remove_Measures();
}
} |
sub name
{ my ( $self, $value ) = @_;
if ( defined $value ) {
$self->{ "_name" } = $value;
}
return $self->{ "_name" };
}
} |
sub new
{
my( $class,@args ) = @_;
my $self = $class->SUPER::new( @args );
my ( $name,
$description,
$species,
$comment )
= $self->_rearrange( [ qw( NAME
DESCRIPTION
SPECIES
COMMENT ) ], @args );
$self->init();
$name && $self->name( $name );
$description && $self->description( $description );
$species && $self->species( $species );
$comment && $self->comment( $comment );
return $self;
}
} |
sub remove_Correlates
{ my ( $self ) = @_;
my @a = $self->each_Correlate();
$self->{ "_correlates" } = [];
return @a;
}
} |
sub remove_CytoPositions
{ my ( $self ) = @_;
my @a = $self->each_CytoPosition();
$self->{ "_cyto_positions" } = [];
return @a;
}
} |
sub remove_DBLinks
{ my ( $self ) = @_;
my @a = $self->each_DBLink();
$self->{ "_db_links" } = [];
return @a;
}
} |
sub remove_Genotypes
{ my ( $self ) = @_;
my @a = $self->each_Genotype();
$self->{ "_genotypes" } = [];
return @a;
}
} |
sub remove_Measures
{ my ( $self ) = @_;
my @a = $self->each_Measure();
$self->{ "_measures" } = [];
return @a;
}
} |
sub remove_References
{ my ( $self ) = @_;
my @a = $self->each_Reference();
$self->{ "_references" } = [];
return @a;
}
} |
sub remove_Variants
{ my ( $self ) = @_;
my @a = $self->each_Variant();
$self->{ "_variants" } = [];
return @a;
}
} |
sub remove_gene_symbols
{ my ( $self ) = @_;
my @a = $self->each_gene_symbol();
$self->{ "_gene_symbols" } = [];
return @a;
}
} |
sub remove_keywords
{ my ( $self ) = @_;
my @a = $self->each_keyword();
$self->{ "_keywords" } = [];
return @a;
}
} |
sub species
{ my ( $self, $value ) = @_;
if ( defined $value ) {
$self->_check_ref_type( $value, "Bio::Species" );
$self->{ "_species" } = $value;
}
return $self->{ "_species" };
}
} |
General documentation
User feedback is an integral part of the evolution of this and other
Bioperl modules. Send your comments and suggestions preferably to the
Bioperl mailing lists Your participation is much appreciated.
bioperl-l@bioperl.org - General discussion
http://bio.perl.org/MailList.html - About the mailing lists
report bugs to the Bioperl bug tracking system to help us keep track
the bugs and their resolution. Bug reports can be submitted via
email or the web:
bioperl-bugs@bio.perl.org
http://bugzilla.bioperl.org/
The rest of the documentation details each of the object
methods. Internal methods are usually preceded with a _
Title : add_DBLink
Usage : $obj->add_DBLinks( @dbls );
or
$obj->add_DBLinks( $dbl );
Function: Pushes one or more Bio::Annotation::DBLink objects
into the list of DBLinks.
Returns :
Args : Bio::Annotation::DBLink object(s).