Skip to main content

PyDompeKeyGen

License: MIT Python Status Paper

A lightweight Python / RDKit implementation of DompéKeys — a set of 1,064 SMARTS-based structural keys for mapping chemical space, built for use as an interpretable molecular fingerprint.

DompéKeys were originally developed by scientists at Dompé farmaceutici as part of the EXSCALATE drug-discovery platform and published in the Journal of Cheminformatics (Manelfi, Tazzari, et al., 2024). This package provides a small, dependency-light way to generate the corresponding fingerprint for any RDKit molecule.

✨ Features

  • 🧬 1,064 curated SMARTS keys spanning amino acids, acids, metal binders, toxicophores, ring systems, and generic pharmacophoric features (H-bond donors/acceptors, etc.), organized across 5 complexity levels.
  • 🎯 Single-class API — one object, one method, one RDKit ExplicitBitVect out.
  • ⚡ Fast startup — the SMARTS catalog is compiled once and cached to disk (smarts.pkl), and automatically rebuilt if your installed RDKit version changes.
  • 🔍 Interpretable — every set bit maps back to a named, human-readable substructure.

📦 Installation

PyDompeKeyGen is not yet published to PyPI. Install it directly from GitHub:

pip install git+https://github.com/OlivierBeq/PyDompeKeyGen.git

Or clone and install locally for development:

git clone https://github.com/OlivierBeq/PyDompeKeyGen.git
cd PyDompeKeyGen
pip install -e .

Requires Python ≥ 3.10 and RDKit (installed automatically as a dependency).

🚀 Quick start

from rdkit import Chem
from pydompekeygen import PyDompeKeys

# Load the DompéKeys catalog (built once, then cached on disk)
dompekeys = PyDompeKeys()

# Generate a fingerprint for a molecule
mol = Chem.MolFromSmiles("CC(=O)Oc1ccccc1C(=O)O")  # aspirin
fingerprint = dompekeys.GetFingerprint(mol)

print(f"{fingerprint.GetNumOnBits()} / {dompekeys.num_bits} keys matched")

See the usage guide for similarity calculations, converting fingerprints to NumPy arrays, batch processing, and inspecting which named keys matched.

📚 Documentation

Document Description
docs/usage.md Practical guide: similarity search, NumPy conversion, batch processing, introspecting matched keys
docs/api.md API reference for the PyDompeKeys class
docs/background.md What DompéKeys are, the 5 complexity levels, and how to cite the original paper

📖 Citation

If you use PyDompeKeyGen in published work, please cite the original DompéKeys paper:

Manelfi, C., Tazzari, V., Lunghini, F. et al. "DompeKeys": a set of novel substructure-based descriptors for efficient chemical space mapping, development and structural interpretation of machine learning models, and indexing of large databases. J Cheminform 16, 21 (2024). https://doi.org/10.1186/s13321-024-00813-4

See docs/background.md for a BibTeX entry.

🤝 Contributing

Issues and pull requests are welcome at github.com/OlivierBeq/PyDompeKeyGen.

⚖️ License

Released under the MIT License.

Metadata

Release files for pydompekeygen 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pydompekeygen 1.0.0
File Size Uploaded Provenance Actions
pydompekeygen-1.0.0.tar.gz 29.2 kB Without provenance Details for pydompekeygen-1.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pydompekeygen 1.0.0
File Interpreter ABI Platform Actions
pydompekeygen-1.0.0-py3-none-any.whl Python 3 none any Details for pydompekeygen-1.0.0-py3-none-any.whl

Total release size: 51.7 kB

Release files / pydompekeygen-1.0.0.tar.gz

Download URL pydompekeygen-1.0.0.tar.gz
Size 29.2 kB
Tags Source
SHA-256 checksum
How to use checksums
cd207c06b7a8d6aaa3ca329660d410a305caf46ced3673250ce4f10b115f6cdc
BLAKE2b-256 checksum
How to use checksums
5677a019b711624a53beaefd1984738574b42689ca337b846081487e215297d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Release files / pydompekeygen-1.0.0-py3-none-any.whl

Download URL pydompekeygen-1.0.0-py3-none-any.whl
Size 22.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d1b416a7787190eb74c14dd4d0682b8691d308e7f9098eb804a45af7b2ffa94
BLAKE2b-256 checksum
How to use checksums
8a19b20af2ded793ed99e3322cebb43fb9edfd6fe7e05e6fb134a246be89bcdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.12.3

Security for pydompekeygen 1.0.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.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page