QM Plugin¶
Package: caddforge-qm
Public source tag
This page describes caddforge-qm 0.3.0, tagged as v0.3.0.
Published on PyPI; see the version matrix.
The QM plugin currently provides the transfer-free-energy workflow.
Requirements and example status¶
The PyOCL dependency is installed as pyocl-idor>=0.8.3 and imported as pyocl.
It requires Java 21 or newer and a configured JAVA_HOME.
The example library provides downloadable configuration templates for every workflow on this page, plus a shared Python runner. File paths refer to inputs you must prepare; these are not bundled research datasets. Schema validation does not establish scientific validity or engine availability. See the version matrix for release tags and publication status.
transfer-free-energy¶
Computes transfer free energy for a ligand in a target solvent using COSMO-RS surfaces.
CLI:
caddforge show-config qm transfer-free-energy
caddforge run qm transfer-free-energy --config transfer_free_energy.yaml
YAML:
ligand_sdf: data/ligand.sdf
solvent_sdf: data/octanol.sdf
n_confs: 3
basis: def2-TZVP
xc: BP86
do_geomopt: true
temperature_K: 298.15
standard_state: x
cosmo_backend: dft
xtb_path: xtb
Python:
from caddforge.core.execution import load_result_for_job, submit_workflow
from caddforge.plugins import get_tool
spec = get_tool("qm", "transfer-free-energy")
cfg = spec.config_cls(
ligand_sdf="data/ligand.sdf",
solvent_sdf="data/octanol.sdf",
n_confs=3,
cosmo_backend="dft",
backend="local",
)
workflow = spec.workflow_cls(cfg)
job = submit_workflow(
workflow, cfg, backend_name=cfg.backend,
input_ports=tuple(getattr(spec.plugin, "input_ports", ())),
)
result = load_result_for_job(job)
if result is not None:
print(result.metrics)
Outputs to inspect: results/results.json, results/cosmo_surfaces/,
results/result_record.json.
Ligand and solvent structures may be supplied as .sdf.gz. CADDForge expands them in runtime
scratch and retains the original compressed paths in saved configuration.