| Bio-Phylo documentation | view source | Contained in the Bio-Phylo distribution. |
Bio::Phylo::Matrices::Datatype - Validator of character state data
# No direct usage
This is a superclass for objects that validate character data. Objects that inherit from this class (typically those in the Bio::Phylo::Matrices::Datatype::* namespace) can check strings and arrays of character data for invalid symbols, and split and join strings and arrays in a way appropriate for the type (on whitespace for continuous data, on single characters for categorical data). Bio::Phylo::Matrices::Matrix objects and Bio::Phylo::Matrices::Datum internally delegate validation of their contents to these datatype objects; there is no normal usage in which you'd have to deal with datatype objects directly.
Datatype constructor.
Type : Constructor
Title : new
Usage : No direct usage, is called by TypeSafeData classes;
Function: Instantiates a Datatype object
Returns : a Bio::Phylo::Matrices::Datatype child class
Args : $type (optional, one of continuous, custom, dna,
mixed, protein, restriction, rna, standard)
Sets state lookup table.
Type : Mutator
Title : set_lookup
Usage : $obj->set_lookup($hashref);
Function: Sets the state lookup table.
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
Sets 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 '?'
Sets gap 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 '-'
Adds a metadata annotation for a state symbol
Type : Mutator Title : add_meta_for_state Usage : $obj->add_meta_for_state($meta,$state); Function: Adds a metadata annotation for a state symbol Returns : Modified object. Args : A Bio::Phylo::NeXML::Meta object and a state symbol
Removes a metadata annotation for a state symbol
Type : Mutator Title : remove_meta_for_state Usage : $obj->remove_meta_for_state($meta,$state); Function: Removes a metadata annotation for a state symbol Returns : Modified object. Args : A Bio::Phylo::NeXML::Meta object and a state symbol
Gets data type as string.
Type : Accessor Title : get_type Usage : my $type = $obj->get_type; Function: Returns the object's datatype Returns : A string Args : None
Gets state-to-id mapping for missing and gap symbols
Type : Accessor
Title : get_ids_for_special_symbols
Usage : my %ids = %{ $obj->get_ids_for_special_symbols };
Function: Returns state-to-id mapping
Returns : A hash reference, keyed on symbol, with UID values
Args : Optional, a boolean:
true => prefix state ids with 's'
false => keep ids numerical
Gets state-to-id mapping
Type : Accessor
Title : get_ids_for_states
Usage : my %ids = %{ $obj->get_ids_for_states };
Function: Returns state-to-id mapping
Returns : A hash reference, keyed on symbol, with UID values
Args : Optional, a boolean:
true => prefix state ids with 's'
false => keep ids numerical
Note : This returns a mapping to alphanumeric states; special
symbols (for missing data and gaps) are handled separately
Gets ambiguity symbol for a set of states
Type : Accessor
Title : get_symbol_for_states
Usage : my $state = $obj->get_symbol_for_states('A','C');
Function: Returns the ambiguity symbol for a set of states
Returns : A symbol (SCALAR)
Args : A set of symbols
Comments: If no symbol exists in the lookup
table for the given set of states,
a new - numerical - one is created
Gets state 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
Gets 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
Gets 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
Gets metadata annotations (if any) for the provided state symbol
Type : Accessor
Title : get_meta_for_state
Usage : my $meta = @{ $obj->get_meta_for_state };
Function: Gets metadata annotations for a state symbol
Returns : An array reference of Bio::Phylo::NeXML::Meta objects
Args : A state symbol
Validates argument.
Type : Test
Title : is_valid
Usage : if ( $obj->is_valid($datum) ) {
# do something
}
Function: Returns true if $datum only contains valid characters
Returns : BOOLEAN
Args : A Bio::Phylo::Matrices::Datum object
Compares data type objects.
Type : Test
Title : is_same
Usage : if ( $obj->is_same($obj1) ) {
# do something
}
Function: Returns true if $obj1 contains the same validation rules
Returns : BOOLEAN
Args : A Bio::Phylo::Matrices::Datatype::* object
Splits argument string of characters following appropriate rules.
Type : Utility method Title : split Usage : $obj->split($string) Function: Splits $string into characters Returns : An array reference of characters Args : A string
Joins argument array ref of characters following appropriate rules.
Type : Utility method Title : join Usage : $obj->join($arrayref) Function: Joins $arrayref into a string Returns : A string Args : An array reference
Writes data type definitions to xml
Type : Serializer Title : to_xml Usage : my $xml = $obj->to_xml Function: Writes data type definitions to xml Returns : An xml string representation of data type definition Args : None
Analog to to_xml.
Type : Serializer
Title : to_dom
Usage : $type->to_dom
Function: Generates a DOM subtree from the invocant
and its contained objects
Returns : an <XML Package>::Element object
Args : none
This object inherits from Bio::Phylo, so the methods defined therein are also applicable to Bio::Phylo::Matrices::Datatype objects.
Also see the manual: Bio::Phylo::Manual and http://rutgervos.blogspot.com.
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
$Id: Datatype.pm 1660 2011-04-02 18:29:40Z rvos $
| Bio-Phylo documentation | view source | Contained in the Bio-Phylo distribution. |