NAME
Bio::Phylo::Taxa::Taxon - The operational taxonomic unit.
SYNOPSIS
use Bio::Phylo::IO qw(parse);
use Bio::Phylo::Taxa;
use Bio::Phylo::Taxa::Taxon;
# array of names
my @apes = qw(
Homo_sapiens
Pan_paniscus
Pan_troglodytes
Gorilla_gorilla
);
# newick string
my $str = '(((Pan_paniscus,Pan_troglodytes),';
$str .= 'Homo_sapiens),Gorilla_gorilla);';
# create tree object
my $tree = parse(
-format => 'newick',
-string => $str
)->first;
# instantiate taxa object
my $taxa = Bio::Phylo::Taxa->new;
# instantiate taxon objects, insert in taxa object
foreach( @apes ) {
my $taxon = Bio::Phylo::Taxa::Taxon->new(
-name => $_,
);
$taxa->insert($taxon);
}
# crossreference tree and taxa
$tree->crossreference($taxa);
# iterate over nodes
while ( my $node = $tree->next ) {
# check references
if ( $node->get_taxon ) {
# prints crossreferenced tips
print "match: ", $node->get_name, "\n";
}
}
DESCRIPTION
The taxon object models a single operational taxonomic unit. It is useful for cross-referencing datum objects and tree nodes.
METHODS
CONSTRUCTOR
- new()
-
Type : Constructor Title : new Usage : my $taxon = Bio::Phylo::Taxa::Taxon->new; Function: Instantiates a Bio::Phylo::Taxa::Taxon object. Returns : A Bio::Phylo::Taxa::Taxon object. Args : none.
MUTATORS
- set_data()
-
Type : Mutator Title : set_data Usage : $taxon->set_data( $datum ); Function: Associates data with the current taxon. Returns : Modified object. Args : Must be an object of type Bio::Phylo::Matrices::Datum
- set_nodes()
-
Type : Mutator Title : set_nodes Usage : $taxon->set_nodes($node); Function: Associates tree nodes with the current taxon. Returns : Modified object. Args : A Bio::Phylo::Forest::Node object
- unset_datum()
-
Type : Mutator Title : unset_datum Usage : $taxon->unset_datum($node); Function: Disassociates datum from the invocant taxon (i.e. removes reference). Returns : Modified object. Args : A Bio::Phylo::Matrix::Datum object
- unset_node()
-
Type : Mutator Title : unset_node Usage : $taxon->unset_node($node); Function: Disassociates tree node from the invocant taxon (i.e. removes reference). Returns : Modified object. Args : A Bio::Phylo::Forest::Node object
ACCESSORS
- get_data()
-
Type : Accessor Title : get_data Usage : @data = @{ $taxon->get_data }; Function: Retrieves data associated with the current taxon. Returns : An ARRAY reference of Bio::Phylo::Matrices::Datum objects. Args : None.
- get_nodes()
-
Type : Accessor Title : get_nodes Usage : @nodes = @{ $taxon->get_nodes }; Function: Retrieves tree nodes associated with the current taxon. Returns : An ARRAY reference of Bio::Phylo::Trees::Node objects Args : None.
DESTRUCTOR
- DESTROY()
-
Type : Destructor Title : DESTROY Usage : $phylo->DESTROY Function: Destroys Phylo object Alias : Returns : TRUE Args : none Comments: You don't really need this, it is called automatically when the object goes out of scope.
SEE ALSO
- Bio::Phylo
-
The taxon objects inherits from the Bio::Phylo object. The methods defined there are also applicable to the taxon object.
- Bio::Phylo::Manual
-
Also see the manual: Bio::Phylo::Manual.
FORUM
CPAN hosts a discussion forum for Bio::Phylo. If you have trouble using this module the discussion forum is a good place to start posting questions (NOT bug reports, see below): http://www.cpanforum.com/dist/Bio-Phylo
BUGS
Please report any bugs or feature requests to bug-bio-phylo@rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Bio-Phylo. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. Be sure to include the following in your request or comment, so that I know what version you're using:
$Id: Taxon.pm 4175 2007-07-11 02:13:51Z rvosa $
AUTHOR
Rutger A. Vos,
- email:
rvosa@sfu.ca
- web page: http://www.sfu.ca/~rvosa/
ACKNOWLEDGEMENTS
The author would like to thank Jason Stajich for many ideas borrowed from BioPerl http://www.bioperl.org, and CIPRES http://www.phylo.org and FAB* http://www.sfu.ca/~fabstar for comments and requests.
COPYRIGHT & LICENSE
Copyright 2005 Rutger A. Vos, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.