Coder Social home page Coder Social logo

talagayev / openmmdl Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wolberlab/openmmdl

0.0 0.0 0.0 141.57 MB

Interface to OpenMM for easy setup of molecular dynamic simulations of protein-ligand complexes

License: MIT License

Python 83.41% Jupyter Notebook 0.79% HTML 14.93% Shell 0.86%

openmmdl's Introduction

Code style: black codecov Python Python 3.10

Interface to OpenMM for easy setup of molecular dynamic simulations of protein-ligand complexes

http://openmmdl.readthedocs.io/

Install

Clone this repository

Open a new terminal and clone this repository

cd ~
git clone https://github.com/wolberlab/OpenMMDL

Install all required dependencies in a separate environment

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

Install the openmmdl package with pip

pip install .

OpenMMDL Setup

OpenMMDL Setup will allow you to prepare the files needed to perform a protein-ligand complex MD simulation with OpenMM.

Usage

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

OpenMMDL Simulation starts the MD simulation with the inputs acquired from OpenMMDL Setup.

Usage

Start the simulation with the following Inputs:

Mandatory:

-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

Optional:

-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

Command line example with ligand

openmmdl_simulation -f {path/to/folder_name} -t {path/to/topology} -s {path/to/script} -l {path/to/ligand}

OpenMMDL Analysis

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.

Usage

Start the analysis with the following Inputs:

Mandatory:

-t = topology file of the simulation (in .pdb format)

-d = trajectory file of the simulation (in .dcd format)

Optional:

-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).

Command line example with default values

openmmdl_analysis -t {path/to/topology} -d {path/to/trajectory} -n {Ligand_name}

Visualization

Most of the analysis outputs are JEPG images and do not need any further preparation to be viewed.

For the visualization of your trajectory with interaction pointclouds you can use the jupyter notebook prepared in the OpenMMDL repository.

Or use this command:

openmmdl_visualization

Then edit the notebook to include the output of your analysis.

Copyright

Copyright (c) 2022, Valerij Talagayev, Yu Chen & Niklas Piet Doering (Wolber lab)

Acknowledgments

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.

License Documentation Status

openmmdl's People

Contributors

talagayev avatar ndoering99 avatar habacef avatar gwolber avatar xixichennn 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.