Bio::Tools::Phylo::PAML::Result.3pm

Langue: en

Version: 2010-05-19 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Bio::Tools::Phylo::PAML::Result - A PAML result set object

SYNOPSIS

   # see Bio::Tools::Phylo::PAML for example usage
   use Bio::Tools::Phylo::PAML;
   my $parser = Bio::Tools::Phylo::PAML->new
     (-file => "./results/mlc", -dir => "./results/");
 
   # get the first/next result; a Bio::Tools::Phylo::PAML::Result object,
   # which isa Bio::SeqAnalysisResultI object.
   my $result = $parser->next_result();
 
   my @seqs         = $result->get_seqs;
   my %input_params = $result->get_input_parameters;
   my @basfreq      = $result->get_codon_pos_basefreq;
   my $MLmatrix     = $result->get_MLmatrix; # get MaxLikelihood Matrix
   my $NGmatrix     = $result->get_NGmatrix; # get Nei-Gojoburi Matrix
 
 
   # for AAML runs
   my $AAmatrix   = $result->get_AADistMatrix;
   my $AAMLmatrix   = $result->get_AAMLDistMatrix;
 
   # if -dir contains an rst file get list of
   # Bio::PrimarySeq ancestral state reconstructions of the sequences
   my @rsts          = $result->get_rst_seqs; 
 
 
   # if you want to print the changes on the tree
   # this will print out the 
   # anc_aa       => ANCESTRAL AMINO ACID
   # anc_prob     => ANCESTRAL AA PROBABILITY 
   # derived_aa   => DERIVED AA
   # derived_prob => DERIVE AA PROBABILITY (where appropriate - NA for extant/tip taxas)
   # site         => which codon site this in the alignment
     @trees = $result->get_rst_trees;
     for my $t ( @trees ) {
         for my $node ( $t->get_nodes ) {        
             next unless $node->ancestor; # skip root node
             my @changes = $node->get_tag_values('changes');
             my $chgstr = '';
             for my $c ( @changes ) { 
                 for my $k ( sort keys %$c ) {
                     $chgstr .= "$k => $c->{$k} ";
                 }
                 $chgstr .= "\n\t";
             }
 
             printf "node:%s n=%s s=%s\n\t%s\n",
             $node->id, 
             $node->get_tag_values('n'),
             $node->get_tag_values('s'),
             $chgstr;
         }
     }
 
   # Persite probabilities
   my $persite = $result->get_rst_persite;
   # let's score site 1
   $site = $persite->[2]; 
   # so site 2, node 2 (extant node, node 2)
   print $site->[2]->{'codon'}, ' ',$site->[2]->{'aa'},"\n";
   # site 2, node 3
   print $site->[3]->{'codon'}, ' ',$site->[3]->{'aa'}, "\n";
 
   # ancestral node 9, codon, aa, marginal probabilities; Yang95 is listed as 
   #  (eqn. 4 in Yang et al. 1995 Genetics 141:1641-1650) in PAML rst file.
   print $site->[9]->{'codon'}, ' ',$site->[9]->{'aa'}, ' ', $site->[9]->{'prob'}, ' ',
         $site->[9]->{'Yang95_aa'},' ', $site->[9]->{'Yang95_aa_prob'},"\n";
 
 

DESCRIPTION

This is a container object for PAML Results.

FEEDBACK

Mailing Lists

User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated.
   bioperl-l@bioperl.org                  - General discussion
   http://bioperl.org/wiki/Mailing_lists  - About the mailing lists
 
 

Support

Please direct usage questions or support issues to the mailing list:

bioperl-l@bioperl.org

rather than to the module maintainer directly. Many experienced and reponsive experts will be able look at the problem and quickly address it. Please include a thorough description of the problem with code and data examples if at all possible.

Reporting Bugs

Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via email or the web:
   http://bugzilla.open-bio.org/
 
 

AUTHOR - Jason Stajich, Aaron Mackey

  Email jason-at-bioperl-dot-org
  Email amackey-at-virginia-dot-edu
 
 

CONTRIBUTORS

Albert Vilella avilella-AT-gmail-DOT-com

APPENDIX

