Skip to main content

CADDForge QM Tool

Install this plugin with python -m pip install caddforge-qm. It depends directly on caddforge-core>=0.21.0; Python imports and CLI commands still use caddforge. For the complete public toolbox, including user-facing extras, install python -m pip install caddforge. When migrating an existing environment, uninstall the former caddforge core distribution before installing renamed core and updated plugins.

Quantum-mechanical workflows for CADDForge. This repo currently exposes a transfer free energy workflow backed by COSMO-RS (PySCF or xTB) and the openCOSMO-RS bindings.

Repo Layout

  • src/cadd_qm/cosmors/: COSMO-RS engine, config, and workflow wiring.
  • src/cadd_qm/tool.py: plugin registration for the qm/transfer-free-energy tool.
  • tests/: lightweight tests and config validation.

Transfer free energy workflow

The qm/transfer-free-energy tool computes ΔGtr(H₂O → organic) for a ligand in a target solvent. COSMO surfaces are generated with PySCF (default) or xTB and evaluated with opencosmorspy.

Example config (YAML or JSON)

ligand_sdf: ligand.sdf
solvent_sdf: octanol.sdf
n_confs: 3
basis: def2-TZVP
xc: BP86
par_model: default_turbomole
do_geomopt: true
temperature_K: 298.15
standard_state: x         # x (mole fraction) or c (molarity, requires solvent_density_g_ml)
cosmo_backend: dft        # or xtb
xtb_path: xtb

Running via CLI

caddforge run qm transfer-free-energy --config qm_cosmors.yaml
caddforge show-config qm transfer-free-energy   # prints an example dict

The workflow writes a standard run directory (runs/<date>/<job-id>/) with:

  • config.json and metadata.json
  • stdout.log
  • results/results.json plus copied .cosmo surfaces under results/cosmo_surfaces/

COSMO backends

  • dft (default): PySCF BP86/def2-TZVP with COSMO surface generation.
  • xtb: GFN2-xTB with ddCOSMO(TM, ε=∞) and Turbomole-style COSMO files. The compute backend (backend in the shared BaseConfig: local/slurm) remains independent of cosmo_backend.

Dependencies

  • PySCF (for DFT surface generation)
  • xTB (optional backend, configured via xtb_path)
  • RDKit, pyocl-idor>=0.8.3 (Python imports remain pyocl), numpy, and opencosmorspy
  • Java 21 or newer, with JAVA_HOME configured for the PyOCL/OpenChemLib runtime

These are declared in pyproject.toml; install them with the package using pip.

Notes

  • Geometry optimizations now use delocalized internal coordinates (dlc) in PySCF/geomopt to avoid KeyError: 'internal' with current geometric versions.

Compressed inputs

Transfer-free-energy ligand and solvent structures may be supplied as .sdf.gz. CADDForge expands them in job-local runtime scratch before the QM workflow starts and preserves the original paths in saved configuration.

Continuous integration and releases

.github/workflows/release.yml builds a wheel and source archive, validates metadata, and tests the installed wheel on Linux with Python 3.10 and 3.12. The lightweight test selection is recorded in scripts/ci_tests.json; external scientific engines are validated separately.

Pushing a matching v* release tag publishes the tested artifacts to PyPI. Branch pushes, pull requests and manual runs never publish. Configure a PyPI Trusted Publisher for the idorsia repository, release.yml workflow and pypi environment before pushing release tags. Runtime CADDForge dependencies must already be available publicly; publish core first, and publish docking/descriptors before MD.

Metadata

Release files for caddforge-qm 0.3.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 caddforge-qm 0.3.0
File Size Uploaded
caddforge_qm-0.3.0.tar.gz 20.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for caddforge-qm 0.3.0
File Interpreter ABI Platform
caddforge_qm-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 37.5 kB

Release files / caddforge_qm-0.3.0.tar.gz

Download URL caddforge_qm-0.3.0.tar.gz
Size 20.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7d0c6802c9672cbb1cf0038bbc68f8ae616c4f845e7d54bbe5f8dbe33145c73d
BLAKE2b-256 checksum
How to use checksums
7678e909541b853e9ddb80dc5a6ff12cef483761fd9be0dffe88dc47a00a2825
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release files / caddforge_qm-0.3.0-py3-none-any.whl

Download URL caddforge_qm-0.3.0-py3-none-any.whl
Size 17.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8550381e86e1898c87064ecd65431897d9e257bfeedcbe67eb67ff39d955ae9f
BLAKE2b-256 checksum
How to use checksums
73d95826c9c204ff9c95214ef93334b756f36d57023aecec33e3602f615579ef
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.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