The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Bio::Tools::Phylo::PAML::ModelResult - A container for NSSite Model Result from PAML

VERSION

version 1.7.3

SYNOPSIS

# get a ModelResult from a PAML::Result object
use Bio::Tools::Phylo::PAML;
my $paml = Bio::Tools::Phylo::PAML->new(-file => 'mlc');
my $result = $paml->next_result;
foreach my $model ( $result->get_NSSite_results ) {
  print $model->model_num, " ", $model->model_description, "\n";
  print $model->kappa, "\n";
  print $model->run_time, "\n";
# if you are using PAML < 3.15 then only one place for POS sites
 for my $sites ( $model->get_pos_selected_sites ) {
  print join("\t",@$sites),"\n";
 }
# otherwise query NEB and BEB slots
 for my $sites ( $model->get_NEB_pos_selected_sites ) {
   print join("\t",@$sites),"\n";
 }

 for my $sites ( $model->get_BEB_pos_selected_sites ) {
  print join("\t",@$sites),"\n";
 }

}

METHODS

new

Title   : new
Usage   : my $obj = Bio::Tools::Phylo::PAML::ModelResult->new();
Function: Builds  a new Bio::Tools::Phylo::PAML::ModelResult object
Returns : an instance of Bio::Tools::Phylo::PAML::ModelResult
Args    : -model_num           => model number
          -model_description   => model description
          -kappa               => value of kappa
          -time_used           => amount of time
          -pos_sites           => arrayref of sites under positive selection
          -neb_sites           => arrayref of sites under positive selection (by NEB analysis)
          -beb_sites           => arrayref of sites under positive selection (by BEB analysis)
          -trees               => arrayref of tree(s) data for this model
          -shape_params        => hashref of parameters
                                  ('shape' => 'alpha',
                   'gamma' => $g,
                   'r' => $r,
                   'f' => $f
                   )
                                   OR
                   ( 'shape' => 'beta',
                     'p' => $p,
                     'q' => $q
                    )
          -likelihood          => likelihood
          -num_site_classes    => number of site classes
          -dnds_site_classes   => hashref with two keys, 'p' and 'w'
                                  which each point to an array, each
                                  slot is for a different site class.
                                  'w' is for dN/dS and 'p' is probability

model_num

Title   : model_num
Usage   : $obj->model_num($newval)
Function: Get/Set the Model number (0,1,2,3...)
Returns : value of model_num (a scalar)
Args    : on set, new value (a scalar or undef, optional)

model_description

Title   : model_description
Usage   : $obj->model_description($newval)
Function: Get/Set the model description
          This is something like 'one-ratio', 'neutral', 'selection'
Returns : value of description (a scalar)
Args    : on set, new value (a scalar or undef, optional)

time_used

Title   : time_used
Usage   : $obj->time_used($newval)
Function: Get/Set the time it took to run this analysis
Returns : value of time_used (a scalar)
Args    : on set, new value (a scalar or undef, optional)

kappa

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

num_site_classes

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

dnds_site_classes

Title   : dnds_site_classes
Usage   : $obj->dnds_site_classes($newval)
Function: Get/Set dN/dS site classes, a hashref
          with 2 keys, 'p' and 'w' which point to arrays
          one slot for each site class.
Returns : value of dnds_site_classes (a hashref)
Args    : on set, new value (a scalar or undef, optional)

get_pos_selected_sites

Title   : get_pos_selected_sites
Usage   : my @sites = $modelresult->get_pos_selected_sites();
Function: Get the sites which PAML has identified as under positive
          selection (w > 1).  This returns an array with each slot
          being a site, 4 values,
          site location (in the original alignment)
          Amino acid    (I *think* in the first sequence)
          P             (P value)
          Significance  (** indicated > 99%, * indicates >=95%)
Returns : Array
Args    : none

add_pos_selected_site

Title   : add_pos_selected_site
Usage   : $result->add_pos_selected_site($site,$aa,$pvalue,$signif);
Function: Add a site to the list of positively selected sites
Returns : count of the number of sites stored
Args    : $site   - site number (in the alignment)
          $aa     - amino acid under selection
          $pvalue - float from 0->1 represent probability site is under selection according to this model
          $signif - significance (coded as either empty, '*', or '**'

get_NEB_pos_selected_sites

Title   : get_NEB_pos_selected_sites
Usage   : my @sites = $modelresult->get_NEB_pos_selected_sites();
Function: Get the sites which PAML has identified as under positive
          selection (w > 1) using Naive Empirical Bayes.
          This returns an array with each slot being a site, 4 values,
          site location (in the original alignment)
          Amino acid    (I *think* in the first sequence)
          P             (P value)
          Significance  (** indicated > 99%, * indicates > 95%)
          post mean for w
Returns : Array
Args    : none

add_NEB_pos_selected_site

Title   : add_NEB_pos_selected_site
Usage   : $result->add_NEB_pos_selected_site($site,$aa,$pvalue,$signif);
Function: Add a site to the list of positively selected sites
Returns : count of the number of sites stored
Args    : $site   - site number (in the alignment)
          $aa     - amino acid under selection
          $pvalue - float from 0->1 represent probability site is under selection according to this model
          $signif - significance (coded as either empty, '*', or '**'
          $postmean - post mean for w

get_BEB_pos_selected_sites

Title   : get_BEB_pos_selected_sites
Usage   : my @sites = $modelresult->get_BEB_pos_selected_sites();
Function: Get the sites which PAML has identified as under positive
          selection (w > 1) using Bayes Empirical Bayes.
          This returns an array with each slot being a site, 6 values,
          site location (in the original alignment)
          Amino acid    (I *think* in the first sequence)
          P             (P value)
          Significance  (** indicated > 99%, * indicates > 95%)
          post mean for w (mean)
          Standard Error for w (SE)
Returns : Array
Args    : none

add_BEB_pos_selected_site

Title   : add_BEB_pos_selected_site
Usage   : $result->add_BEB_pos_selected_site($site,$aa,$pvalue,$signif);
Function: Add a site to the list of positively selected sites
Returns : count of the number of sites stored
Args    : $site   - site number (in the alignment)
          $aa     - amino acid under selection
          $pvalue - float from 0->1 represent probability site is under selection according to this model
          $signif - significance (coded as either empty, '*', or '**'
          $postmean - post mean for w
          $SE       - Standard Error for w

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>

shape_params

Title   : shape_params
Usage   : $obj->shape_params($newval)
Function: Get/Set shape params for the distribution, 'alpha', 'beta'
          which is a hashref
          with 1 keys, 'p' and 'q'
Returns : value of shape_params (a scalar)
Args    : on set, new value (a scalar or undef, optional)

likelihood

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

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/Support.html    - 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 the web:

https://github.com/bioperl/bio-tools-phylo-paml/issues

AUTHOR

Jason Stajich <jason@bioperl.org>

COPYRIGHT

This software is copyright (c) by Jason Stajich <jason@bioperl.org>.

This software is available under the same terms as the perl 5 programming language system itself.