The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new

  Title   : new
  Usage   : my $obj = Bio::Tools::Phylo::PAML::Result->new(%data);
  Function: Builds a new Bio::Tools::Phylo::PAML::Result object
  Returns : Bio::Tools::Phylo::PAML::Result
  Args    : -trees     => array reference of Bio::Tree::TreeI objects
            -MLmatrix  => ML matrix
            -seqs      => array reference of Bio::PrimarySeqI objects
            -codonpos  => array reference of codon positions 
            -codonfreq => array reference of codon frequencies
            -version   => version string
            -model     => model string
            -patterns  => hashref with the fields '-patterns', '-ns', '-ls'
            -stats     => array ref of misc stats   (optional)
            -aafreq    => Hashref of AA frequencies (only for AAML)
            -aadistmat => Bio::Matrix::PhylipDist   (only for AAML)
            -aamldistmat => Bio::Matrix::PhylipDist   (only for pairwise AAML)
            -ntfreq    => array ref of NT frequencies (only for BASEML)
            -seqfile    => seqfile used
            -kappa_mat => Bio::Matrix::PhylipDist of kappa values (only for BASEML)
            -alpha_mat => Bio::Matrix::PhylipDist of alpha values (only for BASEML)
            -NSSitesresult => arrayref of PAML::ModelResult 
            -input_params  => input params from .ctl file 
            -rst       => array reference of Bio::PrimarySeqI objects
                          of ancestral state reconstruction
            -rst_persite=> arrayref of persite data, this is a complicated set of AoH
            -rst_trees  => rst trees with changes coded on the tree
 
 

See Also: Bio::Tree::TreeI, Bio::PrimarySeqI, Bio::Matrix::PhylipDist, Bio::Tools::Phylo::PAML

next_tree

  Title   : next_tree
  Usage   : my $tree = $factory->next_tree;
  Function: Get the next tree from the factory
  Returns : L<Bio::Tree::TreeI>
  Args    : none
 
 

get_trees

  Title   : get_trees
  Usage   : my @trees = $result->get_trees;
  Function: Get all the parsed trees as an array
  Returns : Array of trees
  Args    : none
 
 

rewind_tree_iterator

  Title   : rewind_tree_iterator
  Usage   : $result->rewind_tree_iterator()
  Function: Rewinds the tree iterator so that next_tree can be 
            called again from the beginning
  Returns : none
  Args    : none
 
 

add_tree

  Title   : add_tree
  Usage   : $result->add_tree($tree);
  Function: Adds a tree 
  Returns : integer which is the number of trees stored
  Args    : L<Bio::Tree::TreeI>
 
 

set_MLmatrix

  Title   : set_MLmatrix
  Usage   : $result->set_MLmatrix($mat)
  Function: Set the ML Matrix
  Returns : none
  Args    : Arrayref to MLmatrix (must be arrayref to 2D matrix whic is 
            lower triangle pairwise)
 
 

get_MLmatrix

  Title   : get_MLmatrix
  Usage   : my $mat = $result->get_MLmatrix()
  Function: Get the ML matrix
  Returns : 2D Array reference
  Args    : none
 
 

set_NGmatrix

  Title   : set_NGmatrix
  Usage   : $result->set_NGmatrix($mat)
  Function: Set the Nei & Gojobori Matrix
  Returns : none
  Args    : Arrayref to NGmatrix (must be arrayref to 2D matrix whic is 
            lower triangle pairwise)
 
 

get_NGmatrix

  Title   : get_NGmatrix
  Usage   : my $mat = $result->get_NGmatrix()
  Function: Get the Nei & Gojobori matrix
  Returns : 2D Array reference
  Args    : none
 
 

add_seq

  Title   : add_seq
  Usage   : $obj->add_seq($seq)
  Function: Add a Bio::PrimarySeq to the Result
  Returns : none
  Args    : Bio::PrimarySeqI
 See also : L<Bio::PrimarySeqI>
 
 

reset_seqs

  Title   : reset_seqs
  Usage   : $result->reset_seqs
  Function: Reset the OTU seqs stored
  Returns : none
  Args    : none
 
 

get_seqs

  Title   : get_seqs
  Usage   : my @otus = $result->get_seqs
  Function: Get the seqs Bio::PrimarySeq (OTU = Operational Taxonomic Unit)
  Returns : Array of Bio::PrimarySeq
  Args    : None
 See also : L<Bio::PrimarySeq>
 
 

set_codon_pos_basefreq

  Title   : set_codon_pos_basefreq
  Usage   : $result->set_codon_pos_basefreq(@freqs)
  Function: Set the codon position base frequencies
  Returns : none
  Args    : Array of length 3 where each slot has a hashref 
            keyed on DNA base
 
 

get_codon_pos_basefreq

  Title   : get_codon_pos_basefreq
  Usage   : my @basepos = $result->get_codon_pos_basefreq;
  Function: Get the codon position base frequencies
  Returns : Array of length 3 (each codon position), each 
            slot is a hashref keyed on DNA bases, the values are
            the frequency of the base at that position for all sequences
  Args    : none
  Note    : The array starts at 0 so position '1' is in position '0' 
            of the array
 
 

