The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::Phylo::Taxa::Taxon - Operational taxonomic unit

SYNOPSIS

use Bio::Phylo::IO qw(parse);
use Bio::Phylo::Factory;
my $fac = Bio::Phylo::Factory->new;

# 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 = $fac->create_taxa;

# instantiate taxon objects, insert in taxa object
foreach( @apes ) {
   my $taxon = $fac->create_taxon(
       -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()

Taxon constructor.

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()

Associates argument data with invocant.

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()

Associates argument node with invocant.

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()

Removes association between argument data and invocant.

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()

Removes association between argument node and invocant.

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()

Retrieves associated datum objects.

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()

Retrieves associated node objects.

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.

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 and http://rutgervos.blogspot.com.

CITATION

If you use Bio::Phylo in published research, please cite it:

Rutger A Vos, Jason Caravas, Klaas Hartmann, Mark A Jensen and Chase Miller, 2011. Bio::Phylo - phyloinformatic analysis using Perl. BMC Bioinformatics 12:63. http://dx.doi.org/10.1186/1471-2105-12-63

REVISION

$Id: Taxon.pm 1660 2011-04-02 18:29:40Z rvos $