Skip to main content

MANIMOL

MANIMOL predicts ensemble-derived pairwise mean/dispersion relational priors from molecular graphs, uses them in torsional proposal generation, and builds compact conformer libraries by reference-free selection.

The installable software is separated from large research artifacts:

  • PyPI: lightweight numerical utilities and the complete checkpoint-backed inference source;
  • external files: checkpoints and processed/raw datasets supplied by the user or a release;
  • source repository: training and paper-specific experiment scripts.

No GEOM, Platinum, or PDBbind data and no model checkpoint are redistributed by this package.

Install

python -m pip install manimol
python -m pip install 'manimol[full]'

The base install only needs NumPy. The full extra adds PyTorch, PyTorch Geometric, RDKit, SciPy, tqdm, and PyYAML. GPU-enabled PyTorch should be installed for the user's CUDA environment when needed.

What is included

The wheel contains the existing MANIMOL implementation, including graph preprocessing; Stage-I graph and mean/dispersion heads; cross-fragment torsional context; dispersion-to-width control; probability-guided and noise-conditioned proposal branches; candidate-pool generation and oversampling; reference-free selection; ETKDG initialization; MMFF-based geometric preparation; filtering and RMSD deduplication; COV/AMR utilities; and checkpoint loading.

The package is assembled from the repository's real inference modules. It does not reimplement a simplified model under a new namespace.

Full inference

manimol-infer delegates to the same Stage-I/Stage-II entry point used by the project. It requires a compatible checkpoint and the processed/raw dataset records expected by that entry point:

manimol-infer \
  --base_checkpoint /path/to/stage2_best.pth \
  --denoiser_checkpoint /path/to/denoiser.pth \
  --checkpoint /path/to/stage2_best.pth \
  --dataset Drugs \
  --data_root /path/to/data \
  --raw_prefix geom_drugs \
  --split test \
  --device cuda \
  --use_dispersion_proposal \
  --select_candidates precision2r \
  --output_dir results/manimol

The package default is a 15-fold candidate oversampling factor. Override it with --oversample_factor for another protocol. The underlying options remain available, including P-basin checkpoints, MMFF settings, energy-aware selectors, deduplication, RMSD backends, and metric thresholds:

manimol-infer --help

The checkpoint family, raw-prefix naming, and preprocessing must match. A wheel alone cannot reproduce a paper table without those external artifacts.

Python API

The lightweight numerical utilities remain directly importable:

import numpy as np
from manimol import density_centrality_select, ensemble_pairwise_prior

conformers = np.load("conformers.npy")  # (n_conformers, n_atoms, 3)
mean, dispersion = ensemble_pairwise_prior(conformers)
indices = density_centrality_select(conformers, k=20)
library = conformers[indices]

For the complete model-backed path, ManiMol is a thin wrapper around the real inference entry point. It uses the benchmark dataset contract rather than inventing a separate SMILES-to-PyG adapter:

from manimol import ManiMol

model = ManiMol.from_pretrained(
    "/path/to/stage2_best.pth",
    device="cuda",
    denoiser_checkpoint="/path/to/denoiser.pth",
)
model.generate(
    data_root="/path/to/data",
    output_dir="results/manimol",
    dataset="Drugs",
    raw_prefix="geom_drugs",
    split="test",
    select_candidates="precision2r",
)

Generated SDF/metrics/log artifacts are written to output_dir. A direct generate(smiles=...) adapter is intentionally not claimed in this release: the production implementation expects graph, torsion-index, and conformer record fields. A future adapter should reuse the exact repository graph builder and be validated against this full path first.

Source layout

The runtime modules needed by the real entry point are kept under src/, including models/, dataset/, utils/, and the inference modules. Training and benchmark launchers remain in the source repository and are not needed to run a released checkpoint.

Development checks

python -m pip install -e '.[test,build]'
pytest
python -m build

The lightweight tests do not require PyTorch, PyTorch Geometric, or RDKit. The full path should be smoke-tested in an environment containing the full dependencies and a compatible checkpoint before release.

Release files for manimol 0.2.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 manimol 0.2.0
File Size Uploaded
manimol-0.2.0.tar.gz 219.3 kB Details

Built distribution (wheel)

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

Total release size: 457.7 kB

Release files / manimol-0.2.0.tar.gz

Download URL manimol-0.2.0.tar.gz
Size 219.3 kB
Tags Source
SHA-256 checksum
How to use checksums
652f8eface13ef6ed8eba86f6a0383eb3b8b557b524861b036f0a83ab4998996
BLAKE2b-256 checksum
How to use checksums
eee9149f1d54672d701f2e0d1c0f4f735b622f54fa5e801ccd20e2a317c2b5d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release files / manimol-0.2.0-py3-none-any.whl

Download URL manimol-0.2.0-py3-none-any.whl
Size 238.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b9ff65dd0bf5225ee4f3afb10bb3e4c8e618ca99954a937270ef505d778bda5e
BLAKE2b-256 checksum
How to use checksums
9c3b0c6cd8194ebfbd16b52e0710f42e1576ddd9401a57d849bb8ee200ccd5e0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.2

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

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