version

  Title   : version
  Usage   : $obj->version($newval)
  Function: Get/Set version
  Returns : value of version
  Args    : newvalue (optional)
 
 

seqfile

  Title   : seqfile
  Usage   : $obj->seqfile($newval)
  Function: Get/Set seqfile
  Returns : value of seqfile
  Args    : newvalue (optional)
 
 

model

  Title   : model
  Usage   : $obj->model($newval)
  Function: Get/Set model
  Returns : value of model 
  Args    : on set, new value (a scalar or undef, optional)
 
 

patterns

  Title   : patterns
  Usage   : $obj->patterns($newval)
  Function: Get/Set Patterns hash
  Returns : Hashref of pattern data
  Args    : [optional] Hashref of patterns
          : The hashref is typically
          : { -patterns => \@arrayref
          :   -ns       => $ns
          :   -ls       => $ls
          : }
 
 

set_AAFreqs

  Title   : set_AAFreqs
  Usage   : $result->set_AAFreqs(\%aafreqs);
  Function: Get/Set AA freqs
  Returns : none
  Args    : Hashref, keys are the sequence names, each points to a hashref
            which in turn has keys which are the amino acids
 
 

get_AAFreqs

  Title   : get_AAFreqs
  Usage   : my %all_aa_freqs = $result->get_AAFreqs() 
             OR
            my %seq_aa_freqs = $result->get_AAFreqs($seqname) 
  Function: Get the AA freqs, either for every sequence or just 
            for a specific sequence
            The average aa freqs for the entire set are also available
            for the sequence named 'Average'
  Returns : Hashref
  Args    : (optional) sequence name to retrieve aa freqs for
 
 

set_NTFreqs

  Title   : set_NTFreqs
  Usage   : $result->set_NTFreqs(\%aafreqs);
  Function: Get/Set NT freqs
  Returns : none
  Args    : Hashref, keys are the sequence names, each points to a hashref
            which in turn has keys which are the amino acids
 
 

get_NTFreqs

  Title   : get_NTFreqs
  Usage   : my %all_nt_freqs = $result->get_NTFreqs() 
             OR
            my %seq_nt_freqs = $result->get_NTFreqs($seqname) 
  Function: Get the NT freqs, either for every sequence or just 
            for a specific sequence
            The average nt freqs for the entire set are also available
            for the sequence named 'Average'
  Returns : Hashref
  Args    : (optional) sequence name to retrieve nt freqs for
 
 

add_stat

  Title   : add_stat
  Usage   : $result->add_stat($stat,$value);
  Function: Add some misc stat valuess (key/value pairs)
  Returns : none
  Args    : $stat  stat name
            $value stat value
 
 

get_stat

  Title   : get_stat
  Usage   : my $value = $result->get_stat($name);
  Function: Get the value for a stat of a given name
  Returns : scalar value
  Args    : name of the stat
 
 

get_stat_names

  Title   : get_stat_names
  Usage   : my @names = $result->get_stat_names;
  Function: Get the stat names stored for the result
  Returns : array of names
  Args    : none
 
 

get_AADistMatrix

  Title   : get_AADistMatrix
  Usage   : my $mat = $obj->get_AADistMatrix()
  Function: Get AADistance Matrix
  Returns : value of AADistMatrix (Bio::Matrix::PhylipDist)
  Args    : none
 
 

set_AADistMatrix

  Title   : set_AADistMatrix
  Usage   : $obj->set_AADistMatrix($mat);
  Function: Set the AADistrance Matrix (Bio::Matrix::PhylipDist)
  Returns : none
  Args    : AADistrance Matrix (Bio::Matrix::PhylipDist)
 
 

get_AAMLDistMatrix

  Title   : get_AAMLDistMatrix
  Usage   : my $mat = $obj->get_AAMLDistMatrix()
  Function: Get AAMLDistance Matrix
  Returns : value of AAMLDistMatrix (Bio::Matrix::PhylipDist)
  Args    : none
 
 

set_AAMLDistMatrix

  Title   : set_AAMLDistMatrix
  Usage   : $obj->set_AAMLDistMatrix($mat);
  Function: Set the AA ML Distrance Matrix (Bio::Matrix::PhylipDist)
  Returns : none 
  Args    : AAMLDistrance Matrix (Bio::Matrix::PhylipDist)
 
 

add_NSSite_result

  Title   : add_NSSite_result
  Usage   : $result->add_NSSite_result($model)
  Function: Add a NSsite result (PAML::ModelResult)
  Returns : none
  Args    : Bio::Tools::Phylo::PAML::ModelResult
 
 

