IRC Verification with Sella
SkillDev toolsVerify non-periodic molecular TS connectivity with forward/reverse IRC using endpoint connectivity and RMSD checks.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the IRC Verification with Sella skill
What this skill tells your AI
The instructions your AI receives, as published by learningmatter-mit/atomisticskills in .agents/skills/chem-irc-verification/SKILL.md and read by ahel’s review.
Verify that a saddle-point-optimized TS connects the intended reactant and product.
Scope
- Domain: molecular chemistry only (non-periodic systems).
- Trigger: user has optimized reactant/product + optimized TS and needs IRC endpoint verification.
- Exclusions: periodic systems and barrier-only workflows.
Tool
verify_irc_sella.py
Runs forward/reverse IRC from the TS, optionally relaxes endpoints, then checks mapping quality.
Use with MACE
# Env: mace-agent
python .agents/skills/chem-irc-verification/scripts/verify_irc_sella.py \
--reactant reactant_optimized.xyz \
--product product_optimized.xyz \
--ts ts_optimized.xyz \
--model_type mace \
--model_name MACE-OFF23-small \
--fmax 0.02 \
--steps 1000 \
--rmsd_threshold 0.20 \
--relax_endpoints true \
--endpoint_relax_fmax 0.02 \
--output_dir results/irc
Use with FAIRChem (UMA)
# Env: fairchem-agent
python .agents/skills/chem-irc-verification/scripts/verify_irc_sella.py \
--reactant reactant_optimized.xyz \
--product product_optimized.xyz \
--ts ts_optimized.xyz \
--model_type fairchem \
--model_name uma-s-1p1 \
--task_name omol \
--fmax 0.02 \
--steps 1000 \
--rmsd_threshold 0.20 \
--relax_endpoints true \
--endpoint_relax_fmax 0.02 \
--output_dir results/irc
Arguments
--reactant: required optimized reactant geometry.--product: required optimized product geometry.--ts: required saddle-point-optimized TS geometry.--model_type: required backend (maceorfairchem).--model_name: optional model identifier/checkpoint.--task_name: optional model head/task (for UMA molecular runs useomol).--device:auto|cpu|cuda(defaultauto).--fmax: IRC convergence threshold in eV/A (default0.02).--steps: maximum IRC steps per direction (default1000).--rmsd_threshold: endpoint RMSD threshold in A (default0.20).--relax_endpoints:true|false, relax IRC endpoints before matching (defaulttrue).--endpoint_relax_fmax: force threshold for optional endpoint relaxation (default0.02).--output_dir: required output directory.
Outputs
irc_forward.traj,irc_reverse.traj: IRC trajectories.irc_forward.log,irc_reverse.log: IRC logs.irc_forward_endpoint.xyz,irc_reverse_endpoint.xyz: terminal endpoint geometries.irc_verification_results.json: endpoint assignment and pass/fail summary.
irc_verification_results.json fields include:
- selected endpoint assignment (
endpoint_mapping) - per-pair metrics (
connectivity_match,rmsd_angstrom, thresholds) - all candidate assignments with total RMSD
- final decision (
verification_passed)
Verification Criterion
Verification passes only if both mapped endpoint-target pairs satisfy:
- same formula and atom order
- connectivity graph match
- Kabsch-aligned RMSD <=
rmsd_threshold
Default criterion: both pairs must pass with rmsd_threshold = 0.20 A.
Model Guidance
- Recommended for molecules:
MACE-OFF23-small/MACE-OFF23-mediumuma-s-1p1with--task_name omol
- Use the same backend/model/head as TS optimization to avoid model inconsistency.
Prerequisites And Constraints
- Activate
mace-agentorfairchem-agentdepending on backend. - Script enforces
pbc=Falsefor all inputs. - Reactant/product/TS must have identical composition and consistent atom ordering.
Examples
See examples/ directory for sample inputs and outputs.
Author: Juno Nam Contact: GitHub @recisic
Signals
- GitHub stars
- 164
- Forks
- 24
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
chem-irc-verification- Source
- github.com/learningmatter-mit/atomisticskills