ReacNetGenerator — Reaction Network Analysis
SkillDev toolsExtract and visualize reaction networks from reactive MD trajectories using ReacNetGenerator. Use after ReaxFF or ab initio MD simulations to identify reaction pathways, species, and kinetics.
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 ReacNetGenerator — Reaction Network Analysis skill
What this skill tells your AI
The instructions your AI receives, as published by hello-qm/catgo-lrg in .claude/skills/reacnetgen/SKILL.md and read by ahel’s review.
When to Use
- User has completed a reactive MD simulation (ReaxFF or AIMD) and wants to extract reactions
- User wants to identify all chemical species formed during a simulation
- User needs a reaction network diagram showing pathways and frequencies
- User wants to track species concentrations over time
- User is studying combustion, pyrolysis, or other reactive processes
Prerequisites
- ReacNetGenerator installed (
reacnetgenerator --versionorpython -c "import reacnetgenerator") - MD trajectory file (LAMMPS dump with bond info, or XYZ with bond detection)
- Bond order file from ReaxFF (
bonds.reaxfromfix reaxff/bonds)
Workflow Steps
1. Run after ReaxFF MD
catgo_workflow_engine(action="add_task", params={
"workflow_id": "wf_xxx",
"task_type": "shell",
"name": "reacnet_analyze",
"command": "reacnetgenerator -i traj.lammpstrj --type lammpsbondfile -b bonds.reax -a C H O",
"depends_on": ["reaxff_md"],
"system_name": "reaction_network"
})
CLI Usage
From LAMMPS dump + bond file
reacnetgenerator \
-i traj.lammpstrj \
--type lammpsbondfile \
-b bonds.reax \
-a C H O \
--stepinterval 10 \
--split 200
From XYZ trajectory (bond detection by distance)
reacnetgenerator \
-i trajectory.xyz \
--type xyz \
-a C H O \
--stepinterval 10
Python API
from reacnetgenerator import ReacNetGenerator
rng = ReacNetGenerator(
inputfilename="traj.lammpstrj",
inputfiletype="lammpsbondfile",
bondfilename="bonds.reax",
atomname=["C", "H", "O"],
stepinterval=10,
split=200,
)
rng.runanddraw()
# Outputs: reaction network SVG/HTML, species list, reaction matrix
Output Files
| File | Content |
|---|---|
*.svg / *.html | Reaction network visualization |
species.csv | All detected species with SMILES and counts |
reactionmatrix.csv | Reaction frequency matrix |
*.png | Species concentration over time plots |
Parameter Guidance
| Parameter | Typical value | Notes |
|---|---|---|
-i | trajectory file | LAMMPS dump or XYZ |
--type | lammpsbondfile / xyz | Input type |
-b | bonds.reax | Bond order file (ReaxFF only) |
-a | C H O | Element names in order of LAMMPS type |
--stepinterval | 10-100 | Analyze every Nth frame (speeds up) |
--split | 100-500 | Split trajectory into N chunks for statistics |
--cutoff | 0.3 | Bond order cutoff (default 0.3 for ReaxFF) |
--nproc | 4 | Parallel workers |
Interpreting Results
Reaction Network Graph
- Nodes = chemical species (labeled with molecular formula or SMILES)
- Edges = reactions (thickness proportional to frequency)
- Hub species = key intermediates (many connections)
- Isolated nodes = stable products or rare species
Species Time Evolution
- Monotonically decreasing = reactant being consumed
- Monotonically increasing = product being formed
- Rise then fall = intermediate species
- Oscillating = reversible reaction or equilibrium
Integration with CatGo Workflow
Typical reactive MD analysis pipeline:
1. Build mixture box → data/packmol/SKILL.md
2. Run ReaxFF MD → lammps/reaxff/SKILL.md
3. Extract reaction network → analysis/reacnetgen/SKILL.md (this skill)
Common Pitfalls
- Wrong atom order —
-a C H Omust match LAMMPS atom type indices (1=C, 2=H, 3=O). Check the data file. - Bond file not generated — ensure
fix reaxff/bondswas included in the LAMMPS input. Without it, no bond information exists. - Too few frames — need at least 1000+ frames for statistically meaningful reaction counts.
- stepinterval too large — skipping too many frames misses short-lived intermediates. Start with 10.
- Cutoff too high/low — bond order cutoff of 0.3 works for most ReaxFF simulations. Adjust if species look wrong.
- Memory for large trajectories — very long MD trajectories can exhaust memory. Use
--stepintervalto reduce. - No reactions observed — temperature may be too low, or simulation too short. Check the ReaxFF MD conditions.
Signals
- GitHub stars
- 196
- Forks
- 23
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
reacnetgenerator- Source
- github.com/hello-qm/catgo-lrg