NAME

Bio::Tools::LatticeProtein - Lattice model for protein prediction

SYNOPSIS

  use Data::Dumper;
  use Bio::Tools::LatticeProtein;
  $lp = Bio::Tools::LatticeProtein->new(
					sequence       => 'PERLISNIFTY',
				        cycle          => 100,
                                        popsize        => 20,
                                        survival       => 10,
					mutdist        => {
					    end_rotation => 0.1,
					    kink_jump    => 0.4,
					    crankshaft   => 0.4,
					    slithering   => 0.1,
					},
					);
  print $lp->run;
  print Dumper $lp->result;

DESCRIPTION

This module is an experimental implementation of the lattice model for protein tertiary structure prediction. Positions of amino acids are mapped to discrete coordinates. With the genetic algorithm backend, structures are mutated and those with lower energies will be picked up for next round of mutation.

There are four supported mutation strategies. End Rotation, Kink Jump, Crankshaft, and Slithering Snake.

Then, follow the 2D-graphic illustrations of these operations.

End Rotation

                                 o
                                 |
               =========>        |
                                 |
o-----o-----o                    o-----o

Kink Jump

o				   o-----o	
|    	       	       	       	    	 |	
|             =========>	    	 |	
|				    	 |	
o-----o-----o                          o-----o

Crankshaft

                                 o-----o
                                 |     |
                                 |     |
              =========>         |     |
o     o-----o                    o     o-----o
 \     \
  \     \
   \     \
    o-----o

Slithering snake

o-----o-----o                                  o-----o
            |                                        |
            |                                        |
            |                   ==========>          |
            o     O <- The head                      o     o-----O
            |     |                                  |     |
            |     |                                  |     |
            |     |                                  |     |
            o-----o                                  o-----o

INTERFACE

new

The constructor takes the following parameters

sequence

The protein sequence. Case-insensitive.

cycle

The number of generations will be performed. Defaults to 15.

popsize

The population size of a generation. Defaults to 20.

survival

The number of protein folding configurations will be carried to next cycle. Defaults to 10, and it should not be greater than popsize.

mutdist

The distribution of mutation probabilities. The Default setting is

    mutdist        => {
	end_rotation => 0.25,
	kink_jump    => 0.25,
	crankshaft   => 0.25,
	slithering   => 0.25,
    },

And they must sum to 1.

run

Starts the whole process.

result

Returns the predicted result with coordinates and energies.

ON ENERGY

The method to calculate energy is: First, setting it to zero. For each hydrophobic amino acid, if there's another hydrophobic amino acid found around it, then the energy decreases by 1.

REFERENCE

MOLECULAR MODELLING, principles and applications by Andrew R. Leach.

COPYRIGHT

xern <xern@cpan.org>

This module is free software; you can redistribute it or modify it under the same terms as Perl itself.