Evolver is a module that makes it easy to optimize protein sequences using any arbitrary function but retaining its similarity with a given protein family.
It uses a fast, memory efficient and highly configurable Genetic Algorithms engine suitable for long sequence inputs and both high population and generation numbers.
Similarity with the input profile/alignment is calculated using any of the currently available plugins. Chief among these is Hmmer, which uses Hidden Markov Models to describe the protein family and emit an e-value based score for each individual in the population. However, the user can also choose simpler methods, incluiding a pure perl implementation of the Needleman sequence alignment algorithm. The pluggable architecture of the profile score module makes it easy to modify, extend or turn off completely.
This module is dependency-heavy. The most important, and their uses, are:
-
BioPerl and third-party executables.
This module makes heavy use of BioPerl, specially the Bio::Tools::Run, Bio::SeqIO, Bio::Seq, Bio::AlignIO and Bio::SimpleAlign namespaces. Aditionally, the user should have installed standalone Clustalw and Hmmer, both of which can be obtained freely from their respective websites.
-
AI::Genetic::Pro::Macromolecule
The GA engine, based on Lukaz's AI::Genetic::Pro.
-
Moose and friends
Finally, this module uses Moose, a postmodern OO system for Perl. It also makes deliberate use of some MooseX extensions, notably MooseX::Object::Pluggable.
INSTALLATION
To install this module, run the following commands:
perl Makefile.PL
make
make test
make install
SUPPORT AND DOCUMENTATION
After installing, you can find documentation for this module with the perldoc command.
perldoc Evolver
COPYRIGHT AND LICENCE
Copyright (C) 2009 Bruno Vecchi
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.