[Bioperl-l] planning sequence mutating modules

Georgii A Bazykin gbazykin at Princeton.EDU
Tue Feb 14 14:34:54 UTC 2006


Hi,

Just a thought: I really think that in perspective, it would be nice
to be able to evolve the sequence along a tree of given shape. I think
PAML's "evolver" has this functionality. I've already been doing this
in my scripts, but I am not sure how to couple the tree and the
sequence data properly.

Yegor (George) Bazykin


------------------------------
Tuesday, February 14, 2006, 1:59:29 AM, you wrote:

> I've committed an interim solution to the sequence evolution problem:

>     $newseq = Bio::SeqUtils-> evolve
>         ($seq, $similarity, $transition_transversion_rate);

> I will go on to transform this code to fully OO, extensible solution.

>    -Heikki


> On Friday 10 February 2006 09:06, Heikki Lehvaslaiho wrote:
>> Ryan Golhar's mail got me thinking that we should have a simple framework
>> for mutating sequences to a desired level. The model can then be extended
>> to necessary complexity when needed by subclassing.
>>
>> To start with, I have been planning:
>>
>>
>> Bio::SeqEvolution::EvolutionI - interface file
>> Bio::SeqEvolution::EvolutionI::seq() - seq to mutate
>> Bio::SeqEvolution::EvolutionI::seq_type() - returned seq class,
>>         (defaults to Bio::PrimarySeq)
>> Bio::SeqEvolution::EvolutionI::next_seq() - overridable by subclasses
>> Bio::SeqEvolution::EvolutionI::each_seqs($count)
>>        - returns an array of $count seqs
>> Bio::SeqEvolution::EvolutionI::_generate_seq()
>> Bio::SeqEvolution::EvolutionI::matrix  # Bio::Matrix::Scoring
>>       converteed to probabilites of change internally
>>
>>   various methods to define the extent of divergence:
>>   only one to start with:
>> Bio::SeqEvolution::EvolutionI::pam() -percentage accepted mutation
>>    (= 100% - identity)
>>
>> Bio::SeqEvolution::Factory - core class to call,
>>          instantiates subclasses, Bio::SeqEvolution::DNASimple for
>> nucleotides Bio::SeqEvolution::EvolutionI::type() - evolution model,
>>       defaults to Bio::SeqEvolution::DNASimple for nucleotides
>>
>>
>> Bio::SeqEvolution::DNASimple - default for nucleotides
>> Bio::SeqEvolution::DNASimple::transversion_rate - positive integer,
>>         e.g. 5 => 5:1, defaults to 1:1
>>         simple alternative to a scoring matrix
>>
>>
>> I am soliciting usual comments and suggestions about naming and minimal
>> functionality.
>>
>>
>>    -Heikki





More information about the Bioperl-l mailing list