NAME
Bio::Phylo::Models::Substitution::Dna - DNA substitution model
SYNOPSIS
use Bio::Phylo::Models::Substitution::Dna;
# create a DNA substitution model from scratch
my $model = Bio::Phylo::Models::Substitution::Dna->new(
'-type' => 'GTR',
'-pi' => [ 0.23, 0.27, 0.24, 0.26 ],
'-kappa' => 2,
'-alpha' => 0.9,
'-pinvar' => 0.5,
'-ncat' => 6,
'-median' => 1,
'-rate' => [
[ 0.23, 0.23, 0.23, 0.23 ],
[ 0.23, 0.26, 0.26, 0.26 ],
[ 0.27, 0.26, 0.26, 0.26 ],
[ 0.24, 0.26, 0.26, 0.26 ]
]
);
# get substitution rate from A to C
my $rate = $model->get_rate('A', 'C');
# get model representation that can be used by Garli
my $modelstr = $model->to_string( '-format' => 'garli' )
DESCRIPTION
This is a superclass for models of DNA evolution. Classes that inherit from this class provide methods for retreiving general parameters such as substitution rates or the number of states as well as model-specific parameters. Currently most of the popular models are implemented. The static function modeltest
determines the substitution model from a Bio::Phylo::Matrices::Matrix object and returns the appropriate instance of the subclass. This class also provides serialization of a model to standard phylogenetics file formats.
METHODS
CONSTRUCTOR
- new
-
Dna model constructor.
Type : Constructor Title : new Usage : my $model = Bio::Phylo::Models::Substitution::Dna->new(%args); Function: Instantiates a Bio::Phylo::Models::Substitution::Dna object. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : Optional: -type => type of model, one of GTR, F81, HKY85, JC69, K80 -pi => base frequencies of bases A, C, G, T -kappa => ratio transitions/transversions -alpha => shape parameter (for models of GTR family) -mu => overall mutation rate -pinvar => proportion of invariant sites -ncat => number of distinct rate categories -median => median for gamma-modeled rate categories -rate => Array of Arrays (4x4) giving substitution rates betwen A, C, T, G -catweights => weights for rate categories
- get_catrates
-
Getter for rate categories, implemented by child classes.
Type : method Title : get_catrates Usage : $model->get_catrates; Function: Getter for rate categories. Returns : scalar or array Args : None.
- get_nst
-
Getter for number of transition rate parameters.
Type : method Title : get_nst Usage : $model->get_nst; Function: Getter for number of transition rate parameters. Returns : scalar Args : None.
- get_rate
-
Getter for substitution rate. If bases are given as arguments, returns corresponding rate. If no arguments given, returns rate matrix or overall rate, dependent on model.
Type : method Title : get_rate Usage : $model->get_rate('A', 'C'); Function: Getter for transition rate between nucleotides. Returns : scalar or array Args : Optional: base1: scalar base2: scalar
- get_nstates
-
Getter for number of states (bases).
Type : method Title : get_nstates Usage : $model->get_nstates; Function: Getter for transition rate between nucleotides. Returns : scalar Args : None
- get_ncat
-
Getter for number of rate categories.
Type : method Title : get_ncat Usage : $model->get_ncat; Function: Getter for number of rate categories. Returns : scalar Args : None
- get_catweights
-
Getter for weights on rate categories.
Type : method Title : get_catweights Usage : $model->get_catweights; Function: Getter for number of rate categories. Returns : array Args : None
- get_kappa
-
Getter for transition/transversion ratio.
Type : method Title : get_kappa Usage : $model->get_kappa; Function: Getter for transition/transversion ratio. Returns : scalar Args : None
- get_alpha
-
Getter for shape parameter.
Type : method Title : get_alpha Usage : $model->get_alpha; Function: Getter for shape parameter. Returns : scalar Args : None
- get_mu
-
Getter for overall mutation rate.
Type : method Title : get_mu Usage : $model->get_mu; Function: Getter for overall mutation rate. Returns : scalar Args : None
- get_pinvar
-
Getter for proportion of invariant sites.
Type : method Title : get_pinvar Usage : $model->get_pinvar; Function: Getter for proportion of invariant sites. Returns : scalar Args : None
- get_pi
-
Getter for base frequencies.
Type : method Title : get_pi Usage : $model->get_pi; Function: Getter for base frequencies. Returns : array Args : Optional: Base (A, C, T or G)
- get_median
-
Getter for median for gamma-modeled rate categories.
Type : method Title : get_median Usage : $model->get_median; Function: Getter for median. Returns : scalar Args : None
- set_rate
-
Setter for substitution rate.
Type : method Title : set_rate Usage : $model->set_rate(1); Function: Set nucleotide transition rates. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar or array of arrays (4x4)
- set_ncat
-
Setter for number of rate categories.
Type : method Title : set_ncat Usage : $model->set_ncat(6); Function: Set the number of rate categoeries. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- set_catweights
-
Setter for weights on rate categories.
Type : method Title : set_catweights Usage : $model->get_catweights; Function: Set number of rate categories. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : array
- set_kappa
-
Setter for weights on rate categories.
Type : method Title : set_kappa Usage : $model->set_kappa(2); Function: Set transition/transversion ratio. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- set_alpha
-
Setter for shape parameter.
Type : method Title : set_alpha Usage : $model->set_alpha(1); Function: Set shape parameter. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- set_mu
-
Setter for overall mutation rate.
Type : method Title : set_mu Usage : $model->set_mu(0.5); Function: Set overall mutation rate. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- set_pinvar
-
Set for proportion of invariant sites.
Type : method Title : set_pinvar Usage : $model->set_pinvar(0.1); Function: Set proportion of invariant sites. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- set_pi
-
Setter for base frequencies.
Type : method Title : get_pi Usage : $model->set_pi((0.2, 0.2, 0.3, 0.3)); Function: Set base frequencies. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : array of four base frequencies (A, C, G, T) Comments: Base frequencies must sum to one
- set_median
-
Setter for median for gamma-modeled rate categories.
Type : method Title : set_median Usage : $model->set_median(1); Function: Setter for median. Returns : A Bio::Phylo::Models::Substitution::Dna object. Args : scalar
- modeltest
-
Performing a modeltest using the package 'phangorn' in R (Schliep, Bioinformatics (2011) 27 (4): 592-593) from an DNA alignment. If no tree is given as argument, a neighbor-joining tree is generated from the alignment to perform model testing. Selects the model with the minimum AIC.
Type : method Title : modeltest Usage : $model->modeltest(-matrix=>$matrix); Function: Determine DNA substitution model from alignment. Returns : An object which is subclass of Bio::Phylo::Models::Substitution::Dna. Args : -matrix: A Bio::Phylo::Matrices::Matrix object Optional: -tree: A Bio::Phylo::Forest::Tree object -timeout: Timeout in seconds to prevent getting stuck in an R process. Comments: Prerequisites: Statistics::R, R, and the R package phangorn.
- to_string
-
Get string representation of model in specified format (paup, phyml, mrbayes or garli)
Type : method Title : to_string Usage : $model->to_string(-format=>'mrbayes'); Function: Write model to string. Returns : scalar Args : scalar Comments: format must be either paup, phyml, mrbayes or garli
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::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