This repository tries to introduce the molecular dynamics of the protein-ligand complex to more people, especially beginners, through open-sourced resources.
It is assumed you already have Anaconda/Miniconda installed on your Linux/Mac computer.
git clone https://github.com/quantaosun/Ambertools-OpenMM-MD.git
cd Ambertools-OpenMM-MD
Create a new Conda environment named "Amber ". Please modify the prefix path inside the yml file to your conda env path.
conda env create -f environment_pined.yml
Activate the new environment.
Conda activate Amber
In the new environment, install jupyter notebook (only run this for the 1st time)
conda install jupyter
Start jupyter notebook and run the "Amber-OpenMM-MD.ipynb"
jupyter notebook Ambertools-OpenMM-MD.ipynb
The energy-related section is not included in the notebook since I added this later; I put it here instead. Note that if some of the file names in your simulation have been modified, you also need to modify the names of the files below inside the coding cell.
For new users, it is suggested that GB-based decomposition be tried before PB due to its difficulty and longer time requirement. The following script takes 3RY2, biotin-bound protein as an example. The simulation was finished by making-it-rain online for free. We can use it the same way here. Changing the input name is fine. Note that the code below does the binding free energy decomposition to all your protein residues, not on your binding pocket residues only, so you might need to extract those residues yourself for analysis.
&general
endframe=1000, interval=100, strip_mask=:WAT:Na+:Cl-:Mg+:K+,
/
&gb
igb=2, saltcon=0.15,
/
&decomp
idecomp=1,
/
The decomposed data is saved in a file called FINAL_DECOMP_MMPBSA.dat
But first, let's define Amber's home
source /usr/local/amber.sh
ante-MMPBSA.py -p SYS_gaff2.prmtop -c com.prmtop -r rec.prmtop -l ligand.prmtop -s :WAT:Na+:Cl-:Mg+:K+ -n :LIG --radii mbondi2
MMPBSA.py -O -i mmpbsa.in -o FINAL_RESULTS_MMPBSA_decomposition.dat -sp SYS_gaff2.prmtop -cp com.prmtop -rp rec.prmtop -lp ligand.prmtop -y prot_lig_prod_all.dcd
H++ webserver troubleshooting: If you consistently encounter problems with missing residues that PDBfixer can not fix, you are suggested to use predicted structures from AlphaFold2 https://alphafold.ebi.ac.uk/ (for example, right) instead of PDB bank version (for example, left). There will be some weird-looking branches, but that is fine to carry on. Please delete any repeated chains if it has multiple chains to increase simulation speed and minimise the chances of having unnecessary errors about multiple chains.
Ambertools' "reduce" and open babel sometimes gives the wrong H number. For example, it was accidentally adding an H to a carbonyl group or adding an extra H to an aromatic ring it shouldn't have. An error will be saying, "The electro number is odd." In this case, you should carefully check the chemical structure after adding hydrogen. If "reduce" or Obabel keeps adding the wrong number, please consider using Pymol's "h_add" to add H to small molecules and compare it to the result out of "reduce" or Obabel. The error is currently unclear as to why it happens, but the error always adds more H, not less, to the best of my knowledge.