[Bioperl-l] planning sequence mutating modules

Heikki Lehvaslaiho heikki at sanbi.ac.za
Fri Feb 10 02:06:11 EST 2006


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

-- 
______ _/      _/_____________________________________________________
      _/      _/
     _/  _/  _/  Heikki Lehvaslaiho    heikki at_sanbi _ac _za
    _/_/_/_/_/  Associate Professor    skype: heikki_lehvaslaiho
   _/  _/  _/  SANBI, South African National Bioinformatics Institute
  _/  _/  _/  University of Western Cape, South Africa
     _/      Phone: +27 21 959 2096   FAX: +27 21 959 2512
___ _/_/_/_/_/________________________________________________________


More information about the Bioperl-l mailing list