Bio::T...::Yn00(3pm)
π 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:
$rc=1for success,0for errors- a hash reference of the Yang calculated Ka/Ks values β a set of pairwise observations keyed as
sequencenameA->sequencenameB->datatype - 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.
π 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.
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
- debian bookworm: libbio-tools-phylo-paml-perl 1.7.3-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: libbio-tools-phylo-paml-perl 1.7.3-4 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms