Class MultipleMcOptimizer
java.lang.Object
org.biojava.nbio.structure.align.multiple.mc.MultipleMcOptimizer
- All Implemented Interfaces:
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 regions Block
. 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
ConstructorDescriptionMultipleMcOptimizer
(MultipleAlignment seedAln, MultipleMcParameters params, int reference) Constructor. -
Method Summary
-
Constructor Details
-
MultipleMcOptimizer
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 Details
-
call
- Specified by:
call
in interfaceCallable<MultipleAlignment>
- Throws:
Exception
-
optimize
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
-