NAME

Bio::Phylo::Matrices::TypeSafeData - Superclass for objects that contain character data

SYNOPSIS

# No direct usage

DESCRIPTION

This is a superclass for objects holding character data. Objects that inherit from this class (typically matrices and datum objects) yield functionality to handle datatype objects and use them to validate data such as DNA sequences, continuous data etc.

METHODS

CONSTRUCTOR

new()

TypeSafeData constructor.

Type    : Constructor
Title   : new
Usage   : No direct usage, is called by child class;
Function: Instantiates a Bio::Phylo::Matrices::TypeSafeData
Returns : a Bio::Phylo::Matrices::TypeSafeData child class
Args    : -type        => (data type - required)
          Optional:
          -missing     => (the symbol for missing data)
          -gap         => (the symbol for gaps)
          -lookup      => (a character state lookup hash)
          -type_object => (a datatype object)

MUTATORS

set_type()

Set data type.

Type    : Mutator
Title   : set_type
Usage   : $obj->set_type($type);
Function: Sets the object's datatype.
Returns : Modified object.
Args    : Argument must be a string, one of
          continuous, custom, dna, mixed,
          protein, restriction, rna, standard
set_missing()

Set missing data symbol.

Type    : Mutator
Title   : set_missing
Usage   : $obj->set_missing('?');
Function: Sets the symbol for missing data
Returns : Modified object.
Args    : Argument must be a single
          character, default is '?'
set_gap()

Set gap data symbol.

Type    : Mutator
Title   : set_gap
Usage   : $obj->set_gap('-');
Function: Sets the symbol for gaps
Returns : Modified object.
Args    : Argument must be a single
          character, default is '-'
set_lookup()

Set ambiguity lookup table.

Type    : Mutator
Title   : set_lookup
Usage   : $obj->set_gap($hashref);
Function: Sets the symbol for gaps
Returns : Modified object.
Args    : Argument must be a hash
          reference that maps allowed
          single character symbols
          (including ambiguity symbols)
          onto the equivalent set of
          non-ambiguous symbols
set_type_object()

Set data type object.

Type    : Mutator
Title   : set_type_object
Usage   : $obj->set_gap($obj);
Function: Sets the datatype object
Returns : Modified object.
Args    : Argument must be a subclass
          of Bio::Phylo::Matrices::Datatype

ACCESSORS

get_type()

Get data type.

Type    : Accessor
Title   : get_type
Usage   : my $type = $obj->get_type;
Function: Returns the object's datatype
Returns : A string
Args    : None
get_missing()

Get missing data symbol.

Type    : Accessor
Title   : get_missing
Usage   : my $missing = $obj->get_missing;
Function: Returns the object's missing data symbol
Returns : A string
Args    : None
get_gap()

Get gap symbol.

Type    : Accessor
Title   : get_gap
Usage   : my $gap = $obj->get_gap;
Function: Returns the object's gap symbol
Returns : A string
Args    : None
get_lookup()

Get ambiguity lookup table.

Type    : Accessor
Title   : get_lookup
Usage   : my $lookup = $obj->get_lookup;
Function: Returns the object's lookup hash
Returns : A hash reference
Args    : None
get_type_object()

Get data type object.

Type    : Accessor
Title   : get_type_object
Usage   : my $obj = $obj->get_type_object;
Function: Returns the object's linked datatype object
Returns : A subclass of Bio::Phylo::Matrices::Datatype
Args    : None

INTERFACE METHODS

validate()

Validates the object's contents

Type    : Interface method
Title   : validate
Usage   : $obj->validate
Function: Validates the object's contents
Returns : True or throws Bio::Phylo::Util::Exceptions::InvalidData
Args    : None
Comments: This is an abstract method, i.e. this class doesn't
          implement the method, child classes have to

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::Listable

This object inherits from Bio::Phylo::Listable, so the methods defined therein are also applicable to Bio::Phylo::Matrices::TypeSafeData 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