Protein in Solution: CpHMD simulation - mms-fcul/CpHMD-container GitHub Wiki
Caution
When using PME to treat long-range electrostatics, it is required for the system to be near neutrality!
We will detail a recommended approach in the Section 2
When all the settings within the .settings file are verified and confirmed, you are set to run CpHMD simulations.
The program will perform several cycles in the following logic:
- PB/MC calculation to set the protonation/tautomer state for each titratable residue of the structure.
- Solvent relaxation (MD relax) for water to adjust to the new titratable site states.
- Production run (MD) of 20 ps to run dynamics of the new states and let the protein change its state.
These cycles will keep repeating until your defined SimTime is reached!
To start your CpHMD calculation, you will simply need to do:
for CPU only
singularity exec --bind <your home directory> <CpHMD container> /CpHMD/scripts/CpHMD.sh <CpHMD.settings file>
for GPU
singularity exec --nv --bind <your home directory> <CpHMD container> /CpHMD/scripts/CpHMD.sh <CpHMD.settings file>
In this tutorial, we have defined our CpHMD.settings to run on GPU support and binding the home directory to the parent folder of this tutorial, this will ensure the mount of the folder where the system preparation was performed.
If one prefers to keep everything contained in the same folder, it is as simple as copying the .gro, .top, and .ndx files to the running directory, referencing them in the CpHMD.settings, and mounting the current directory to run the program.
singularity exec --nv --bind $HOME ../boxmin/CpHMD.sif /CpHMD/scripts/CpHMD.sh CpHMD-basic.settings
Important
When running simulations using PME long-range treatment, this step is crucial for the health of your simulations!!
System neutrality is required for the PME treatment of long-range interactions. Currently, GROMACS overcomes this requirement by tacking the residual charge of the system and spreading it through the system box. This approach is correct when the charge to spread through the system is kept low, therefore the user should aim at the lowest possible total charge of the system.
This, however, becomes a large problem for CpHMD simulations where the titratable molecules of our system are changing their protonation state. Depending on the pH value inputted on the system, there could be one total system charge, while at a different pH, a completely different charge may be present.
The steps we advise to ensure that the CpHMD simulations are within acceptable system charges are:
- Run a small (5 ns) CpHMD simulation of your system. This is a pre-run to determine the base charge of your system.
- After finding the correct system charge at the pH value you are interested in, correct the ions of your system with a tool like gmx genion.
- If the starting charge of your system was too large, it is advisable to re-run the first step to ensure you are near neutrality.
When the user is confident that the system will not diverge too much from neutrality (within +/-4 charge), it is safe to run your simulations with PME.
Upon running the command, all the steps performed in the CpHMD production run will be outputted to the terminal; it is advised to redirect this output to a file at the user's discretion. If any error arises, usually it is verbally outputted and the simulation is stopped.
When debugging possible errors, in the running directory, you will have available the CpHMD-run_$$ folder, where all the files generated from the run are. Debugging CpHMD is quite complex, and it depends on the origin of the error, whether it was an MD error or a PB/MC error. Most times we have outputted an error message explaining what went wrong.
If all went well with the simulation, the program will output to the current folder the following files:
- Regular MD run files (.edr, .xtc, .gro, .tpr)
- _CpHMD.occ file, which will have the selected states derived from the PB/MC for each site (columns) and cycles (rows).
- _CpHMD.mocc file, which is similar to occ but instead of the states it has the protonation probability of each site (columns) at each cycle (rows).
- _CpHMD.info file, where you can find the time spent on each of the steps at each cycle performed on your simulation.