Loop Closure Block in Pele++ control file

This block configures the LoopClosure phase in a peleSimulation command. This phase will be active depending on the loopClosureFrequency PELE parameter (loopClosureFrequency).

Loop Closure aims to perturb intrinsically disordered loops which cannot be moved efficiently using only Normal Mode Analysis. This block implements the methodology explained in [mak:2011], where an inverse kinematic solver is applied in order to propose new loop conformations. This conformations are analyzed and filtered, so the proposed ones are suitable.

Location

The Loop Closure block can be defined inside the PeleSimulation command block.

An example:

{
  "commands": [
  {
    "commandType": "peleSimulation",
    ...
    "LoopClosure": {
              "flexibleLoops": {
                  "links": {
                      "ranges": ["_:20 _:30"]
                  }
              },
              "parameters": {
                  "maxNumberTrials": 20,
                  "backboneOverlapFactor": 0.3,
                  "sideChainOverlapFactor": 0.4,
                  "minDistanceBetweenSolutions": 0.5,
                  "manDistanceBetweenSolutions": 15
              },
              "Minimizer": {
                  "algorithm": "TruncatedNewton",
                  "parameters": {
                      "EnergyDifference": 1,
                      "MaximumMinimizationIterations": 1,
                      "MaximumNewtonIterations": 65,
                      "MinimumRMS": 0.01,
                      "nonBondingListUpdatedEachMinStep": true,
                      "alphaUpdated": false,
                      "sgbUpdated": false
                  }
              }
          }
  }
  ]
}

Loop selection

flexibleLoops

Selection of the links to include in the Loop Closure algorithm (see Selections By Example).

Multiple groups of links (loops) can be selected. The algorithm will be applied to a single group in each Pelestep.

Warning

At least three consecutive links must be selected.

Example:

"LoopClosure": {
     "flexibleLoops": {
         "links": {
             "ranges": ["_:20 _:30"]
         }
     },
     "parameters": {
     ...
     },
     ...
 }

Parameters

Control of the perturbation magnitude

With these two parameters the level of perturbation applied by Loop Closure can be controlled. Loop Closure change six different dihedral angles along the backbone of a molecule at the same time, such that both ends are maintained fixed. The minimum and maximum distance between solutions controls which is the threshold difference between the original and proposed dihedrals that can be applied. In this way, if the maximum distance between solutions is low, smaller changes in the dihedrals are going to be considered. In the same way, if the minimum distance is increased, larger changes are applied. If one wants a refinement, the maximum distance should be limited. Also, if one wants an extense exploration, the minimum distance should be increased.

minDistanceBetweenSolutions

  • Parameter: double minDistanceBetweenSolutions

  • Use: Minimum distance in the dihedral space that the perturbation must fulfill to consider a certain loop conformation.

Note for developers: Used in LoopClosureCalculator::thisSolutionIsNew().

  • Units: Rad

  • Default value: 0.3

  • Range: (0, inf)

maxDistanceBetweenSolutions

  • Parameter: double minDistanceBetweenSolutions

  • Use: Maximum distance in the dihedral space that the perturbation can add to consider a certain loop conformation.

Note for developers: Used in LoopClosureCalculator::thisSolutionIsNew().

  • Units: Rad

  • Default value: 1000

  • Range: (0, inf)

backboneOverlapFactor

The overlap factor that is used when looking for steric clashes of the resulting conformation. When this factor gets lower, a higher steric overlap is accepted. See Overlap factor for more information about this parameter.

  • Parameter: double backboneOverlapFactor

  • Use: It controls the steric overlap at which a clash between backbone atoms is considered.

  • Default: 0.3

  • Units: dimensionless

  • Range: [0, 1]

sideChainOverlapFactor

  • Parameter: double sideChainOverlapFactor

  • Use: It controls the steric overlap at which a clash between sideChain atoms is considered.

  • Default: 0.4

  • Units: dimensionless

  • Range: [0, 1]

maxNumberTrials

  • Parameter: unsigned int maxNumberTrials

  • Use: It defines the maximum number of partitions of the loop considered to propose new conformation

  • Default: 1000

  • Units: dimensionless

  • Range: [1, inf)

loopClosureMinimizer

Minimizer block.

Check the minimization block documentation (Minimization in Pele++ control file) for more information.

The default minimization type is “TruncatedNewton”, with the following default parameters (other parameters have the same default as shown in the minimization block documentation):

  • maximumMinimizationIterations: 2

  • maximumNewtonIterations:40

  • energyTolerance:1.0

  • rmsTolerance: 0.1

  • iterationsBetweenNonBondingLongUpdate: 2

  • updateSgb: false

  • updateAlpha: false

  • updateNblist: false

The minimization process inside the LoopClosure algorithm is local. It considers only the loop residues or nucleotides and their neighbours (considering as neighbours all the resiudes with one atom below 5 amstrongs). In this minimization, a constraint over the alpha carbons or phosphorous is applied to maintain the new proposed conformation.