get_NSSite_results

  Title   : get_NSSite_results
  Usage   : my @results = @{$self->get_NSSite_results};
  Function: Get the reference to the array of NSSite_results
  Returns : Array of PAML::ModelResult results
  Args    : none
 
 

set_CodonFreqs

  Title   : set_CodonFreqs
  Usage   : $obj->set_CodonFreqs($newval)
  Function: Get/Set the Codon Frequence table
  Returns : value of set_CodonFreqs (a scalar)
  Args    : on set, new value (a scalar or undef, optional)
 
 

get_CodonFreqs

  Title   : get_CodonFreqs
  Usage   : my @codon_freqs = $result->get_CodonFreqs() 
  Function: Get the Codon freqs
  Returns : Array
  Args    : none
 
 

BASEML Relavent values

get_KappaMatrix

  Title   : get_KappaMatrix
  Usage   : my $mat = $obj->get_KappaMatrix()
  Function: Get KappaDistance Matrix
  Returns : value of KappaMatrix (Bio::Matrix::PhylipDist)
  Args    : none
 
 

set_KappaMatrix

  Title   : set_KappaMatrix
  Usage   : $obj->set_KappaMatrix($mat);
  Function: Set the KappaDistrance Matrix (Bio::Matrix::PhylipDist)
  Returns : none
  Args    : KappaDistrance Matrix (Bio::Matrix::PhylipDist)
 
 

get_AlphaMatrix

  Title   : get_AlphaMatrix
  Usage   : my $mat = $obj->get_AlphaMatrix()
  Function: Get AlphaDistance Matrix
  Returns : value of AlphaMatrix (Bio::Matrix::PhylipDist)
  Args    : none
 
 

set_AlphaMatrix

  Title   : set_AlphaMatrix
  Usage   : $obj->set_AlphaMatrix($mat);
  Function: Set the AlphaDistrance Matrix (Bio::Matrix::PhylipDist)
  Returns : none
  Args    : AlphaDistrance Matrix (Bio::Matrix::PhylipDist)
 
 

set_input_parameter

  Title   : set_input_parameter
  Usage   : $obj->set_input_parameter($p,$vl);
  Function: Set an Input Parameter 
  Returns : none
  Args    : $parameter and $value
 
 

get_input_parameters

  Title   : get_input_parameters
  Usage   : $obj->get_input_parameters;
  Function: Get Input Parameters 
  Returns : Hash of key/value pairs
  Args    : none
 
 

reset_input_parameters

  Title   : reset_input_parameters
  Usage   : $obj->reset_input_parameters;
  Function: Reset the Input Parameters hash 
  Returns : none
  Args    : none
 
 

Reconstructed Ancestral State relevant options

add_rst_seq

  Title   : add_rst_seq
  Usage   : $obj->add_rst_seq($seq)
  Function: Add a Bio::PrimarySeq to the RST Result
  Returns : none
  Args    : Bio::PrimarySeqI
 See also : L<Bio::PrimarySeqI>
 
 

reset_rst_seqs

  Title   : reset_rst_seqs
  Usage   : $result->reset_rst_seqs
  Function: Reset the RST seqs stored
  Returns : none
  Args    : none
 
 

get_rst_seqs

  Title   : get_rst_seqs
  Usage   : my @otus = $result->get_rst_seqs
  Function: Get the seqs Bio::PrimarySeq
  Returns : Array of Bio::PrimarySeqI objects
  Args    : None
 See also : L<Bio::PrimarySeq>
 
 

add_rst_tree

  Title   : add_rst_tree
  Usage   : $obj->add_rst_tree($tree)
  Function: Add a Bio::Tree::TreeI to the RST Result
  Returns : none
  Args    : Bio::Tree::TreeI
 See also : L<Bio::Tree::TreeI>
 
 

reset_rst_trees

  Title   : reset_rst_trees
  Usage   : $result->reset_rst_trees
  Function: Reset the RST trees stored
  Returns : none
  Args    : none
 
 

get_rst_trees

  Title   : get_rst_trees
  Usage   : my @otus = $result->get_rst_trees
  Function: Get the trees Bio::Tree::TreeI
  Returns : Array of Bio::Tree::TreeI objects
  Args    : None
 See also : L<Bio::Tree::TreeI>
 
 

set_rst_persite

  Title   : set_rst_persite
  Usage   : $obj->set_rst_persite($newval)
  Function: Get/Set the per-site RST values
  Returns : value of set_rst_persite (a scalar)
  Args    : on set, new value (a scalar or undef, optional)
 
 

get_rst_persite

  Title   : get_rst_persite
  Usage   : my @rst_persite = @{$result->get_rst_persite()} 
  Function: Get the per-site RST values
  Returns : Array
  Args    : none