NAME
Bio::Phylo::Taxa - An object-oriented module for managing taxa.
SYNOPSIS
use Bio::Phylo::Taxa;
use Bio::Phylo::Taxa::Taxon;
# A mesquite-style default
# taxa block for 10 taxa.
my $taxa = Bio::Phylo::Taxa->new;
for my $i ( 1 .. 10 ) {
my $taxon = Bio::Phylo::Taxa::Taxon->new(
'-name' => 'taxon_' . $i,
);
$taxa->insert( $taxon );
}
DESCRIPTION
The Bio::Phylo::Taxa object models a set of operational taxonomic units. The object subclasses the Bio::Phylo::Listable object, and so the filtering methods of that class are available.
A taxa object can link to multiple forest and matrix objects.
METHODS
CONSTRUCTOR
- new()
-
Type : Constructor Title : new Usage : my $taxa = Bio::Phylo::Taxa->new; Function: Instantiates a Bio::Phylo::Taxa object. Returns : A Bio::Phylo::Taxa object. Args : none.
MUTATORS
- set_forest()
-
Type : Mutator Title : set_forest Usage : $taxa->set_forest( $forest ); Function: Associates forest with the invocant taxa object (i.e. creates reference). Returns : Modified object. Args : A Bio::Phylo::Forest object Comments: A taxa object can link to multiple forest and matrix objects.
- set_matrix()
-
Type : Mutator Title : set_matrix Usage : $taxa->set_matrix($matrix); Function: Associates matrix with the invocant taxa object (i.e. creates reference). Returns : Modified object. Args : A Bio::Phylo::Matrices::Matrix object Comments: A taxa object can link to multiple forest and matrix objects.
- unset_forest()
-
Type : Mutator Title : unset_forest Usage : $taxa->unset_forest($forest); Function: Disassociates forest from the invocant taxa object (i.e. removes reference). Returns : Modified object. Args : A Bio::Phylo::Forest object
- unset_matrix()
-
Type : Mutator Title : unset_matrix Usage : $taxa->unset_matrix($matrix); Function: Disassociates matrix from the invocant taxa object (i.e. removes reference). Returns : Modified object. Args : A Bio::Phylo::Matrices::Matrix object
- set_ntax()
-
Type : Mutator Title : set_ntax Usage : $taxa->set_ntax(10); Function: Assigns the intended number of taxa for the invocant. Returns : Modified object. Args : Optional: An integer. If no value is given, ntax is reset to the undefined default. Comments: This value is only necessary for the $taxa->validate method. If you don't need to call that, this value is better left unset.
ACCESSORS
- get_forests()
-
Type : Accessor Title : get_forests Usage : @forests = @{ $taxa->get_forests }; Function: Retrieves forests associated with the current taxa object. Returns : An ARRAY reference of Bio::Phylo::Forest objects. Args : None.
- get_matrices()
-
Type : Accessor Title : get_matrices Usage : @matrices = @{ $taxa->get_matrices }; Function: Retrieves matrices associated with the current taxa object. Returns : An ARRAY reference of Bio::Phylo::Matrices::Matrix objects. Args : None.
- get_ntax()
-
Type : Accessor Title : get_ntax Usage : my $ntax = $taxa->get_ntax; Function: Retrieves the intended number of taxa for the invocant. Returns : An integer, or undefined. Args : None. Comments: The return value is whatever was set by the 'set_ntax' method call. 'get_ntax' is used by the 'validate' method to check if the computed number of taxa matches with what is asserted here. In other words, calling $taxa->get_ntax doesn't return the *actual* number of taxa in the matrix, but the number it is intended to contain.
METHODS
- merge_by_name()
-
Type : Method Title : merge_by_name Usage : $taxa->merge_by_name($other_taxa); Function: Merges two taxa objects such that internally different taxon objects with the same name become a single object with the combined references to datum objects and node objects contained by the two. Returns : A merged Bio::Phylo::Taxa object. Args : A Bio::Phylo::Taxa object.
- validate()
-
Type : Method Title : validate Usage : $taxa->validate; Function: Compares computed ntax asserted. Reacts violently if something doesn't match. Returns : Void. Args : None Comments: 'set_ntax' needs to be assigned for this to work.
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::Listable
-
The Bio::Phylo::Taxa object inherits from the Bio::Phylo::Listable object. Look there for more methods applicable to the taxa 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: Taxa.pm,v 1.26 2006/04/12 22:38:22 rvosa Exp $
AUTHOR
Rutger 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 Vos, All Rights Reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.