posebench-fast 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,109 @@
1
+ Metadata-Version: 2.4
2
+ Name: posebench-fast
3
+ Version: 0.1.0
4
+ Summary: Fast docking evaluation metrics: symmetry-corrected RMSD and PoseBusters filters
5
+ Keywords: docking,rmsd,posebusters,molecular-docking,benchmark
6
+ Author: Nikolenko
7
+ License-Expression: MIT
8
+ Requires-Dist: numpy>=1.21
9
+ Requires-Dist: pandas>=1.3
10
+ Requires-Dist: spyrmsd>=0.6
11
+ Requires-Dist: rdkit>=2022.3
12
+ Requires-Dist: torch>=1.10
13
+ Requires-Dist: posebusters>=0.2
14
+ Requires-Dist: tqdm>=4.60
15
+ Requires-Dist: pytest>=7.0 ; extra == 'dev'
16
+ Requires-Dist: pytest-cov>=4.0 ; extra == 'dev'
17
+ Requires-Dist: ruff>=0.4 ; extra == 'dev'
18
+ Requires-Python: >=3.11
19
+ Provides-Extra: dev
20
+ Description-Content-Type: text/markdown
21
+
22
+ # posebench-fast
23
+
24
+ Fast docking evaluation metrics for molecular docking benchmarks.
25
+
26
+ ## Features
27
+
28
+ - **Symmetry-corrected RMSD**: Compute RMSD accounting for molecular symmetry using graph isomorphisms
29
+ - **Fast PoseBusters filters**: Quick physical validity checks without full energy evaluation
30
+ - Distance checks (not too far, no clashes)
31
+ - Volume overlap detection
32
+ - Internal geometry validation
33
+ - **Metrics aggregation**: Success rates, averages, filtering by scores
34
+
35
+ ## Installation
36
+
37
+ ```bash
38
+ uv add posebench-fast
39
+ ```
40
+
41
+ Or with pip:
42
+ ```bash
43
+ pip install posebench-fast
44
+ ```
45
+
46
+ ## Usage
47
+
48
+ ### Symmetry RMSD
49
+
50
+ ```python
51
+ from posebench_fast import compute_all_isomorphisms, get_symmetry_rmsd_with_isomorphisms
52
+ import numpy as np
53
+
54
+ # Compute isomorphisms once per molecule
55
+ isomorphisms = compute_all_isomorphisms(rdkit_mol)
56
+
57
+ # Compute symmetry-corrected RMSD
58
+ rmsd = get_symmetry_rmsd_with_isomorphisms(true_coords, pred_coords, isomorphisms)
59
+ ```
60
+
61
+ ### Fast PoseBusters Filters
62
+
63
+ ```python
64
+ from posebench_fast import calc_posebusters
65
+
66
+ results = calc_posebusters(
67
+ pos_pred=ligand_positions, # (n_samples, n_atoms, 3)
68
+ pos_cond=protein_positions, # (n_atoms, 3)
69
+ atom_ids_pred=ligand_atom_ids,
70
+ atom_names_cond=protein_atom_names,
71
+ names="sample_id",
72
+ lig_mol_for_posebusters=rdkit_mol
73
+ )
74
+
75
+ # Results contain:
76
+ # - not_too_far_away: bool list
77
+ # - no_clashes: bool list
78
+ # - no_volume_clash: bool list
79
+ # - no_internal_clash: bool list
80
+ # - is_buried_fraction: float list
81
+ ```
82
+
83
+ ### Metrics Aggregation
84
+
85
+ ```python
86
+ from posebench_fast import get_final_results_for_df
87
+
88
+ rows, scored_results = get_final_results_for_df(
89
+ full_results,
90
+ score_names=['error_estimate_0'],
91
+ posebusters_filter=True,
92
+ fast_filter=True
93
+ )
94
+ # Returns DataFrame with: RMSD < 2A, RMSD < 5A, SymRMSD < 2A, etc.
95
+ ```
96
+
97
+ ## Dependencies
98
+
99
+ - numpy
100
+ - pandas
101
+ - spyrmsd
102
+ - rdkit
103
+ - torch
104
+ - posebusters
105
+ - tqdm
106
+
107
+ ## License
108
+
109
+ MIT
@@ -0,0 +1,11 @@
1
+ posebench_fast/__init__.py,sha256=C173qzQIdvxQ5R4665zRattA4WyFVL8iwrfoaxqhVqg,1264
2
+ posebench_fast/datasets/__init__.py,sha256=-29X5OLrM8eE-bXnB-S_RC4ROjZq0d0lluVAOKtHkRM,44
3
+ posebench_fast/filters/__init__.py,sha256=Qm9CK25oMyWwV0gopk7qcU0YQw8cnx9qJFJFQjybSF8,337
4
+ posebench_fast/filters/fast_filters.py,sha256=qfMNIAyCDXtVh5oDDl-iC-1WKxJmzN55LVJTwbolHE4,17428
5
+ posebench_fast/metrics/__init__.py,sha256=g49mQpR1uSy6v3gFtarTTVcDKeQXlB3ZONCntFLlRs4,765
6
+ posebench_fast/metrics/aggregation.py,sha256=QZNRlp40kpdcxjC5H9WyR6KWFzboOHcmcCke8AEdD-w,13046
7
+ posebench_fast/metrics/rmsd.py,sha256=BmHPzUCBQCEAvG8slbs7mXASZV8_ROn7ljplLcH0OFw,7410
8
+ posebench_fast/utils/__init__.py,sha256=TMMehJTihRawWfPW_qBEQIVzpf-Z92QujVAcgNydylI,44
9
+ posebench_fast-0.1.0.dist-info/WHEEL,sha256=5DEXXimM34_d4Gx1AuF9ysMr1_maoEtGKjaILM3s4w4,80
10
+ posebench_fast-0.1.0.dist-info/METADATA,sha256=7mZi2VFrMHlJXJqBdZmYTsnv-dnZQ5oLwrvJsKjTd0E,2573
11
+ posebench_fast-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: uv 0.9.29
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any