Class MultipleMcOptimizer
- java.lang.Object
- 
- org.biojava.nbio.structure.align.multiple.mc.MultipleMcOptimizer
 
- 
- All Implemented Interfaces:
- Callable<MultipleAlignment>
 
 public class MultipleMcOptimizer extends Object implements Callable<MultipleAlignment> This class takes a MultipleAlignment seed previously generated and runs a Monte Carlo optimization in order to improve the overall score and highlight common structural motifs.The seed alignment can be flexible, non-topological or include CP, but this optimization will not change the number of flexible parts BlockSets or non-topological regionsBlock. Thus, the definition of those parts depend exclusively on the pairwise alignment (or user alignment) used to generate the seed multiple alignment.This class implements Callable, because multiple instances of the optimization can be run in parallel. - Since:
- 4.1.0
- Author:
- Aleix Lafita
 
- 
- 
Constructor SummaryConstructors Constructor Description MultipleMcOptimizer(MultipleAlignment seedAln, MultipleMcParameters params, int reference)Constructor.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description MultipleAlignmentcall()MultipleAlignmentoptimize()Optimization method based in a Monte-Carlo approach.
 
- 
- 
- 
Constructor Detail- 
MultipleMcOptimizerpublic MultipleMcOptimizer(MultipleAlignment seedAln, MultipleMcParameters params, int reference) Constructor. Sets the internal variables from the parameters. To run the optimization use the call (in a different thread) or optimize methods.- Parameters:
- seedAln- MultipleAlignment to be optimized.
- params- the parameter beam
- reference- the index of the most similar structure to all others
- Throws:
- StructureException
 
 
- 
 - 
Method Detail- 
callpublic MultipleAlignment call() throws Exception - Specified by:
- callin interface- Callable<MultipleAlignment>
- Throws:
- Exception
 
 - 
optimizepublic MultipleAlignment optimize() throws StructureException Optimization method based in a Monte-Carlo approach. Starting from the refined alignment uses 4 types of moves:- Shift Row: if there are enough freePool residues available.
- Expand Block: add another alignment column.
- Shrink Block: move a block column to the freePool.
- Insert gap: insert a gap in a random position of the alignment.
 - Throws:
- StructureException
 
 
- 
 
-