Water Perturbation Block in Pele++ control file¶
This block configures the Water Perturbation in a peleSimulation
command. In a peleSimulation
, this phase will be active depending
whether the WaterPerturbation
block is present or not. If defined,
an extra MC perturbation step focused on explicit water molecules will
be performed after the ligand perturbation. This consists in a
stochastic translation and rotation of the water molecules to a steric
free location followed by a local minimization step. The new
conformation is only accepted if it fulfills the Metropolis criterion.
The user can decide whether to move a single water molecules or more
than one by defining them explicitly in the control file. In order to
assess how many water molecules to use we are currently building a new
methodology.
It is also possible to defined different water sites and associate a certain set of explicit water molecules and boxes to each. Those water molecules defined in a water site will be explored within the box that corresponds to that water site. Those water molecules that need to be perturbed but are not included in a water site will be perturbed within the general box of water perturbation, if any is defined. In case there is not a general box defined, they will be perturbed in an infinite box (no box will be applied to them).
Note that the frequency with which this algorithm is performed in a Pele simulation can be set in the PeleParameters section of the control file. See more information about this parameter at waterPerturbationFrequency.
In case of questions or problems regarding the Water Perturbation algorithm contact the author at marti.municoy@bsc.es.
Example¶
The WaterPerturbation block can be defined inside the pele simulation command block section as next. In this case, a perturbation on four different water molecules is defined. However, at each Pele step, only to of them will be perturbed (see watersToPerturbPerStep command below). In this example, water molecules are perturbed at three different cavities: one is defined through the general box of the water perturbation algorithm and the other two through the definition of two water sites. In this way, W:4 wil be perturbed within the box defined in the first water site, W:5 and W:6 will be perturbed within the box of the second water site and W:7, since it has not been assigned to any water site, will use the global box of water perturbation.
{
"WaterPerturbation":
{
"Box" :
{
"radius" : 10,
"fixedCenter": [28.02, 5.97, 19.16],
"type" : "sphericalBox"
},
"watersToPerturb": { "links": { "ids": [ "W:4", "W:5", "W:6", "W:7" ] } },
"parameters":
{
"watersToPerturbPerStep": 2,
"translationRange": 2
},
"waterSites":
[
{
"watersToPerturb": {"links": {"ids": ["W:4"] }},
"Box": {"radius": 5, "fixedCenter": [25.48, 11.49, 18.06], "type": "sphericalBox"}
},
{
"watersToPerturb": {"links": {"ids": ["W:5", "W:6"] }},
"Box": {"radius": 6, "fixedCenter": [16, 6, 21], "type": "sphericalBox"}
}
]
}
}
Global selection of waters to perturb¶
WaterPerturbation works on a set of selected water molecules. All water molecules defined in the global selector will be perturbed inside the global perturbation box (see Global box).
Note that in case that one water molecule is also defined in a water site (see waterSites for more information), the box of that site would always have precedence over the global box as long as it is a finite spherical box.
{
"watersToPerturb": { "links": { "ids": [ "W:1" ] } }
}
Parameter:
watersToPerturb
Type: Pele links selection (see more details at Selections By Example)
Global box¶
It is always recommended to define a global box for the perturbation algorithm. In this way, explicit water molecules would be perturbed inside a specific region as they could not get outside the perturbation box. If a global box is not defined, water molecules would not have any spatial constrain and could be shifted in any protein region indistinctly.
{
"Box" :
{
"radius" : 10,
"fixedCenter": [28.02, 5.97, 19.16],
"type" : "sphericalBox"
}
}
Parameter:
Box
Type: Pele box definition (see more details at Boxes)
waterSites¶
Several boxes can be associated to specific water molecules through water sites. In this way, the user can choose to perturb some water molecules inside one region and some others in a different region. Each water site can have their own box settings.
Note that if those water molecules that are selected to perturb do not have any water site specified will be perturbed using the global box of the algorithm, if any. In case that no global box is defined, their perturbation will not be restricted inside a box.
It is also worth to mention that if a water molecule belongs to a water site and has also been selected globally, the box from the water site will have precedence (unless it is an infinite box) over the global perturbation box..
It is always recommended to define a global box for the perturbation algorithm. In this way, explicit water molecules are perturbed inside a specific region as they cannot get outside the perturbation box.
{
"waterSites":
[
{
"watersToPerturb": {"links": {"ids": ["W:4"] }},
"Box": {"radius": 5, "fixedCenter": [25.48, 11.49, 18.06], "type": "sphericalBox"}
},
{
"watersToPerturb": {"links": {"ids": ["W:5", "W:6"] }},
"Box": {"radius": 6, "fixedCenter": [16, 6, 21], "type": "sphericalBox"}
}
]
}
Parameter:
waterSites
Type: list of water site definitions. Each water site requires the definition of a set of water molecules,
watersToPerturb
, and a perturbation box,Box
.
watersToPerturb¶
Selection of the explicit water molecules of each water site.
Parameter:
watersToPerturb
Type: Pele links selection (see more details at Selections By Example)
Box¶
Definition of the perturbation box of each water site.
Parameter:
Box
Type: Pele box definition (see more details at Boxes)
Parameters¶
All the possible parameters that can be specified in this section are the following ones:
{
"parameters":
{
"translationRange" : 5.0,
"overlapFactor" : 0.8,
"temperature": 500,
"numberOfStericTrials": 1000,
"COMConstraintConstant": 0.2,
"watersToPerturbPerStep": 2
}
}
translationRange¶
WaterPerturbation works by translating and minimazing the water molecule at each PELE step. The translation range of the water molecules can be define with this parameter. However, the final translation modulus is allowed to fluctuate at each move trial to expand the sampling capabilities. It is obtained by applying the following equation:
\(\text{Translation modulus} = \text{random double between}(0.75, 1.25) * \text{translationRange}\)
Parameter:
translationRange
Type: float
Default: 5.0
Units: angstroms
Range: (0, inf)
overlapFactor¶
The overlap factor that is used when looking for initial cavities for perturbed water molecules without steric clashes. When this factor gets lower, a higher steric overlap is accepted. See Overlap factor for more information about this parameter.
Parameter:
overlapFactor
Type: float
Default: 0.8
Units: dimensionless
Range: [0, 1]
temperature¶
The temperature that is used in the Metropolis criterion to decide whether to accept the new location of a perturbed water or not. The higher the temperature is, the easier will be to accept new water locations. Thus, more locations will be explored but worse conformations will be generated.
Parameter:
temperature
Type: float
Default: 1000
Units: Kelvin degrees
Range: (0, inf)
numberOfStericTrials¶
Number of trials that will be performed to look for steric-clashes-free cavities for the perturbed water molecules. For small pockets were valid movements are hardly found, you can consider increasing the amount of trials. See numberOfStericTrials for more details.
Parameter:
numberOfStericTrials
Type: integer
Default: 1000
Units: dimensionless
Range: [1, inf)
COMConstraintConstant¶
Constraint on the center of mass (COM) of each atomset that will be applied on all water molecules that are perturbed, once they are in the new location. Thus, during the relaxation step, perturbed water molecules will not be able to move to other places. This parameter could benefit the exploration of new water sites. However, as it introduces more constraints to the system, the final acceptance at the end of the Pele step could be lowered significantly.
Parameter:
COMConstraintConstant
Type: float
Default: 0.0
Units: \(\text{kcal}/(\text{mol} \cdot \unicode{xC5}^{2})\)
Range: [0, inf)
watersToPerturbPerStep¶
Maximum number of water molecules that will be perturbed in a single water perturbation step. The default value, which is -1, perturbs all the water molecules that were selected in the WaterPerturbation section of the control file.
Parameter:
watersToPerturbPerStep
Type: integer
Default: -1
Units: dimensionless
Range [-1, inf)
allowEmptyWaterSelectors¶
This flag prevents the algorithm to fail when one water molecule selected in the control file is not found in the current structure. In this way, when set to true, the algorithm will skip any selected water molecule that is missing in the complex.
Parameter:
allowEmptyWaterSelectors
Type: boolean
Default: false