Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/neudinger/pydockrmsd
Root-mean-square deviation of atomic positions
https://github.com/neudinger/pydockrmsd
cheminformatics cython docking-programs linux macos protein-binding-pocket protein-ligand-docking protein-receptor-structures python3 rdkit-chem
Last synced: 2 months ago
JSON representation
Root-mean-square deviation of atomic positions
- Host: GitHub
- URL: https://github.com/neudinger/pydockrmsd
- Owner: neudinger
- License: eupl-1.2
- Created: 2021-03-15T21:01:31.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-10-06T15:16:24.000Z (over 1 year ago)
- Last Synced: 2024-11-11T06:25:02.354Z (2 months ago)
- Topics: cheminformatics, cython, docking-programs, linux, macos, protein-binding-pocket, protein-ligand-docking, protein-receptor-structures, python3, rdkit-chem
- Language: C
- Homepage:
- Size: 69 MB
- Stars: 9
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# DockRMSD
[![PyPI Download](https://img.shields.io/pypi/dm/pydockrmsd)](https://pypistats.org/packages/pydockrmsd)
[![PyPI implementation](https://img.shields.io/pypi/implementation/pydockrmsd.svg)](https://pypi.python.org/pypi/pydockrmsd/)## Abstract
Docked Root-mean-square deviation of atomic positions [Paper](https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0362-7)
DockRMSD is capable of deterministically identifying the minimum symmetry-corrected RMSD and is able to do so without significant loss of computational efficiency compared to other methods. The open-source DockRMSD program can be conveniently integrated with various docking pipelines to assist with accurate atomic mapping and RMSD calculations, which can therefore help improve docking performance, especially for ligand molecules with complicated structural symmetry
## Descriptions
[![GitHub license](https://img.shields.io/badge/license-EUPL-blue.svg)](https://raw.githubusercontent.com/herotc/hero-rotation/master/LICENSE) [![Build Github Status](https://github.com/neudinger/pyDockRMSD/workflows/Build%20pydockrmsd/badge.svg)](https://github.com/neudinger/pyDockRMSD/actions) [![PyPI version](https://badge.fury.io/py/pydockrmsd.svg)](https://badge.fury.io/py/pydockrmsd)
![formula](https://render.githubusercontent.com/render/math?math={\mathrm{RMSD}=\sqrt{\frac{1}{N}\sum_{i=1}^N\delta_i^2}})
![formula](https://render.githubusercontent.com/render/math?math={\mathrm{RMSD}(\mathbf{v},\mathbf{w})=\sqrt{\frac{1}{n}\sum_{i=1}^n\|vi-w_i\|^2}=\sqrt{\frac{1}{n}\sum{i=1}^n((v{ix}-w{ix})^2+(v{iy}-w{iy})^2+(v{iz}-w{iz})^2})})
## Paper extract
> Computer-aided drug design, in particular protein–ligand docking, has brought about the discovery of many biologically active drugs [1, 2]. In many protein–ligand docking programs, a flexible small molecule structure is docked in a rigid protein receptor structure in order to find the optimal binding conformation and affinity of the small molecule within the protein binding pocket. Since the ability of these programs to accurately assess binding affinity is dependent on their ability to find the optimal conformation of the ligand in the protein binding pocket, docking programs are often benchmarked by their ability to reproduce the native binding pose of a ligand from a protein–ligand complex crystal structure. A common metric used to evaluate distance between the predicted pose and the native pose, given a superposition of their protein receptor structures, is the root mean square deviation (RMSD) between their respective atoms
[DockRMSD PDF paper](https://zhanglab.ccmb.med.umich.edu/DockRMSD/DockRMSD.pdf)
## Usage
Please use mamba for fast download and installation
```sh
conda install mamba -n base -c conda-forge
```### Local Install
*NIX systems only:
Linux and MacOSRemove all previous pydockrmsd installation
> If you have MacOS with apple silicon 'M' processor, please use manual installation.
> Github Action cannot handle apple silicon yet```bash
pip uninstall pydockrmsd
``````bash
mamba env create --name pydockrmsd --file condaenv/requirement.yml
conda activate pydockrmsd
mamba env update --name pydockrmsd --file condaenv/ci-cd.yml --prune
./scripts/install.sh
```### Pypi install
Build Requirement
```bash
pip install -r requirements.txt
```Direct Download
```bash
pip install pydockrmsd # pypi source
```## Example
- [crystal_bench.py](https://github.com/neudinger/pyDockRMSD/blob/main/examples/crystal_bench.py)
- `rdkit, pandas, numpy, pyarrow` required
- [crystal_bench.ipynb](https://github.com/neudinger/pyDockRMSD/blob/main/examples/crystal_bench.ipynb)
[DockRMSD Website](https://zhanglab.ccmb.med.umich.edu/DockRMSD/) python Wrapper: docking pose distance calculationPython atom mapping and RMSD calculation of symmetric molecules through [graph](https://en.wikipedia.org/wiki/Graph_isomorphism) [isomorphism](https://en.wikipedia.org/wiki/Isomorphism). ___Journal of Cheminformatics___, 11:40 (2019).
PyDockRMSD Written by Barre Kevin, DockRMSD Written by Eric Bell
## Os supported
- Linux
- Mac OS
- Windows### Tools used
![Cython](https://cython.readthedocs.io/en/latest/_static/cythonlogo.png) ![Python](https://www.python.org/static/img/python-logo.png)
- [cython](https://cython.readthedocs.io/en/latest/)
- [pdoc3](https://pdoc3.github.io/pdoc/)
- [pandoc](https://pandoc.org/)
- pandas
- pyarrow (file.parquet as file storage system)
- [cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/) (cross compilation)## Documentation
## Simple Usage
```python
from pydockrmsd.dockrmsd import PyDockRMSD
import pydockrmsd.hungarian as hungarian
dockrmsd = PyDockRMSD("./data/targets/1a8i/crystal.mol2",
"./data/targets/1a8i/vina1.mol2")
print(dockrmsd.rmsd)
print(dockrmsd.total_of_possible_mappings)
print(dockrmsd.optimal_mapping)
print(dockrmsd.error)
print(hungarian("./data/targets/1a8i/crystal.mol2",
"./data/targets/1a8i/vina1.mol2"))
```## License
This project is open source licensed under the EUROPEAN UNION PUBLIC LICENCE v. 1.2 EUPL © the European Union 2007, 2016 License. Please see the [LICENSE](LICENSE.md) for more information.
### Local documentation
```bash
pdoc3 pydockrmsd --http localhost:8080
```Tag:
- v: Version
- d: Documentation
- b: Build
- p: Publish
- t: Test## Issues
Corresponding issues:
- [x] [neudinger/pyDockRMSD#3](https://github.com/neudinger/pyDockRMSD/issues/3)
[CHANGELOG](CHANGELOG.md)