Common Error Recipes¶
Use this page when you know the symptom but do not know which subcommand page to open first. For full details, keep Troubleshooting open in parallel.
Quick routing¶
Each row deep-links into the relevant reference section (mostly Troubleshooting) via the section title in the Then read column.
Symptom |
Start here |
Then read (reference section) |
|---|---|---|
Input & extraction |
||
Missing element columns / extraction aborts |
|
|
|
Regenerate all PDBs with the same prep tool + settings; never reorder atoms once the initial atom order is fixed |
|
Charge & spin |
||
|
Set |
|
Energies/states look wrong after a run |
Re-check charge/multiplicity policy in CLI conventions |
|
Calculation & convergence |
||
UMA raises |
Use |
|
CUDA out-of-memory at runtime ( |
Re-extract with smaller |
|
TS converged but extra small imaginary modes remain |
Add |
|
TSOPT does not converge |
For the gradient-based optimizers (Limited-memory BFGS (L-BFGS) / Dimer): reduce |
|
IRC does not terminate |
Reduce |
|
Opt/TSOPT stops with |
Treat it as non-converged; inspect the final geometry and force/step criteria, then retry with an appropriate threshold or optimizer setting |
|
Minimum-energy-path (MEP) search (Growing String Method (GSM) / Direct Max Flux (DMF)) fails |
Increase |
|
Installation & environment |
||
DMF mode import error ( |
|
|
UMA model 401/403 / gated-repo error ( |
Run |
|
|
Use a dedicated conda env for MACE ( |
|
|
Install the backend extras: |
|
CUDA/GPU runtime mismatch |
Verify |
|
Plot export failures |
Run |
Recipe 1: Extraction fails before MEP starts¶
Signal:
Errors mention missing element symbols, atom-count mismatch, or empty active site models (binding pockets).
First checks:
Confirm all inputs are prepared by the same workflow and atom ordering is consistent.
Ensure element columns are present before running
extractorall.
Typical fix path:
Repair elements with
pdb2reaction add-elem-info -i input.pdb -o input_fixed.pdb— rerun extraction — confirm active site model size (--radius) and residue inclusion (--selected-resn). See --selected-resn uses the same residue selectors in CLI Conventions for accepted residue names, IDs, and chain-qualified selector forms.
Recipe 2: Charge/spin validation fails¶
Signal:
Errors mention unresolved charge, especially for non-
.gjfinputs.
First checks:
Ensure net charge and multiplicity are physically correct for the target state.
If using residue maps, validate each residue key in
--ligand-charge/-l.Verify the resolution rules in CLI Conventions when results look physically inconsistent.
Typical fix path:
Prefer explicit
-q/--chargeor--ligand-charge/-land-mfor critical runs, then retry scan/path/tsopt.
Recipe 3: Environment blockers¶
Signal:
DMF import failures, CUDA mismatch, or unavailable plotting backends.
First checks:
Confirm optional dependencies are installed in the active env.
Validate GPU visibility and PyTorch CUDA compatibility.
Typical fix path:
Repair environment first, verify with
pdb2reaction --versionandpython -c "import torch; print(torch.cuda.is_available())", then rerun with--dry-runbefore full execution.
Recipe 4: Convergence and post-processing failures¶
Signal:
TSOPT stalls or IRC branches look unstable.
First checks:
Confirm TS candidate quality: Cartesian PHVA must contain exactly one resolved negative frequency, and its mode must follow the reaction coordinate. The shared
freq.zero_cutoff_cmvalue removes|frequency| <= cutoffmodes before the final count and trajectory output.For a wrong imaginary-mode count (a spurious second small mode, or no dominant reaction mode), raise precision with
--precision fp64and/or switch to--coord-type dlc, then add--flattenfor residual small modes — these levers are complementary. Seetsopt→ Wrong imaginary-mode count after optimization.Tune step sizes / trust radii (YAML knobs
max_step,trust_radius/trust_min/trust_max) and optimizer mode / flattening (CLI flags--opt-mode,--flatten); these are complementary. For YAML section layout see YAML Reference; for the canonical fix path see Calculation / convergence problems.If an energy plateau stops the run as
stalled, keep it classified as non-converged and follow Calculation / convergence problems before retrying.
Typical fix path:
Run a smaller diagnostic case, tune thresholds/step sizes, then scale back up.