Interface to OpenMM for easy setup of molecular dynamic simulations of protein-ligand complexes
http://openmmdl.readthedocs.io/
Open a new terminal and clone this repository
cd ~
git clone https://github.com/wolberlab/OpenMMDL
OpenMMDL is written in Python 3.10 and uses several packages, which can be easily installed on a separate environment using conda (we recommend using miniconda):
cd OpenMMDL
conda create -n openmmdl -c conda-forge --file requirements.txt
After installation, activate the conda environment:
conda activate openmmdl
pip install .
OpenMMDL Setup will allow you to prepare the files needed to perform a protein-ligand complex MD simulation with OpenMM.
Start OpenMMDL Setup by executing the command:
openmmdl_setup
The OpenMMDL Setup interface is displayed through a web browser, but it is still a single-user desktop application, not a web application. It should automatically open a web browser displaying the user interface. If that does not happen for any reason, open a browser and point it to the address displayed in the console window (e.g. http://127.0.0.1:5000).
Download the processed PDB file and Python script, which will serve as input for the OpenMMDL Simulation script.
OpenMMDL Simulation starts the MD simulation with the inputs acquired from OpenMMDL Setup.
Start the simulation with the following Inputs:
-f = Name of the folder, where the MD simulation files are stored
-t = Topology file of your protein from the setup including the path
-s = Python script from the setup including the path
-l = SDF file of the ligand, if the ligand was selected during OpenMMDL Setup. The SDF file name should be consistent with the input in the setup
-c = Coordinates file of Amber
openmmdl_simulation -f {path/to/folder_name} -t {path/to/topology} -s {path/to/script} -l {path/to/ligand}
OpenMMDL Analysis performs an analysis of the MD simulation obtained from OpenMMDL Simulation. It analyzes the protein-ligand complex interactions throughout the MD trajectory, delivering the list of all possible interactions. In addition, it generates interaction fingerprints, provides the most occurring so-called Binding Modes and displays the transitions between the separate binding modes.
If there is no ligand given, OpenMMDL Analysis will instead analyze the trajectory on stable water molecules and cluster those at positions where in at least 75% frames of the MD a water molecule is present. Outputs include a PDB with representative waters and a CSV of nearby protein residue numbers and chains as well as PDBs of each water cluster.
Start the analysis with the following Inputs:
-t = topology file of the simulation (in .pdb format)
-d = trajectory file of the simulation (in .dcd format)
-n = Ligand name (3 letter code in PDB)
-l = Ligand in SDF format
-b = binding mode threshold. Is used to remove interactions under the defined procentual occurence from the binding mode generation. The default is 40% (accepted values: 0-100)
-df = Dataframe (use if the interactions were already calculated, default name would be "interactions_gathered.csv")
-m = minimal transition threshold. Is used for the display of the binding mode transitions in the Markov state chains network figure. The default value is 1
-c = CPU count, specify how many CPUs should be used, default is half of the CPU count.
-p = Generate .pml files for pharmacophore visualization. The default is False (accepted values: True/False)
-s = special ligand name to calculate interactions with special ligands.
-nuc = Treat nucleic acids as receptor
-pep = Calculate interactions with peptides. Give the peptide chain name as input. Defaults to None
-ref = Add a reference PDB to renumber the residue numbers. Defaults to None (accepted values: str of PDB)
-r = Calculate the RMSD difference between frames. The default is False (accepted values: True/False)
-w = stable-water-analysis. Defines if the analysis of stable water molecules should be performed. The default is False (accepted values: True/False)
--watereps = the EPS of the clustering part during the water analysis. will only result in something if "-w True" is added. Accepts float (in Angstrom).
--figure = File type for the figures, default is png. Can be changed to all file types supported by matplotlib.
openmmdl_analysis -t {path/to/topology} -d {path/to/trajectory} -n {Ligand_name}
Most of the analysis outputs are JEPG images and do not need any further preparation to be viewed.
For the visualization of your complex with interaction pointclouds you can use NGLView with the jupyter notebook prepared in the OpenMMDL repository or visualize the pointclouds in PyMOL.
openmmdl_visualization
--type = Software you wish to visualize openmmdl interactions with. Options: nglview, pymol. Default: nglview
After running the start comand a jupyter notebook will automatically open. Edit the notebook to include the output files of your analysis. Then run all cells.
After running the start comand a python skript will apear in your directory. Open up PyMOL then run these two comands in the PyMOL console:
run visualization_pymol.py
openmdl_visualization PATH_TO_interacting_waters.pdb, modulePATH_TO_clouds.json
Copyright (c) 2022, Valerij Talagayev, Yu Chen, Niklas Piet Doering & Leon Obendorf (Wolber lab)
The Script is based upon the OpenMM Toolkit OpenMM Many thanks to all of the creators and contributors of the OpenMM Toolkit, especially a big thank you to jchodera, peastman, mikemhenry and the whole choderalab
The Simulation script is heavily inspired by the CADD T019 Talkatorial (https://github.com/volkamerlab/teachopencadd/tree/master/teachopencadd/talktorials/T019_md_simulation) Thanks to the members of the Volkamer Lab, especially dominiquesydow, schallerdavid and AndreaVolkamer.
The Setup script is a modified version of openmm-setup.
This Project is based on the Computational Molecular Science Python Cookiecutter version 1.1.