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::SeqEvolution::Factory - Factory object to instantiate sequence evolving classes

SYNOPSIS

# not an instantiable class

DESCRIPTION

This is the factory class that can be used to call for a specific model to mutate a sequence.

Bio::SeqEvolution::DNAPoint is the default for nucleotide sequences and the only implementation at this point.

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 the web:

https://github.com/bioperl/bioperl-live/issues

AUTHOR

Heikki Lehvaslaiho E<lt>heikki at bioperl dot orgE<gt>

CONTRIBUTORS

Additional contributor's names and emails here

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::SeqEvolution::Factory->new();
Function: Builds a new Bio:SeqEvolution::EvolutionI object
Returns : Bio:SeqEvolution::EvolutionI object
Args    : -type           => class name

See Bio:SeqEvolution::EvolutionI

_load_format_module

Title   : _load_format_module
Usage   : *INTERNAL SeqIO stuff*
Function: Loads up (like use) a module at run time on demand
Example :
Returns :
Args    :

type

Title   : type
Usage   : $obj->type($newval)
Function: Set used evolution model. It is set by giving a
          valid Bio::SeqEvolution::* class name 
Returns : value of type
Args    : newvalue (optional)

Defaults to Bio::SeqEvolution::DNAPoint.

mutation counters

The next three methods set a value to limit the number of mutations introduced the the input sequence.

identity

Title   : identity
Usage   : $obj->identity($newval)
Function: Set the desired identity between original and mutated sequence
Returns : value of identity
Args    : newvalue (optional)

pam

Title   : pam
Usage   : $obj->pam($newval)
Function: Set the wanted Percentage of Accepted Mutations, PAM
Returns : value of PAM
Args    : newvalue (optional)

When you are measuring sequence divergence, PAM needs to be estimated. When you are generating sequences, PAM is simply the count of mutations introduced to the reference sequence normalised to the original sequence length.

mutation_count

Title   : mutation_count
Usage   : $obj->mutation_count($newval)
Function: Set the number of wanted mutations to the sequence 
Returns : value of mutation_count
Args    : newvalue (optional)

seq

Title   : seq
Usage   : $obj->seq($newval)
Function: Set the sequence object for the original sequence
Returns : The sequence object
Args    : newvalue (optional)

Setting this will reset mutation and generated mutation counters.

seq_type

Title   : seq_type
Usage   : $obj->seq_type($newval)
Function: Set the returned seq_type to one needed
Returns : value of seq_type
Args    : newvalue (optional)

Defaults to Bio::PrimarySeq.

get_mutation_counter

Title   : get_mutation_counter
Usage   : $obj->get_mutation_counter()
Function: Get the count of sequences created
Returns : value of counter
Args    : -

reset_mutation_counter

Title   : reset_mutation_counter
Usage   : $obj->reset_mutation_counter()
Function: Resert the counter of mutations
Returns : value of counter
Args    : -

get_sequence_counter

Title   : get_sequence_counter
Usage   : $obj->get_sequence_counter()
Function: Get the count of sequences created
Returns : value of counter
Args    : -

reset_sequence_counter

Title   : reset_sequence_counter
Usage   : $obj->reset_sequence_counter()
Function: Resert the counter of sequences created
Returns : value of counter
Args    : -

This is called when ever mutated sequences are reassigned new values using methods seq() and mutated_seq(). As a side affect, this method also recreates the intermal alignment that is used to calculate the sequence identity.

each_seq

Title   : each_seq
Usage   : $obj->each_seq($int)
Function:
Returns : an array of sequences mutated from the reference sequence
          according to evolutionary parameters given
Args    : -

each_mutation

Title   : each_mutation
Usage   : $obj->each_mutation
Function: return the mutations leading to the last generated 
          sequence in objects 
Returns : an array of Bio::Variation::DNAMutation objects
Args    : optional argument to return an array of  stringified names

Internal methods

_increase_mutation_counter

Title   : _increase_mutation_counter
Usage   : $obj->_increase_mutation_counter()
Function: Internal method to increase the counter of mutations performed
Returns : value of counter
Args    : -

_increase_sequence_counter

Title   : _increase_sequence_counter
Usage   : $obj->_increase_sequence_counter()
Function: Internal method to increase the counter of sequences created
Returns : value of counter
Args    : -