Coder Social home page Coder Social logo

byun-jinyoung / openmm-atmmetaforce-plugin Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gallicchio-lab/openmm-atmmetaforce-plugin

0.0 0.0 0.0 3.64 MB

An OpenMM plugin that implements the Alchemical Transfer Potential

License: GNU Lesser General Public License v2.1

CMake 3.20% Python 7.05% Shell 0.06% C++ 87.93% C 0.83% SWIG 0.93%

openmm-atmmetaforce-plugin's Introduction

Alchemical Transfer Method Meta-Force OpenMM Plugin

An OpenMM plugin that implements the Alchemical Transfer Potential (ATM) for absolute and relative binding free energy calculations.

References

The Alchemical Transfer Method (ATM) is based on a coordinate transformation to transfer directly the ligand from the solvent bulk to the binding site. A similar coordinate transformation is used to swap the positions of two ligands between the solvent and the binding site for relative binding free energy calculations. The method uses one simulation box, prepared with standard tools, without the need of dummy atoms nor alchemical topologies. In principle, any molecular file format supported by OpenMM is supported by this plugin.

ATM and its applications are described in the following publications:

Alchemical Transfer Approach to Absolute Binding Free Energy Estimation. J. Chem. Theory and Comput. 17, 3306 (2021)

Relative Binding Free Energy Calculations for Ligands with Diverse Scaffolds with the Alchemical Transfer Method. ArXiv Preprint 2107.05153 (2021)

Application of the Alchemical Transfer and Potential of Mean Force Methods to the SAMPL8 Host-Guest Blinded Challenge

Credits

This software is written and maintained by Emilio Gallicchio [email protected].

The plugin interface is based on the openmmexampleplugin by Peter Eastman.

The design of the Meta-Force is based on the implementation of OpenMM's CustomCVForce by Peter Eastman. Peter Eastman also guided much of the development of this plugin. See OpenMM's issue #3045 for an account.

This implementation is essentially a Force-based port of the Integrator-based approach of the openmm_sdm_plugin by Rakat K. Pal and others.

Support from the National Science Foundation CAREER 1750511 is gratefully acknowledged.

Requirements

OpenMM 7.5.0 or later. Tested with OpenMM 7.5.0 and 7.6.0.

Only the Reference and OpenCL platforms are currently supported. CUDA support will be added in the near future through OpenMM's Common Compute platform.

License

This software is released under the LGPL license. See LICENSE.

Installation

Locate the OpenMM installation directory, otherwise it will default to /usr/local/openmm.

Download this package from github:

git clone https://github.com/Gallicchio-Lab/openmm-atmmetaforce-plugin.git

Build and install the plugin with cmake. Assuming a unix system:

mkdir build_openmm_atmplugin
cd build_openmm_atmplugin
ccmake -i ../openmm-atmmetaforce-plugin

Hit c (configure) until all variables are correctly set, then g to generate the makefiles. OPENMM_DIR should point to an existing OpenMM installation. CMAKE_INSTALL_PREFIX normally is the same as OPENMM_DIR. The plugin requires the python API. You need python and swig to install it.

Once the configuration is done do:

make
make install
make PythonInstall

The last two steps may need superuser access depending on the installation target. It is recommended to build the plugin under a conda environment to install the python modules without superuser access.

Test

Go to example/abfe/, set the OPENMM_DIR environment variable to point to the OpenMM installation location with this plugin. Then do:

../runopenmm abfe.py

Repeat for the example under example/rbfe/:

../runopenmm rbfe.py

Each test produces a short MD run for a SAMPL8 host-guest system at the alchemical intermediate state at λ=1/2. The first is for the absolute binding free energy calculation and the second for relative binding. Each generates an output file, .out, of the form:

300.000000 0.500000 0.500000 0.500000 0.000000 0.000000 0.000000 -69967.037957 -0.956023
300.000000 0.500000 0.500000 0.500000 0.000000 0.000000 0.000000 -69923.338273 -0.836520
300.000000 0.500000 0.500000 0.500000 0.000000 0.000000 0.000000 -69737.383816 5.048996
300.000000 0.500000 0.500000 0.500000 0.000000 0.000000 0.000000 -69704.356182 1.195029
...

where each line is a sample from the MD run. The first column is the temperature, the second is λ, then λ1, λ2, α, u0, w0, the total potential energy, and the last column is the alchemical perturbation energy u in kcal/mol energy units. The set of perturbation energies collected at a series of λ-values is used to compute the binding free energy. See the references above for the theoretical background and the details of the method.

openmm-atmmetaforce-plugin's People

Contributors

egallicc avatar rajatkrpal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.