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 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 Details

    • 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 beam
      reference - the index of the most similar structure to all others
      Throws:
      StructureException
  • Method Details

    • call

      public MultipleAlignment call() throws Exception
      Specified by:
      call in interface Callable<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.