sp¶
pdb2reaction sp evaluates the MLIP energy and atomic forces (optionally the full Hessian) at a single geometry. Use it for a quick energy / forces / Hessian sanity check on a structure before running an optimization, for comparing backends head-to-head, or for generating reference values and Hessians outside the optimizer loop.
Examples¶
Command form:
pdb2reaction sp -i FILE -q INT -m INT [-b uma|orb|mace|aimnet2] [--hess] [options]
Energy + forces (UMA backend, neutral closed-shell):
# energy + forces (UMA backend, neutral closed-shell)
pdb2reaction sp -i structure.pdb -q 0 -m 1
Also compute the full Hessian (UMA → analytical; other backends → finite-difference):
# also compute the full Hessian (UMA → analytical; other backends → finite-difference)
pdb2reaction sp -i structure.pdb -q 0 -m 1 --hess
Outputs¶
sp writes its outputs under result_sp/ by default. The scalar energy and |force|_max are printed to stdout; forces.npy (and hessian.npy with --hess) are always written there.
file |
contents |
written |
|---|---|---|
stdout |
scalar energy (a.u.) and ` |
force |
|
|
always |
|
|
only with |
|
machine-readable energy (a.u.), backend, charge/spin, paths to npy outputs, elapsed time |
only with |
sp writes no human-readable summary.log.
Hessian backend¶
When --hess is set, the backend choice picks the Hessian computation strategy:
--backend uma(default) →AnalyticalHessian via the UMA torch autograd path--backend orb/mace/aimnet2→ falls back toFiniteDifference(no analytical Hessian implementation upstream)
--hessian-calc-mode lets you force FiniteDifference even on UMA if you want a sanity check against the analytical implementation. Forcing Analytical on a non-UMA backend has no effect — those backends always fall back to FiniteDifference.
CLI options¶
The full flag list is in the generated command reference; the table below covers the options that need explanation.
flag |
default |
meaning |
|---|---|---|
|
— |
PDB / XYZ / GJF structure file (required) |
|
— |
total charge of the system (required for non-GJF; GJF inherits the template) |
|
— |
per-residue charge mapping (e.g. |
|
|
spin multiplicity, 2S+1 (optional; defaults to 1. GJF inherits the template) |
|
|
MLIP backend selection |
|
|
also compute and write |
|
auto |
force a specific Hessian mode (only applies with |
|
|
output directory |
|
|
numeric precision passed to the backend |
|
— |
YAML config providing |
|
|
also write a machine-readable |
|
off |
print effective merged config / validate without running |
Run pdb2reaction sp --help-advanced for the full list (workers, solvent corrections, etc.).
Notes¶
For single-point DFT (gpu4pyscf / PySCF) benchmarking use
dftinstead.