Class SymmOptimizer
java.lang.Object
org.biojava.nbio.structure.symmetry.internal.SymmOptimizer
Optimizes a symmetry alignment by a Monte Carlo score optimization of the
repeat multiple alignment. The superposition of the repeats is not free
(felxible), because it is constrained on the symmetry axes found in the
structure. This is the main difference to the
MultipleMC
algorithm in
biojava. Another major difference is that the free Pool is shared for all
repeats, so that no residue can appear to more than one repeat at a time.
This algorithm does not use a unfiform distribution for selecting moves, farther residues have more probability to be shrinked or gapped. This modification of the algorithm improves convergence and running time.
Use call method to parallelize optimizations, or use optimize method instead.
Because gaps are allowed in the repeats, a MultipleAlignment
format
is returned.
- Since:
- 4.1.1
- Author:
- Aleix Lafita
-
Constructor Summary
ConstructorDescriptionSymmOptimizer
(CeSymmResult symmResult) Constructor with a seed MultipleAligment storing a refined symmetry alignment of the repeats. -
Method Summary
Modifier and TypeMethodDescriptionoptimize()
Optimization method based in a Monte-Carlo approach.
-
Constructor Details
-
SymmOptimizer
Constructor with a seed MultipleAligment storing a refined symmetry alignment of the repeats. To perform the optimization use the call or optimize methods after instantiation.- Parameters:
symmResult
- CeSymmResult with all the information- Throws:
RefinerFailedException
StructureException
-
-
Method Details
-
optimize
Optimization method based in a Monte-Carlo approach. Starting from the refined alignment uses 4 types of moves:- 1- Shift Row: if there are enough freePool residues available.
- 2- Expand Block: add another alignment column.
- 3- Shrink Block: move a block column to the freePool.
- 4- Insert gap: insert a gap in a position of the alignment.
- Throws:
StructureException
RefinerFailedException
- if the alignment is not symmetric or too short.
-