pocketvina 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. pocketvina-0.2.0/LICENSE +21 -0
  2. pocketvina-0.2.0/MANIFEST.in +30 -0
  3. pocketvina-0.2.0/PKG-INFO +142 -0
  4. pocketvina-0.2.0/README.md +89 -0
  5. pocketvina-0.2.0/example/ligands.txt +10 -0
  6. pocketvina-0.2.0/example/protein_files.txt +2 -0
  7. pocketvina-0.2.0/example/proteins/1fbl.pdb +4012 -0
  8. pocketvina-0.2.0/example/proteins/2W83.pdb +6301 -0
  9. pocketvina-0.2.0/notebooks/colab_setup.py +176 -0
  10. pocketvina-0.2.0/notebooks/quickstart_colab.ipynb +306 -0
  11. pocketvina-0.2.0/pocketvina/Makefile +87 -0
  12. pocketvina-0.2.0/pocketvina/OpenCL/inc/commonMacros.h +29 -0
  13. pocketvina-0.2.0/pocketvina/OpenCL/inc/kernel2.h +244 -0
  14. pocketvina-0.2.0/pocketvina/OpenCL/inc/wrapcl.h +17 -0
  15. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/code_head.cl +4 -0
  16. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/kernel1.cl +137 -0
  17. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/kernel2.cl +165 -0
  18. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/matrix.cl +44 -0
  19. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/mutate_conf.cl +166 -0
  20. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/quasi_newton.cl +1059 -0
  21. pocketvina-0.2.0/pocketvina/OpenCL/src/kernels/visited.cl +221 -0
  22. pocketvina-0.2.0/pocketvina/OpenCL/src/wrapcl.cpp +455 -0
  23. pocketvina-0.2.0/pocketvina/PocketVina-GPU +0 -0
  24. pocketvina-0.2.0/pocketvina/__init__.py +28 -0
  25. pocketvina-0.2.0/pocketvina/__main__.py +5 -0
  26. pocketvina-0.2.0/pocketvina/bust.py +1003 -0
  27. pocketvina-0.2.0/pocketvina/cli.py +1406 -0
  28. pocketvina-0.2.0/pocketvina/convert.py +516 -0
  29. pocketvina-0.2.0/pocketvina/engine.py +557 -0
  30. pocketvina-0.2.0/pocketvina/gpu.py +384 -0
  31. pocketvina-0.2.0/pocketvina/io/__init__.py +35 -0
  32. pocketvina-0.2.0/pocketvina/io/importer.py +415 -0
  33. pocketvina-0.2.0/pocketvina/io/posefile.py +167 -0
  34. pocketvina-0.2.0/pocketvina/io/results.py +692 -0
  35. pocketvina-0.2.0/pocketvina/io/tables.py +255 -0
  36. pocketvina-0.2.0/pocketvina/io/writer.py +706 -0
  37. pocketvina-0.2.0/pocketvina/lib/1getname.bat +1 -0
  38. pocketvina-0.2.0/pocketvina/lib/LIST.TXT +75 -0
  39. pocketvina-0.2.0/pocketvina/lib/array3d.h +96 -0
  40. pocketvina-0.2.0/pocketvina/lib/atom.h +96 -0
  41. pocketvina-0.2.0/pocketvina/lib/atom_base.h +43 -0
  42. pocketvina-0.2.0/pocketvina/lib/atom_constants.h +304 -0
  43. pocketvina-0.2.0/pocketvina/lib/atom_type.h +144 -0
  44. pocketvina-0.2.0/pocketvina/lib/bfgs.h +142 -0
  45. pocketvina-0.2.0/pocketvina/lib/brick.h +71 -0
  46. pocketvina-0.2.0/pocketvina/lib/cache.cpp +584 -0
  47. pocketvina-0.2.0/pocketvina/lib/cache.h +103 -0
  48. pocketvina-0.2.0/pocketvina/lib/common.h +603 -0
  49. pocketvina-0.2.0/pocketvina/lib/conf.h +727 -0
  50. pocketvina-0.2.0/pocketvina/lib/convert_substring.h +84 -0
  51. pocketvina-0.2.0/pocketvina/lib/coords.cpp +87 -0
  52. pocketvina-0.2.0/pocketvina/lib/coords.h +36 -0
  53. pocketvina-0.2.0/pocketvina/lib/curl.h +81 -0
  54. pocketvina-0.2.0/pocketvina/lib/current_weights.cpp +73 -0
  55. pocketvina-0.2.0/pocketvina/lib/current_weights.h +30 -0
  56. pocketvina-0.2.0/pocketvina/lib/everything.cpp +540 -0
  57. pocketvina-0.2.0/pocketvina/lib/everything.h +33 -0
  58. pocketvina-0.2.0/pocketvina/lib/file.h +72 -0
  59. pocketvina-0.2.0/pocketvina/lib/grid.cpp +167 -0
  60. pocketvina-0.2.0/pocketvina/lib/grid.h +81 -0
  61. pocketvina-0.2.0/pocketvina/lib/grid_dim.h +89 -0
  62. pocketvina-0.2.0/pocketvina/lib/igrid.h +42 -0
  63. pocketvina-0.2.0/pocketvina/lib/incrementable.h +30 -0
  64. pocketvina-0.2.0/pocketvina/lib/int_pow.h +47 -0
  65. pocketvina-0.2.0/pocketvina/lib/json.hpp +25361 -0
  66. pocketvina-0.2.0/pocketvina/lib/macros.h +67 -0
  67. pocketvina-0.2.0/pocketvina/lib/main_procedure_cl.cpp +828 -0
  68. pocketvina-0.2.0/pocketvina/lib/main_procedure_cl.h +4 -0
  69. pocketvina-0.2.0/pocketvina/lib/manifold.cpp +410 -0
  70. pocketvina-0.2.0/pocketvina/lib/manifold.h +110 -0
  71. pocketvina-0.2.0/pocketvina/lib/matrix.h +190 -0
  72. pocketvina-0.2.0/pocketvina/lib/model.cpp +1763 -0
  73. pocketvina-0.2.0/pocketvina/lib/model.h +451 -0
  74. pocketvina-0.2.0/pocketvina/lib/monte_carlo.cpp +128 -0
  75. pocketvina-0.2.0/pocketvina/lib/monte_carlo.h +86 -0
  76. pocketvina-0.2.0/pocketvina/lib/mutate.cpp +127 -0
  77. pocketvina-0.2.0/pocketvina/lib/mutate.h +34 -0
  78. pocketvina-0.2.0/pocketvina/lib/my_pid.cpp +48 -0
  79. pocketvina-0.2.0/pocketvina/lib/my_pid.h +29 -0
  80. pocketvina-0.2.0/pocketvina/lib/naive_non_cache.cpp +93 -0
  81. pocketvina-0.2.0/pocketvina/lib/naive_non_cache.h +43 -0
  82. pocketvina-0.2.0/pocketvina/lib/non_cache.cpp +146 -0
  83. pocketvina-0.2.0/pocketvina/lib/non_cache.h +52 -0
  84. pocketvina-0.2.0/pocketvina/lib/parallel.h +180 -0
  85. pocketvina-0.2.0/pocketvina/lib/parallel_mc.cpp +77 -0
  86. pocketvina-0.2.0/pocketvina/lib/parallel_mc.h +49 -0
  87. pocketvina-0.2.0/pocketvina/lib/parallel_progress.cpp +29 -0
  88. pocketvina-0.2.0/pocketvina/lib/parallel_progress.h +67 -0
  89. pocketvina-0.2.0/pocketvina/lib/parse_error.h +44 -0
  90. pocketvina-0.2.0/pocketvina/lib/parse_pdbqt.cpp +652 -0
  91. pocketvina-0.2.0/pocketvina/lib/parse_pdbqt.h +43 -0
  92. pocketvina-0.2.0/pocketvina/lib/pdb.cpp +117 -0
  93. pocketvina-0.2.0/pocketvina/lib/pdb.h +62 -0
  94. pocketvina-0.2.0/pocketvina/lib/precalculate.h +352 -0
  95. pocketvina-0.2.0/pocketvina/lib/quasi_newton.cpp +70 -0
  96. pocketvina-0.2.0/pocketvina/lib/quasi_newton.h +41 -0
  97. pocketvina-0.2.0/pocketvina/lib/quaternion.cpp +268 -0
  98. pocketvina-0.2.0/pocketvina/lib/quaternion.h +159 -0
  99. pocketvina-0.2.0/pocketvina/lib/random.cpp +137 -0
  100. pocketvina-0.2.0/pocketvina/lib/random.h +39 -0
  101. pocketvina-0.2.0/pocketvina/lib/recent_history.h +76 -0
  102. pocketvina-0.2.0/pocketvina/lib/scoring_function.h +41 -0
  103. pocketvina-0.2.0/pocketvina/lib/ssd.cpp +62 -0
  104. pocketvina-0.2.0/pocketvina/lib/ssd.h +61 -0
  105. pocketvina-0.2.0/pocketvina/lib/statistics.h +249 -0
  106. pocketvina-0.2.0/pocketvina/lib/szv_grid.cpp +131 -0
  107. pocketvina-0.2.0/pocketvina/lib/szv_grid.h +52 -0
  108. pocketvina-0.2.0/pocketvina/lib/tee.h +117 -0
  109. pocketvina-0.2.0/pocketvina/lib/terms.cpp +570 -0
  110. pocketvina-0.2.0/pocketvina/lib/terms.h +333 -0
  111. pocketvina-0.2.0/pocketvina/lib/tree.h +497 -0
  112. pocketvina-0.2.0/pocketvina/lib/triangular_matrix_index.h +56 -0
  113. pocketvina-0.2.0/pocketvina/lib/weighted_terms.cpp +89 -0
  114. pocketvina-0.2.0/pocketvina/lib/weighted_terms.h +55 -0
  115. pocketvina-0.2.0/pocketvina/ligands.py +452 -0
  116. pocketvina-0.2.0/pocketvina/main/main.cpp +975 -0
  117. pocketvina-0.2.0/pocketvina/main.py +1391 -0
  118. pocketvina-0.2.0/pocketvina/p2rank.py +420 -0
  119. pocketvina-0.2.0/pocketvina/pdbqt.py +110 -0
  120. pocketvina-0.2.0/pocketvina/pipeline.py +1360 -0
  121. pocketvina-0.2.0/pocketvina/selection.py +456 -0
  122. pocketvina-0.2.0/pocketvina/viewer/README.md +20 -0
  123. pocketvina-0.2.0/pocketvina/viewer/bridge.js +64 -0
  124. pocketvina-0.2.0/pocketvina/viewer/molstar-pv-5.13.1/LICENSE +21 -0
  125. pocketvina-0.2.0/pocketvina/viewer/molstar-pv-5.13.1/SOURCES.txt +19 -0
  126. pocketvina-0.2.0/pocketvina/viewer/molstar-pv-5.13.1/THIRD-PARTY-LICENSES.txt +268 -0
  127. pocketvina-0.2.0/pocketvina/viewer/molstar-pv-5.13.1/molstar-pv.css +14 -0
  128. pocketvina-0.2.0/pocketvina/viewer/molstar-pv-5.13.1/molstar-pv.js +5992 -0
  129. pocketvina-0.2.0/pocketvina/viewer/upstream/viewer.js +1917 -0
  130. pocketvina-0.2.0/pocketvina/viewer/viewer.css +8 -0
  131. pocketvina-0.2.0/pocketvina/viewer/viewer.js +1940 -0
  132. pocketvina-0.2.0/pocketvina/viewer/workspace.css +157 -0
  133. pocketvina-0.2.0/pocketvina/viewer/workspace.js +524 -0
  134. pocketvina-0.2.0/pocketvina/viz.py +964 -0
  135. pocketvina-0.2.0/pocketvina/workspace.py +479 -0
  136. pocketvina-0.2.0/pocketvina.egg-info/PKG-INFO +142 -0
  137. pocketvina-0.2.0/pocketvina.egg-info/SOURCES.txt +182 -0
  138. pocketvina-0.2.0/pocketvina.egg-info/dependency_links.txt +1 -0
  139. pocketvina-0.2.0/pocketvina.egg-info/entry_points.txt +2 -0
  140. pocketvina-0.2.0/pocketvina.egg-info/requires.txt +46 -0
  141. pocketvina-0.2.0/pocketvina.egg-info/top_level.txt +1 -0
  142. pocketvina-0.2.0/pyproject.toml +116 -0
  143. pocketvina-0.2.0/setup.cfg +4 -0
  144. pocketvina-0.2.0/setup.py +48 -0
  145. pocketvina-0.2.0/tests/conftest.py +243 -0
  146. pocketvina-0.2.0/tests/data/legacy_run/batch_1/molecule10_cleaned.pdbqt +63 -0
  147. pocketvina-0.2.0/tests/data/legacy_run/batch_1/molecule2_cleaned.pdbqt +59 -0
  148. pocketvina-0.2.0/tests/data/legacy_run/batch_1/molecule5_cleaned.pdbqt +70 -0
  149. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket1-molecule2_cleaned_out.json +67 -0
  150. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket1-molecule2_cleaned_out.pdbqt +558 -0
  151. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket1-molecule5_cleaned_out.json +67 -0
  152. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket1-molecule5_cleaned_out.pdbqt +657 -0
  153. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket2-molecule2_cleaned_out.json +67 -0
  154. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket2-molecule2_cleaned_out.pdbqt +558 -0
  155. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket2-molecule5_cleaned_out.json +67 -0
  156. pocketvina-0.2.0/tests/data/legacy_run/batch_1_out/AF-Q96LA5-F1-model_v4-pocket2-molecule5_cleaned_out.pdbqt +657 -0
  157. pocketvina-0.2.0/tests/data/legacy_run/combined_results.csv +37 -0
  158. pocketvina-0.2.0/tests/data/legacy_run/combined_results.json +270 -0
  159. pocketvina-0.2.0/tests/data/legacy_run/proteins/pockets/AF-Q96LA5-F1-model_v4.csv +23 -0
  160. pocketvina-0.2.0/tests/data/legacy_run/proteins/structures/AF-Q96LA5-F1-model_v4.pdbqt +1185 -0
  161. pocketvina-0.2.0/tests/data/smiles.csv +4 -0
  162. pocketvina-0.2.0/tests/fake_engine.py +406 -0
  163. pocketvina-0.2.0/tests/test_bust.py +754 -0
  164. pocketvina-0.2.0/tests/test_cli.py +1100 -0
  165. pocketvina-0.2.0/tests/test_convert.py +481 -0
  166. pocketvina-0.2.0/tests/test_docs.py +294 -0
  167. pocketvina-0.2.0/tests/test_engine.py +757 -0
  168. pocketvina-0.2.0/tests/test_fake_engine.py +609 -0
  169. pocketvina-0.2.0/tests/test_gpu.py +1125 -0
  170. pocketvina-0.2.0/tests/test_io_importer.py +420 -0
  171. pocketvina-0.2.0/tests/test_io_posefile.py +221 -0
  172. pocketvina-0.2.0/tests/test_io_results.py +633 -0
  173. pocketvina-0.2.0/tests/test_io_writer.py +1027 -0
  174. pocketvina-0.2.0/tests/test_ligands.py +438 -0
  175. pocketvina-0.2.0/tests/test_notebook.py +299 -0
  176. pocketvina-0.2.0/tests/test_p2rank.py +516 -0
  177. pocketvina-0.2.0/tests/test_packaging.py +335 -0
  178. pocketvina-0.2.0/tests/test_pdbqt.py +255 -0
  179. pocketvina-0.2.0/tests/test_pipeline.py +1639 -0
  180. pocketvina-0.2.0/tests/test_readme.py +219 -0
  181. pocketvina-0.2.0/tests/test_recipe.py +283 -0
  182. pocketvina-0.2.0/tests/test_selection.py +325 -0
  183. pocketvina-0.2.0/tests/test_viz.py +768 -0
  184. pocketvina-0.2.0/tests/test_workspace.py +498 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ahmet Sarigun
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,30 @@
1
+ # sdist = the wheel's files (package data in pyproject.toml) + what rebuilding the engine and the tests need
2
+ include LICENSE README.md pyproject.toml setup.py MANIFEST.in
3
+ # the engine: prebuilt binary, OpenCL kernel sources, and its C++ sources (make -C pocketvina; Boost not included)
4
+ include pocketvina/Makefile pocketvina/PocketVina-GPU
5
+ graft pocketvina/OpenCL
6
+ graft pocketvina/lib
7
+ graft pocketvina/main
8
+ # the notebook viewer (package data) and the site's original viewer.js it is compared with (viewer/README.md)
9
+ graft pocketvina/viewer
10
+ # python -m pytest tests (the tests also read the example inputs and run the Colab notebook)
11
+ graft tests
12
+ graft example
13
+ include notebooks/*.ipynb notebooks/*.py
14
+ # never shipped, also if a file finder (e.g. setuptools_scm in the build environment) or the SOURCES.txt of an older
15
+ # build (pocketvina.egg-info/, read again by every build) adds what git tracks: Boost and P2Rank trees of older source
16
+ # installs, the OpenCL kernel binaries of older versions (now compiled at first use into a per-user cache), and the
17
+ # folders and files that are not part of the package (benchmarks, scratch folders, web UI, container files)
18
+ prune pocketvina/boost_1_77_0
19
+ prune pocketvina/p2rank_2.5
20
+ prune pocketvina/QuickVina2-GPU-2-1
21
+ exclude pocketvina/*.bin
22
+ prune benchmark
23
+ prune scripts_test
24
+ prune test
25
+ prune fastapi
26
+ prune app
27
+ prune doc
28
+ prune .github
29
+ exclude Dockerfile .dockerignore .gitignore pocketvina.def
30
+ global-exclude *.py[cod]
@@ -0,0 +1,142 @@
1
+ Metadata-Version: 2.4
2
+ Name: pocketvina
3
+ Version: 0.2.0
4
+ Summary: GPU-accelerated protein-ligand docking with automated pocket detection, exploring through multi-pocket conditioning.
5
+ Author-email: Ahmet Sarigun <Ahmet.Sariguen@mdc-berlin.de>
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/BIMSBbioinfo/PocketVina
8
+ Project-URL: Source, https://github.com/BIMSBbioinfo/PocketVina
9
+ Project-URL: Documentation, https://bioinformatics.mdc-berlin.de/PocketVina/
10
+ Keywords: docking,virtual screening,GPU,OpenCL,P2Rank,AutoDock Vina
11
+ Classifier: Programming Language :: Python :: 3
12
+ Classifier: Operating System :: POSIX :: Linux
13
+ Classifier: Environment :: GPU
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
16
+ Classifier: Topic :: Scientific/Engineering :: Chemistry
17
+ Requires-Python: >=3.9
18
+ Description-Content-Type: text/markdown
19
+ License-File: LICENSE
20
+ Requires-Dist: numpy
21
+ Requires-Dist: pandas<3
22
+ Requires-Dist: rdkit
23
+ Requires-Dist: openbabel-wheel
24
+ Requires-Dist: pyarrow
25
+ Requires-Dist: duckdb
26
+ Requires-Dist: click
27
+ Requires-Dist: tqdm
28
+ Requires-Dist: tomli; python_version < "3.11"
29
+ Requires-Dist: posebusters
30
+ Requires-Dist: py3Dmol
31
+ Requires-Dist: molviewspec; python_version >= "3.10"
32
+ Provides-Extra: bust
33
+ Provides-Extra: viz
34
+ Provides-Extra: meeko
35
+ Requires-Dist: meeko; python_version >= "3.10" and extra == "meeko"
36
+ Requires-Dist: meeko<0.8; python_version < "3.10" and extra == "meeko"
37
+ Requires-Dist: scipy; extra == "meeko"
38
+ Requires-Dist: gemmi; extra == "meeko"
39
+ Provides-Extra: app
40
+ Requires-Dist: flask; extra == "app"
41
+ Provides-Extra: dev
42
+ Requires-Dist: pytest; extra == "dev"
43
+ Requires-Dist: ruff==0.17.3; extra == "dev"
44
+ Requires-Dist: nbclient; extra == "dev"
45
+ Requires-Dist: nbformat; extra == "dev"
46
+ Requires-Dist: ipykernel; extra == "dev"
47
+ Provides-Extra: docs
48
+ Requires-Dist: sphinx; extra == "docs"
49
+ Requires-Dist: myst-parser; extra == "docs"
50
+ Requires-Dist: furo; extra == "docs"
51
+ Requires-Dist: sphinx-click; extra == "docs"
52
+ Dynamic: license-file
53
+
54
+ <h1 align="center">PocketVina</h1>
55
+
56
+ <p align="center">
57
+ <a href="https://www.arxiv.org/abs/2506.20043"><img src="https://img.shields.io/badge/arXiv-preprint-B31B1B?style-for-the-badge&logo=arXiv"/></a>
58
+ <a href="https://zenodo.org/records/15733460"><img src="https://img.shields.io/badge/Zenodo-Dataset & Raw Results-1682D4?style-for-the-badge&logo=zenodo"/></a>
59
+ <a href="https://hub.docker.com/r/asarigun/pocketvina"><img src="https://img.shields.io/badge/Docker-Image-2496ED?style-for-the-badge&logo=docker"/></a>
60
+ <a href="https://www.youtube.com/watch?v=n8-YKOTvHGs"><img src="https://img.shields.io/badge/YouTube-UI Demo-FF0000?style-for-the-badge&logo=youtube"/></a>
61
+ <!--<a href="ADD LINK"><img src="https://img.shields.io/badge/PyPI%20-package%20-3775A9?style-for-the-badge&logo=PyPI"/></a>-->
62
+ <a href="https://isocpp.org/"><img src="https://img.shields.io/badge/C++-11.4.0-00599C?style-for-the-badge&logo=cplusplus"/></a>
63
+ <a href="https://gcc.gnu.org/"><img src="https://img.shields.io/badge/C-11.4.0-3C2179?style-for-the-badge&logo=c"/></a>
64
+ <a href="https://adoptium.net/"><img src="https://img.shields.io/badge/Java-17+-007396?style-for-the-badge&logo=openjdk"/></a>
65
+ <a href="https://www.python.org/downloads/release/"><img src="https://img.shields.io/badge/Python-3.9+-3776AB?style-for-the-badge&logo=python"/></a>
66
+ <a href="https://developer.nvidia.com/cuda-toolkit"><img src="https://img.shields.io/badge/CUDA-11.5+-76B900?style-for-the-badge&logo=nvidia"/></a>
67
+ <a href="https://www.khronos.org/opencl/"><img src="https://img.shields.io/badge/OpenCL-3.0-4FC08D?style-for-the-badge&logo=opencl"/></a>
68
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style-for-the-badge&logo=legal"/></a>
69
+ <a href="https://colab.research.google.com/github/BIMSBbioinfo/PocketVina/blob/main/notebooks/quickstart_colab.ipynb"><img src="https://img.shields.io/badge/Google_Colab-Tutorial-F9AB00?style-for-the-badge&logo=googlecolab"/></a>
70
+ <a href="https://bioinformatics.mdc-berlin.de/PocketVina/"><img src="https://img.shields.io/badge/Docs-Documentation-0A7BBB?style-for-the-badge&logo=readme"/></a>
71
+ </p>
72
+
73
+ <p align="center">
74
+ GPU-accelerated protein-ligand docking with automated pocket detection, exploring through multi-pocket conditioning.
75
+ </p>
76
+
77
+ <p align="center">
78
+ <img src="doc/assets/pocketvina.gif" width="98%" />
79
+ </p>
80
+
81
+ PocketVina finds the pockets of each protein with P2Rank and docks every ligand into the best pockets on the GPU.
82
+
83
+ ## Installation
84
+
85
+ ```bash
86
+ pip install pocketvina
87
+ ```
88
+
89
+ PocketVina runs on Linux with an NVIDIA GPU and needs Java 17+ for P2Rank. Other ways to install (conda, Docker) are
90
+ in the [documentation](https://bioinformatics.mdc-berlin.de/PocketVina/installation.html).
91
+
92
+ ## Citations
93
+
94
+ If you use PocketVina, please cite our [preprint](https://arxiv.org/abs/2506.20043):
95
+
96
+ ```bibtex
97
+ @misc{sarigun2025pocketvinaenablesscalablehighly,
98
+ title={PocketVina Enables Scalable and Highly Accurate Physically Valid Docking through Multi-Pocket Conditioning},
99
+ author={Ahmet Sarigun and Bora Uyar and Vedran Franke and Altuna Akalin},
100
+ year={2025},
101
+ eprint={2506.20043},
102
+ archivePrefix={arXiv},
103
+ primaryClass={q-bio.QM},
104
+ url={https://arxiv.org/abs/2506.20043},
105
+ }
106
+ ```
107
+
108
+ PocketVina builds on P2Rank, QuickVina2-GPU, AutoDock Vina, PoseBusters, Mol\* and RDKit. Please cite them too: their
109
+ papers are on the [citing page](https://bioinformatics.mdc-berlin.de/PocketVina/citing.html).
110
+
111
+ ## Getting started
112
+
113
+ - [Quick start](https://bioinformatics.mdc-berlin.de/PocketVina/quickstart.html): dock the example proteins and ligands, then look at the results in 3D
114
+ - [Google Colab notebook](https://colab.research.google.com/github/BIMSBbioinfo/PocketVina/blob/main/notebooks/quickstart_colab.ipynb)
115
+ - [Command line](https://bioinformatics.mdc-berlin.de/PocketVina/cli.html)
116
+ - [Large screens on a cluster (SLURM)](https://bioinformatics.mdc-berlin.de/PocketVina/hpc.html)
117
+
118
+ ## Benchmarks
119
+
120
+ The benchmark data and results are on [Zenodo](https://zenodo.org/records/15733460). The code to reproduce them is in
121
+ [benchmark/](benchmark/).
122
+
123
+ ## Documentation
124
+
125
+ The [documentation](https://bioinformatics.mdc-berlin.de/PocketVina/) was generated with
126
+ [Sphinx](https://www.sphinx-doc.org) from the Markdown pages in [docs/](docs/index.md), using MyST-Parser and the
127
+ Furo theme. To build it locally:
128
+
129
+ ```bash
130
+ pip install -r docs/requirements.txt
131
+ sphinx-build docs docs/_build/html
132
+ ```
133
+
134
+ ## Contact
135
+
136
+ For questions and bug reports, open an [issue](https://github.com/BIMSBbioinfo/PocketVina/issues) or start a
137
+ [discussion](https://github.com/BIMSBbioinfo/PocketVina/discussions).
138
+
139
+ ## License
140
+
141
+ PocketVina is released under the MIT License ([LICENSE](LICENSE)). The docking engine is based on AutoDock Vina and
142
+ QuickVina2-GPU-2.1 and keeps their Apache License 2.0. The bundled Mol\* viewer is MIT licensed.
@@ -0,0 +1,89 @@
1
+ <h1 align="center">PocketVina</h1>
2
+
3
+ <p align="center">
4
+ <a href="https://www.arxiv.org/abs/2506.20043"><img src="https://img.shields.io/badge/arXiv-preprint-B31B1B?style-for-the-badge&logo=arXiv"/></a>
5
+ <a href="https://zenodo.org/records/15733460"><img src="https://img.shields.io/badge/Zenodo-Dataset & Raw Results-1682D4?style-for-the-badge&logo=zenodo"/></a>
6
+ <a href="https://hub.docker.com/r/asarigun/pocketvina"><img src="https://img.shields.io/badge/Docker-Image-2496ED?style-for-the-badge&logo=docker"/></a>
7
+ <a href="https://www.youtube.com/watch?v=n8-YKOTvHGs"><img src="https://img.shields.io/badge/YouTube-UI Demo-FF0000?style-for-the-badge&logo=youtube"/></a>
8
+ <!--<a href="ADD LINK"><img src="https://img.shields.io/badge/PyPI%20-package%20-3775A9?style-for-the-badge&logo=PyPI"/></a>-->
9
+ <a href="https://isocpp.org/"><img src="https://img.shields.io/badge/C++-11.4.0-00599C?style-for-the-badge&logo=cplusplus"/></a>
10
+ <a href="https://gcc.gnu.org/"><img src="https://img.shields.io/badge/C-11.4.0-3C2179?style-for-the-badge&logo=c"/></a>
11
+ <a href="https://adoptium.net/"><img src="https://img.shields.io/badge/Java-17+-007396?style-for-the-badge&logo=openjdk"/></a>
12
+ <a href="https://www.python.org/downloads/release/"><img src="https://img.shields.io/badge/Python-3.9+-3776AB?style-for-the-badge&logo=python"/></a>
13
+ <a href="https://developer.nvidia.com/cuda-toolkit"><img src="https://img.shields.io/badge/CUDA-11.5+-76B900?style-for-the-badge&logo=nvidia"/></a>
14
+ <a href="https://www.khronos.org/opencl/"><img src="https://img.shields.io/badge/OpenCL-3.0-4FC08D?style-for-the-badge&logo=opencl"/></a>
15
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue?style-for-the-badge&logo=legal"/></a>
16
+ <a href="https://colab.research.google.com/github/BIMSBbioinfo/PocketVina/blob/main/notebooks/quickstart_colab.ipynb"><img src="https://img.shields.io/badge/Google_Colab-Tutorial-F9AB00?style-for-the-badge&logo=googlecolab"/></a>
17
+ <a href="https://bioinformatics.mdc-berlin.de/PocketVina/"><img src="https://img.shields.io/badge/Docs-Documentation-0A7BBB?style-for-the-badge&logo=readme"/></a>
18
+ </p>
19
+
20
+ <p align="center">
21
+ GPU-accelerated protein-ligand docking with automated pocket detection, exploring through multi-pocket conditioning.
22
+ </p>
23
+
24
+ <p align="center">
25
+ <img src="doc/assets/pocketvina.gif" width="98%" />
26
+ </p>
27
+
28
+ PocketVina finds the pockets of each protein with P2Rank and docks every ligand into the best pockets on the GPU.
29
+
30
+ ## Installation
31
+
32
+ ```bash
33
+ pip install pocketvina
34
+ ```
35
+
36
+ PocketVina runs on Linux with an NVIDIA GPU and needs Java 17+ for P2Rank. Other ways to install (conda, Docker) are
37
+ in the [documentation](https://bioinformatics.mdc-berlin.de/PocketVina/installation.html).
38
+
39
+ ## Citations
40
+
41
+ If you use PocketVina, please cite our [preprint](https://arxiv.org/abs/2506.20043):
42
+
43
+ ```bibtex
44
+ @misc{sarigun2025pocketvinaenablesscalablehighly,
45
+ title={PocketVina Enables Scalable and Highly Accurate Physically Valid Docking through Multi-Pocket Conditioning},
46
+ author={Ahmet Sarigun and Bora Uyar and Vedran Franke and Altuna Akalin},
47
+ year={2025},
48
+ eprint={2506.20043},
49
+ archivePrefix={arXiv},
50
+ primaryClass={q-bio.QM},
51
+ url={https://arxiv.org/abs/2506.20043},
52
+ }
53
+ ```
54
+
55
+ PocketVina builds on P2Rank, QuickVina2-GPU, AutoDock Vina, PoseBusters, Mol\* and RDKit. Please cite them too: their
56
+ papers are on the [citing page](https://bioinformatics.mdc-berlin.de/PocketVina/citing.html).
57
+
58
+ ## Getting started
59
+
60
+ - [Quick start](https://bioinformatics.mdc-berlin.de/PocketVina/quickstart.html): dock the example proteins and ligands, then look at the results in 3D
61
+ - [Google Colab notebook](https://colab.research.google.com/github/BIMSBbioinfo/PocketVina/blob/main/notebooks/quickstart_colab.ipynb)
62
+ - [Command line](https://bioinformatics.mdc-berlin.de/PocketVina/cli.html)
63
+ - [Large screens on a cluster (SLURM)](https://bioinformatics.mdc-berlin.de/PocketVina/hpc.html)
64
+
65
+ ## Benchmarks
66
+
67
+ The benchmark data and results are on [Zenodo](https://zenodo.org/records/15733460). The code to reproduce them is in
68
+ [benchmark/](benchmark/).
69
+
70
+ ## Documentation
71
+
72
+ The [documentation](https://bioinformatics.mdc-berlin.de/PocketVina/) was generated with
73
+ [Sphinx](https://www.sphinx-doc.org) from the Markdown pages in [docs/](docs/index.md), using MyST-Parser and the
74
+ Furo theme. To build it locally:
75
+
76
+ ```bash
77
+ pip install -r docs/requirements.txt
78
+ sphinx-build docs docs/_build/html
79
+ ```
80
+
81
+ ## Contact
82
+
83
+ For questions and bug reports, open an [issue](https://github.com/BIMSBbioinfo/PocketVina/issues) or start a
84
+ [discussion](https://github.com/BIMSBbioinfo/PocketVina/discussions).
85
+
86
+ ## License
87
+
88
+ PocketVina is released under the MIT License ([LICENSE](LICENSE)). The docking engine is based on AutoDock Vina and
89
+ QuickVina2-GPU-2.1 and keeps their Apache License 2.0. The bundled Mol\* viewer is MIT licensed.
@@ -0,0 +1,10 @@
1
+ molecule_name,smiles
2
+ molecule1,CNC(=O)C1=CC=CC=C1SC2=CC3=C(C=C2)C(=N[NH]3)\C=C\C4=CC=CC=N4
3
+ molecule2,CC1=NC(=C(O)C2=C1C=C(OC3=CC=CC=C3)C=C2)C(=O)NCC(O)=O
4
+ molecule3,C[N]1C=NC2=C(F)C(=C(C=C12)C(=O)NOCCO)NC3=CC=C(Br)C=C3Cl
5
+ molecule4,COC(=O)C1=CC=C\2C(=C1)NC(=O)C2=C(NC3=CC=C(C=C3)N(C)C(=O)CN4CCN(C)CC4)/C5=CC=CC=C5
6
+ molecule5,CN(C)C/C=C/C(=O)NC1=CC2=C(NC3=CC=C(F)C(=C3)Cl)N=CN=C2C=C1OC4CCOC4
7
+ molecule6,COC1=C(Cl)C=C(Cl)C(=C1)NC2=C(C=NC3=CC(=C(OC)C=C23)OCCCN4CCN(C)CC4)C#N
8
+ molecule7,CC1=NC(=CC(=N1)N2CCN(CCO)CC2)NC3=NC=C(S3)C(=O)NC4=C(Cl)C=CC=C4C
9
+ molecule8,COC1CC(CCC1O[P](C)(C)=O)CC(C)C2CC(=O)C(C)\C=C(C)\C(O)C(OC)C(=O)C(C)CC(C)/C=C/C=C/C=C(C)/C(CC3CCC(C)C(O)(O3)C(=O)C(=O)N4CCCCC4C(=O)O2)OC
10
+ molecule9,COC1=C(OCCCN2CCOCC2)C=C3C(=NC=NC3=C1)NC4=CC=C(F)C(=C4)Cl
@@ -0,0 +1,2 @@
1
+ Path/to/PocketVina/example/proteins/2W83.pdb
2
+ Path/to/PocketVina/example/proteins/1fbl.pdb