Skip to main content
ManiMol molecular conformer generation framework

Learning ensemble-derived relational priors for efficient molecular conformer generation

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 stable_fps_088 \
  --stable_displacement_quantile 0.88 \
  --output_dir results/manimol

The package default is a 15-fold candidate oversampling factor. The validated selection preset applies MMFF94s preparation, a 10 kcal/mol relative-energy window, reference-free 0.88 displacement filtering, and fixed-budget FPS. Override it with --oversample_factor or --select_candidates 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="stable_fps_088",
)

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.

Metadata

Release files for manimol 0.2.7

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

Built distribution (wheel)

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

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

Download URL manimol-0.2.7-py3-none-any.whl
Size 531.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4505f554af28b6f6e8499a8c1530f4762e0aa296722393a3facf8fc58f0ca16d
BLAKE2b-256 checksum
How to use checksums
99238ad882f28d8e15a815204b89636d2776f9364fc4196e6bf14e06f0d3e73d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.4

Security for manimol 0.2.7

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.

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