Bio::T...::Yn00(3pm)

πŸ“¦
version 1.7.3 Β· 3 versions
, in debian bookworm, debian trixie

πŸ’– Bio::Tools::Run::Phylo::PAML::Yn00 πŸ’–

okay bestie, so this is the manual page for Bio::T...::Yn00(3pm) β€” that's Bio::Tools::Run::Phylo::PAML::Yn00, from the User Contributed Perl Documentation. No cap. It's a whole vibe and also a Perl module, and we're gonna walk through it together like it's a group chat. 🫢


✨ NAME ✨

Bio::Tools::Run::Phylo::PAML::Yn00 β€” it's a wrapper around the PAML program yn00. That's literally it, that's the whole job, and it does it slayfully. πŸ’…


🌸 VERSION 🌸

version 1.7.3 β€” she's serving, she's current, she's iconic.


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so here's the whole flex in code form, copy it, run it, live your truth:

use Bio::Tools::Run::Phylo::PAML::Yn00;
use Bio::AlignIO;
my $alignio = Bio::AlignIO->new(-format => 'phylip',
                      -file   => 't/data/gf-s85.phylip');
my $aln = $alignio->next_aln;

my $yn = Bio::Tools::Run::Phylo::PAML::Yn00->new();
$yn->alignment($aln);
my ($rc,$parser) = $yn->run();
while( my $result = $parser->next_result ) {
  my @otus = $result->get_seqs();
  my $MLmatrix = $result->get_MLmatrix();
  # 0 and 1 correspond to the 1st and 2nd entry in the @otus array
  my $dN = $MLmatrix->[0]->[1]->{dN};
  my $dS = $MLmatrix->[0]->[1]->{dS};
  my $kaks =$MLmatrix->[0]->[1]->{omega};
  print "Ka = $dN Ks = $dS Ka/Ks = $kaks\n";
}

like, you create the object, you hand it an alignment, you run it, you loop over results, you print your Ka/Ks. it's giving pipeline. 🧚


πŸ’œ DESCRIPTION πŸ’œ

So. This module is a wrapper around the yn00 program β€” that's the method of Yang and Nielsen, 2000 β€” which lives inside PAML (Phylogenetic Analysis by Maximum Likelihood), the package by Ziheng Yang. If you want more info, hit up http://abacus.gene.ucl.ac.uk/software/paml.html. πŸ“š

And here's the part that's lowkey the bestie behavior: this module will generate a proper yn00.ctl file for you, and it runs the program inside its own separate temporary directory so you don't end up with temp files absolutely everywhere. Then it cleans up after itself. Hygienic. Organized. Main character energy. ✨

πŸŽ€ Default Values πŸŽ€

For the documentation of the default values, go look at the Bio::Tools::Run::Phylo::PAML::Codeml module. She's got the receipts, not me. πŸ’–


🌈 ATTRIBUTES 🌈

program_name

Title   : program_name
Usage   : $yn00->program_name()
Function: holds the program name
Returns:  string
Args    : None

just, like, holds the name of the program. the name. that's the whole thing. πŸ’€

program_dir

Title   : program_dir
Usage   : $yn00->program_dir()
Function: returns the program directory, obtained from ENV variable.
Returns:  string
Args    :

gives you back the program directory, and it got it from an ENV variable. Args is empty, she needs nothing from you. πŸ‘‘

error_string

Title   : error_string
Usage   : $obj->error_string($newval)
Function: Where the output from the last analysus run is stored.
Returns : value of error_string
Args    : newvalue (optional)

this is where the output from the last analysus run is stored. (yes the original says "analysus", we're keeping it, it's part of the lore 😭). returns the value of error_string. you can optionally pass a newvalue.

alignment

Title   : alignment
Usage   : $codeml->align($aln);
Function: Get/Set the L<Bio::Align::AlignI> object
Returns : L<Bio::Align::AlignI> object
Args    : [optional] L<Bio::Align::AlignI>
Comment : We could potentially add support for running directly on a file
          but we shall keep it simple
See also: L<Bio::SimpleAlign>

get/set the Bio::Align::AlignI object β€” that's your alignment, bestie. returns a Bio::Align::AlignI object. the arg is optional: a Bio::Align::AlignI.

the comment says: "We could potentially add support for running directly on a file but we shall keep it simple" β€” and honestly? valid. keeping it simple is a lifestyle. πŸ“

see also Bio::SimpleAlign.

no_param_checks

Title   : no_param_checks
Usage   : $obj->no_param_checks($newval)
Function: Boolean flag as to whether or not we should
          trust the sanity checks for parameter values
Returns : value of no_param_checks
Args    : newvalue (optional)

a boolean flag deciding whether or not we should trust the sanity checks on parameter values. yes, turning this on means vibes-only mode. returns the value of no_param_checks, optional newvalue.

save_tempfiles

Title   : save_tempfiles
Usage   : $obj->save_tempfiles($newval)
Function:
Returns : value of save_tempfiles
Args    : newvalue (optional)

Function: is literally blank in the original, so respectfully, there's nothing to report. πŸ’€ returns the value of save_tempfiles, optional newvalue.

outfile_name

Title   : outfile_name
Usage   : my $outfile = $codeml->outfile_name();
Function: Get/Set the name of the output file for this run
          (if you wanted to do something special)
