OpenMM: Difference between revisions
Line 38: | Line 38: | ||
python openmm_input.py | python openmm_input.py | ||
}} | }} | ||
Here openmm_input.py is a python script loading amber files, creating the OpenMM simulation system, setting up the integration, and running dynamics. Example openmm_input.py is available [https://mdbench.ace-net.ca/mdbench/idbenchmark/?q=129 here]. |
Revision as of 19:45, 29 January 2022
Introduction
OpenMM is a toolkit for molecular simulation. It can be used either as a stand-alone application for running simulations or as a library you call from your own code. It provides a combination of extreme flexibility (through custom forces and integrators), openness, and high performance (especially on recent GPUs) that makes it unique among MD simulation packages.
Running Simulation with AMBER Topology and Restart Files
Preparing Python Virtual Environment
This example is for the openmm/7.7.0 module.
1. Create and actvate Python virtual environment
[name@server ~] module load python
[name@server ~] virtualenv $HOME/env-parmed
[name@server ~] source $HOME/env-parmed/bin/activate
2. Install ParmEd and netCDF4 Python modules
(env-parmed)[name@server ~] pip install parmed==3.4.3 netCDF4
Job submission
Below is a job script for a simulation using one GPU.
#!/bin/bash
#SBATCH -cpus-per-task --gpus=1
#SBATCH --mem-per-cpu=4000 --time=1:0:0
# Usage: sbatch $0
module purge
module load StdEnv/2020 gcc/9.3.0 cuda/11.4 openmpi/4.0.3
module load python/3.8.10 openmm/7.7.0 netcdf/4.7.4 hdf5/1.10.6 mpi4py/3.0.3
source $HOME/env-parmed/bin/activate
python openmm_input.py
Here openmm_input.py is a python script loading amber files, creating the OpenMM simulation system, setting up the integration, and running dynamics. Example openmm_input.py is available here.