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
BlockSet
s 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 Summary
Constructors Constructor Description MultipleMcOptimizer(MultipleAlignment seedAln, MultipleMcParameters params, int reference)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description MultipleAlignment
call()
MultipleAlignment
optimize()
Optimization method based in a Monte-Carlo approach.
-
-
-
Constructor Detail
-
MultipleMcOptimizer
public 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 beamreference
- the index of the most similar structure to all others- Throws:
StructureException
-
-
Method Detail
-
call
public MultipleAlignment call() throws Exception
- Specified by:
call
in interfaceCallable<MultipleAlignment>
- Throws:
Exception
-
optimize
public 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
-
-