NAME

Bio::Phylo::Matrices::Characters - Container of character objects

SYNOPSIS

# No direct usage

DESCRIPTION

Objects of this type hold a list of Bio::Phylo::Matrices::Character objects, i.e. columns in a matrix. By default, a matrix will be initialized to hold one object of this type (which can be retrieved using $matrix->get_characters). Its main function is to facilitate NeXML serialization of matrix objects, though this may expand in the future.

METHODS

UTILITY METHODS

clone()

Clones invocant.

Type    : Utility method
Title   : clone
Usage   : my $clone = $object->clone;
Function: Creates a copy of the invocant object.
Returns : A copy of the invocant.
Args    : Optional: a hash of code references to 
          override reflection-based getter/setter copying

          my $clone = $object->clone(  
              'set_forest' => sub {
                  my ( $self, $clone ) = @_;
                  for my $forest ( @{ $self->get_forests } ) {
                      $clone->set_forest( $forest );
                  }
              },
              'set_matrix' => sub {
                  my ( $self, $clone ) = @_;
                  for my $matrix ( @{ $self->get_matrices } ) {
                      $clone->set_matrix( $matrix );
                  }
          );

Comments: Cloning is currently experimental, use with caution.
          It works on the assumption that the output of get_foo
          called on the invocant is to be provided as argument
          to set_foo on the clone - such as 
          $clone->set_name( $self->get_name ). Sometimes this 
          doesn't work, for example where this symmetry doesn't
          exist, or where the return value of get_foo isn't valid
          input for set_foo. If such a copy fails, a warning is 
          emitted. To make sure all relevant attributes are copied
          into the clone, additional code references can be 
          provided, as in the example above. Typically, this is
          done by overrides of this method in child classes.

SERIALIZERS

to_xml()

Serializes characters to nexml format.

Type    : Format convertor
Title   : to_xml
Usage   : my $xml = $characters->to_xml;
Function: Converts characters object into a nexml element structure.
Returns : Nexml block (SCALAR).
Args    : NONE

SEE ALSO

There is a mailing list at https://groups.google.com/forum/#!forum/bio-phylo for any user or developer questions and discussions.

Bio::Phylo::Matrices::TypeSafeData

This object inherits from Bio::Phylo::Matrices::TypeSafeData, so the methods defined therein are also applicable to characters objects objects.

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