Introduction
Force Field Assembly
The Calculate module offers three customized molecular mechanics functions: Minimize for Energy Minimization, Dynamics for Molecular Dynamics and Anneal
for Simulated Annealing. These functions are the results of several
years experience with the rrDNAv1 model. Many decisions have been made
for you and as a result you can use these functions with minimal input.
There
are limitations. These functions can only operate on an entire model.
The methods that these functions are based upon can operate on a
selected part of a model. The Dynamics and Anneal functions can only be applied to circular rrDNAv1 models.
Minimize
This
function carries out an energy minimization calculation. It will use
the PR+ Conjugate Gradient method (CGPR) and if the line search fails
(which is not a fatal error), a small number of steps of the Simple
Steepest Descent (SimpleSD) method are applied as a correction.
Usually, the correction makes no difference to the outcome; this would
indicate that there are no further opportunities to lower the energy.
One would have to get out of this local minimum and explore other
minima.
This function makes the following settings:
| Attribute |
Value |
| MolMech.UpdateInterval |
25 |
The arguments are:
| Keyword |
Description |
Default Value |
| dnamodel |
Target for minimization: a Model object for a rrDNAv1 model |
- |
| numsteps |
Maximum number of CGPR steps |
5000 |
| printdiv |
Number of print divisions or if negative the interval between prints (MolMech.NumberOfPrintDivisions) |
5 |
Customized Molecular Dynamics
The remaining two functions make use of a class derived from the Motors class for molecular dynamics.
This class overrides the userafter method and makes the following settings:
| Attribute |
Value |
| UpdateInterval (MolMech) |
25 |
| StepSize (Motors) [picoseconds] |
0.025 |
| ThermalizationInterval (Motors) |
100 |
| UserBeforeInterval (Motors) |
0 |
| UserAfterInterval (Motors) |
10000 |
When the
class is initialized, up to two attempts to calculate the linking
number are made. If the first attempt fails, the structure is minimized
before the second attempt. If the second attempt also fails, the class
cannot be initialized. The linking number calculation fails when there
is no evidence that the model contains two circles. If the structure
cannot be repaired by a short minimization, to the extent that a
linking number calculation can proceed, then it is quite clear that the
model is defective and a molecular dynamics calculation is unlikely to
succeed.
The linking number is stored.
At every UserAfterInterval steps of the molecular dynamics simulation, the userafter
method calculates the linking number and compares it with the stored
value. If the numbers are different, this would indicate that strand
crossing has occurred and the simulation is stopped immediately (by
raising a Runtime exception).
Dynamics
This
function makes use of the customized molecular dynamics class to carry out a molecular dynamics simulation.
The arguments are:
| Keyword |
Description |
Default Value |
| dnamodel |
Target for molecular dynamics: a Model object for a rrDNAv1 model |
- |
| picosec |
Duration of the simulation in picoseconds |
- |
| startT |
If not None, set the temperature to this value before the simulation |
None |
| finalT |
If
not None and thermdiv is greater than 0, adjust the temperature at
every thermdiv step, such that the temperature is at this value at the
end of the simulation. This is only a target and the final temperature
may not be exactly this value. |
None |
| therm |
Thermalization method: other acceptable values are "SCALE" and "BERENDSEN". |
"NEW" |
| thermdiv |
Thermalization Interval (Motors.ThermalizationInterval) |
100 |
Note that "-" indicates that there is no default value (and a value must be supplied) and "None" is an actual value.
Set thermdiv to 0 for a free dynamics simulation; settings for therm and finalT will have no effect.
Anneal
This
function makes use of the customized molecular dynamics class to carry out a simulated annealing calculation.
The arguments are:
| Keyword |
Description |
Default Value |
| dnamodel |
Target for simulated annealing: a Model object for a rrDNAv1 model |
- |
| highT |
Highest temperature [K] |
500 |
| heat |
First, the model is heated from 1 K to the highest temperature over this duration [picoseconds] |
None |
| hold |
Then, the model is held at the highest temperature for this length of time [picoseconds] |
None |
| cool |
Finally, the model is cooled to 1 K over this period [picoseconds] |
None |
Note that "-" indicates that there is no default value (and a value must be supplied) and "None" is an actual value.
The thermalization method used for heating is "NEW" and "SCALE" is used for the remaining stages.
If any duration (heat, hold, cool)
is at the default value, it is calculated as multiples of one quarter
of the total atom count for the model, rounded to the nearest hundred.
The multipliers are 1, 1 and 10 respectively. For example, in a 3DNA
model of 1236 basepairs, there are a total of 3708 atoms. A quarter of
that is 927 and the nearest hundred is 900. Thus heat and hold will be 900 ps and cool will be 9000 ps, unless the user supplies actual numbers.
Analysis
Service
Functions
|