Returns : string
Args    : [optional] string to set value to

get/set the name of the output file for this run β€” for when you wanna do something special. ✨ returns a string. optional string arg to set the value.

tempdir

Title   : tempdir
Usage   : my $tmpdir = $self->tempdir();
Function: Retrieve a temporary directory name (which is created)
Returns : string which is the name of the temporary directory
Args    : none

grabs you a temporary directory name, and yes, it's actually created. returns a string that IS the name of the temp directory. no args. πŸŽ€


πŸ’… METHODS πŸ’…

new

Title   : new
Usage   : my $obj = Bio::Tools::Run::Phylo::PAML::Yn00->new();
Function: Builds a new Bio::Tools::Run::Phylo::PAML::Yn00 object
Returns : Bio::Tools::Run::Phylo::PAML::Yn00
Args    : -alignment => the L<Bio::Align::AlignI> object
          -save_tempfiles => boolean to save the generated tempfiles and
                             NOT cleanup after onesself (default FALSE)

builds you a fresh new Bio::Tools::Run::Phylo::PAML::Yn00 object and returns it. your args are -alignment (a Bio::Align::AlignI object) and -save_tempfiles, which is a boolean to save the generated tempfiles and NOT cleanup after onesself β€” default FALSE. 🫢

run

Title   : run
Usage   : $yn->run();
Function: run the yn00 analysis using the default or updated parameters
          the alignment parameter must have been set
Returns : 3 values,
          $rc = 1 for success, 0 for errors
          hash reference of the Yang calculated Ka/Ks values
                   this is a set of pairwise observations keyed as
                   sequencenameA->sequencenameB->datatype
          hash reference same as the previous one except it for the
          Nei and Gojobori calculated Ka,Ks,omega values
Args    : none

runs the yn00 analysis using the default or updated parameters. heads up: the alignment parameter must have been set, or this is not gonna go well. 🫠

it returns 3 values:

  1. $rc = 1 for success, 0 for errors
  2. a hash reference of the Yang calculated Ka/Ks values β€” a set of pairwise observations keyed as sequencenameA->sequencenameB->datatype
  3. a hash reference same as the previous one except it's for the Nei and Gojobori calculated Ka, Ks, omega values

no args. πŸ”₯

get_parameters

Title   : get_parameters
Usage   : my %params = $self->get_parameters();
Function: returns the list of parameters as a hash
Returns : associative array keyed on parameter names
Args    : none

returns the list of parameters as a hash β€” an associative array keyed on parameter names. no args. πŸ’–

set_parameter

Title   : set_parameter
Usage   : $codeml->set_parameter($param,$val);
Function: Sets a codeml parameter, will be validated against
          the valid values as set in the %VALIDVALUES class variable.
          The checks can be ignored if on turns of param checks like this:
            $codeml->no_param_checks(1)
Returns : boolean if set was success, if verbose is set to -1
          then no warning will be reported
Args    : $paramname => name of the parameter
          $value     => value to set the parameter to
See also: L<no_param_checks()>

sets a codeml parameter, and it gets validated against the valid values as set in the %VALIDVALUES class variable. you can ignore the checks if you turn off param checks like this:

$codeml->no_param_checks(1)

returns a boolean if the set was a success β€” and if verbose is set to -1, then no warning will be reported. args are $paramname (name of the parameter) and $value (value to set the parameter to). see also no_param_checks(). ⭐

set_default_parameters

Title   : set_default_parameters
Usage   : $codeml->set_default_parameters(0);
Function: (Re)set the default parameters from the defaults
          (the first value in each array in the
       %VALIDVALUES class variable)
Returns : none
Args    : boolean: keep existing parameter values

(re)sets the default parameters from the defaults β€” that's the first value in each array in the %VALIDVALUES class variable. returns none. arg is a boolean: keep existing parameter values. 🧚

cleanup

Title   : cleanup
Usage   : $codeml->cleanup();
Function: Will cleanup the tempdir directory after a PAML run
Returns : none
Args    : none

will cleanup the tempdir directory after a PAML run. returns none, takes no args. she's tidy. she's got her life together. πŸ’…

io

Title   : io
Usage   : $obj->io($newval)
Function:  Gets a L<Bio::Root::IO> object
Returns : L<Bio::Root::IO>
Args    : none

gets a Bio::Root::IO object. returns a Bio::Root::IO. no args. 🌸


πŸ”₯ Bio::Tools::Run::Wrapper methods πŸ”₯

(yes, that's just the line. it's a section header moment. moving on, bestie. πŸ’œ)


πŸ’Œ FEEDBACK πŸ’Œ

πŸ“¬ Mailing lists πŸ“¬

User feedback is an integral part of the evolution of this and other Bioperl modules. So send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated. fr fr. 🫢

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. (yes, "reponsive" β€” we don't fix the lore, we preserve it 😭)

πŸ› 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

go off, tell them everything. πŸ’–


πŸ‘‘ AUTHOR πŸ‘‘

Jason Stajich <jason@bioperl.org> β€” the icon, the legend, the moment.


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.


and that's the whole page, bestie!! πŸŽ€ this was perl v5.34.0, dated 2022-10-14, and honestly? iconic behavior from everyone involved. go run your Ka/Ks analysis. slay. πŸ’…βœ¨

πŸ“¦ where this page comes from