{"id":19850076,"url":"https://github.com/neudinger/pydockrmsd","last_synced_at":"2025-05-01T22:30:58.617Z","repository":{"id":38319266,"uuid":"348121394","full_name":"neudinger/pyDockRMSD","owner":"neudinger","description":"Root-mean-square deviation of atomic positions","archived":false,"fork":false,"pushed_at":"2023-10-06T15:16:24.000Z","size":72403,"stargazers_count":9,"open_issues_count":2,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-04-23T09:07:52.257Z","etag":null,"topics":["cheminformatics","cython","docking-programs","linux","macos","protein-binding-pocket","protein-ligand-docking","protein-receptor-structures","python3","rdkit-chem"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"eupl-1.2","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/neudinger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-03-15T21:01:31.000Z","updated_at":"2024-11-03T09:34:25.000Z","dependencies_parsed_at":"2022-08-17T17:50:54.565Z","dependency_job_id":null,"html_url":"https://github.com/neudinger/pyDockRMSD","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neudinger%2FpyDockRMSD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neudinger%2FpyDockRMSD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neudinger%2FpyDockRMSD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/neudinger%2FpyDockRMSD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/neudinger","download_url":"https://codeload.github.com/neudinger/pyDockRMSD/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251954805,"owners_count":21670878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cheminformatics","cython","docking-programs","linux","macos","protein-binding-pocket","protein-ligand-docking","protein-receptor-structures","python3","rdkit-chem"],"created_at":"2024-11-12T13:24:14.627Z","updated_at":"2025-05-01T22:30:53.609Z","avatar_url":"https://github.com/neudinger.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# DockRMSD\n\n[![PyPI Download](https://img.shields.io/pypi/dm/pydockrmsd)](https://pypistats.org/packages/pydockrmsd)\n[![PyPI implementation](https://img.shields.io/pypi/implementation/pydockrmsd.svg)](https://pypi.python.org/pypi/pydockrmsd/)\n\n## Abstract\n\nDocked Root-mean-square deviation of atomic positions [Paper](https://jcheminf.biomedcentral.com/articles/10.1186/s13321-019-0362-7)\n\nDockRMSD 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\n\n## Descriptions\n\n\n[![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)\n\n![formula](https://render.githubusercontent.com/render/math?math={\\mathrm{RMSD}=\\sqrt{\\frac{1}{N}\\sum_{i=1}^N\\delta_i^2}})\n\n\u003c!-- $$\n\\mathrm{RMSD}=\\sqrt{\\frac{1}{N}\\sum_{i=1}^N\\delta_i^2}\n$$ --\u003e\n\n![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})})\n\n\u003c!-- $$\n\\mathrm{RMSD}(\\mathbf{v}, \\mathbf{w})\n= \\sqrt{\\frac{1}{n}\\sum_{i=1}^n \\|v_i - w_i\\|^2}\n= \\sqrt{\\frac{1}{n} \\sum_{i=1}^n ((v_{ix} - w_{ix})^2 + (v_{iy} - w_{iy})^2 + (v_{iz} - w_{iz})^2})\n$$ --\u003e\n\n## Paper extract\n\n\u003e 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\n\n[DockRMSD PDF paper](https://zhanglab.ccmb.med.umich.edu/DockRMSD/DockRMSD.pdf)\n\n## Usage\n\nPlease use mamba for fast download and installation\n\n```sh\nconda install mamba -n base -c conda-forge\n```\n\n### Local Install\n\n*NIX systems only:\nLinux and MacOS\n\nRemove all previous pydockrmsd installation\n\n\u003e If you have MacOS with apple silicon 'M' processor, please use manual installation.\n\u003e Github Action cannot handle apple silicon yet\n\n```bash\npip uninstall pydockrmsd\n```\n\n```bash\nmamba env create --name pydockrmsd --file condaenv/requirement.yml\nconda activate pydockrmsd\nmamba env update --name pydockrmsd --file condaenv/ci-cd.yml --prune\n./scripts/install.sh\n```\n\n### Pypi install\n\nBuild Requirement\n\n```bash\npip install -r requirements.txt\n```\n\nDirect Download\n\n```bash\npip install pydockrmsd # pypi source\n```\n\n## Example\n\n- [crystal_bench.py](https://github.com/neudinger/pyDockRMSD/blob/main/examples/crystal_bench.py)\n  - `rdkit, pandas, numpy, pyarrow` required\n- [crystal_bench.ipynb](https://github.com/neudinger/pyDockRMSD/blob/main/examples/crystal_bench.ipynb)\n[DockRMSD Website](https://zhanglab.ccmb.med.umich.edu/DockRMSD/) python Wrapper: docking pose distance calculation\n\nPython 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).\n\nPyDockRMSD Written by Barre Kevin, DockRMSD Written by Eric Bell\n\n## Os supported\n\n- Linux\n- Mac OS\n- Windows\n\n### Tools used\n\n![Cython](https://cython.readthedocs.io/en/latest/_static/cythonlogo.png) ![Python](https://www.python.org/static/img/python-logo.png)\n\u003cimg src=\"https://pdoc3.github.io/pdoc/logo.png\" width=\"100\" height=\"100\"\u003e\n\n- [cython](https://cython.readthedocs.io/en/latest/)\n- [pdoc3](https://pdoc3.github.io/pdoc/)\n- [pandoc](https://pandoc.org/)\n- pandas\n- pyarrow (file.parquet as file storage system)\n- [cibuildwheel](https://cibuildwheel.readthedocs.io/en/stable/) (cross compilation)\n\n## Documentation\n\n## Simple Usage\n\n```python\nfrom pydockrmsd.dockrmsd import PyDockRMSD\nimport pydockrmsd.hungarian as hungarian\ndockrmsd = PyDockRMSD(\"./data/targets/1a8i/crystal.mol2\",\n                      \"./data/targets/1a8i/vina1.mol2\")\nprint(dockrmsd.rmsd)\nprint(dockrmsd.total_of_possible_mappings)\nprint(dockrmsd.optimal_mapping)\nprint(dockrmsd.error)\nprint(hungarian(\"./data/targets/1a8i/crystal.mol2\",\n                \"./data/targets/1a8i/vina1.mol2\"))\n```\n\n## License\n\nThis 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.\n\n### Local documentation\n\n```bash\npdoc3 pydockrmsd --http localhost:8080\n```\n\nTag:\n\n- v: Version\n- d: Documentation\n- b: Build\n- p: Publish\n- t: Test\n\n\n## Issues\n\nCorresponding issues:\n\n- [x] [neudinger/pyDockRMSD#3](https://github.com/neudinger/pyDockRMSD/issues/3)\n\n[CHANGELOG](CHANGELOG.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneudinger%2Fpydockrmsd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fneudinger%2Fpydockrmsd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fneudinger%2Fpydockrmsd/lists"}