As chemoinformatitians know that TeachOpenCADD(TOCADD) is one of the really useful site for learning in-silico drug discovery pipeline. It supports wide range of chemoinformatics not only LBDD but also SBDD. New version of TOCADD supports Molecular dynamics(MD) tutorial with openmm.
The talktorial T019 and T020 show how to run and analyse MD with openmm and related packages based jupyter notebook. IMHO, jupyter-notebook is really useful tool for ad hock analysis but it isn’t fit batch process.
So I would like to convert the tutorial code for batch process ;)
Here is my code (still developing..)
To use the package, user should install required packages at first. For example…
$ mamba install -c conda-forge openmm openff-toolkit openff-evaluator mdtraj rdkit mdanalysis mdanalysistests
Then install the repo.
$ gh repo clone iwatobipen/openmm_runner $ cd openmm_runner $ pip install -e .
Currently openmm_makeconfig and openmm_runmd command will be available after installation. ‘openmm_makeconfig’ command generates config template for MD run.
$ openmm_makeconfig $ cat config_template.yml pdb_file: '' resname: '' lig_smiles: '' ignore_missing_residues: false ignore_terminal_missing_residues: false ph: 7.0 data_path: data protein_ff: amber14-all.xml solvent_ff: amber14/tip3pfb.xml integrator: LangevinIntegrator integrator_settings: temperature: 300 frictionCoeff: 1.0 stepSize: 2.0 platform: name: CUDA properties: DeviceIndex: '0' md_steps: 1000 write_interval: 1 log_interval: 1
pdb_file:, resname: and lig_smiles: should be provided from user. pdb_file is PDB which is used for MD, resname is ligand name in the PDB file and lig_smiles is SMILE strings for assigning the bond order for ligand.
I used 3POZ.pdb for test as same as TOCADD, the resname is ’03P’. So config.yml should be…
# if your PC doesn’t have GPU, please change following part from ‘CUDA’ to ‘CPU’ and proterties: “”
Now ready to run MD, to run the MD, it’s easy, just call openmm_runmd with config file. *To run the script, pdb file should be downloaded in the current directory off course ;)
$ openmm_runmd config.yml
The command will prepare protein(add missing residue, proton and minimization) and ligand, run MD simulation. Current code supports only one integrator but I would like to support other integrators.
After the running code, results will be stored data folder.
Post MD analysis is done with mdanalysis. The code is uploaded as jupyter-notebook. The code is shown here.
There are lots of open source packages available in these days. And we can get useful information from web such as TOCADD. It’s really amazing things I think.
OpenMM is useful because it’s OSS, has good document and has great user community.
I would like to say thank to TOCADD and Openmm developer. Please let me know if you have any questions, requests and comments about the code.
Thanks for reading.