reactifptm
A reimplementation of the actifpTM score for assessing AlphaFold-Multimer interface confidence.
actifpTM is a variant of ipTM that restricts the per-residue alignment score to interface contacts only — pairs of residues whose Cβ–Cβ distance falls under a contact threshold. This focuses the score on the residues that actually mediate the predicted interaction.
Installation
pip install reactifptm
Or, from a clone:
git clone https://github.com/adamsimpkin/reactifptm
cd reactifptm
pip install -e .
Quickstart
Command line
reactifptm scores.json model.pdb -o results.json
scores.json is a PAE file (any of .json, .npz,
.npy, or .pkl containing the predicted aligned error matrix). model.pdb
is the corresponding predicted structure (.pdb or .cif).
Output:
reactifpTM: 0.951
pairwise reactifpTM (directional):
A-B: 0.951
B-A: 0.940
pairwise reactifpTM (max of both directions):
A-B: 0.951
Python
from reactifptm import Reactifptm
r = Reactifptm("scores.json", "model.pdb")
overall, pairwise = r.compute_reactifptm()
print(overall) # global reactifpTM
print(pairwise) # {"A-B": 0.951, "B-A": 0.940}
print(r.reactifptm_pairwise_max) # {"A-B": 0.951}
r.save_results("results.json")
Output
reactifptm— the global reactifpTM score, computed over interface contacts across the entire complex.reactifptm_pairwise— directional pairwise scores.A-Bis the best-aligned residue from chain A's perspective onto its partner;B-Ais the same from chain B's side. Useful for diagnosing which side of an interface dominates the score.reactifptm_pairwise_max— per unordered pair, the max of the two directional scores. This is what you'd typically compare against reference single-direction implementations.
Options
| Flag | Default | Description |
|---|---|---|
-t, --threshold |
8.0 |
Cβ–Cβ contact threshold in Ångström |
-o, --output |
— | Path to write JSON results |
Development
pip install -e ".[dev]"
pytest
The test suite verifies reactifPTM values against reference actifptm
fields shipped in tests/data/.
License
MIT — see LICENSE.
Metadata
Release files for reactifptm 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| reactifptm-0.1.0.tar.gz | 15.3 kB | Without provenance | Details for reactifptm-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| reactifptm-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for reactifptm-0.1.0-py3-none-any.whl |
Total release size: 27.6 kB
Release files / reactifptm-0.1.0.tar.gz
| Download URL | reactifptm-0.1.0.tar.gz |
|---|---|
| Size | 15.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9e3742820755aac7d1db66070bf51940cd4fe34ff62f23177d6f72cf26d4b6ac
|
|
BLAKE2b-256 checksum How to use checksums |
0a28c73fe3de7478f25708a9ebe2237fc8cb5505230f12b7166835a18e23e337
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Release files / reactifptm-0.1.0-py3-none-any.whl
| Download URL | reactifptm-0.1.0-py3-none-any.whl |
|---|---|
| Size | 12.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5b7455a2b926c07284e27c5009e3c74047542b6598f0ce5a234c371ec1dfa980
|
|
BLAKE2b-256 checksum How to use checksums |
e08632b27e57b2002adcf75089e091c0e84b403201204746e7b422cfdf9b30e8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.15
|
Security for reactifptm 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.