trj2fig¶
Plot energies from an XYZ trajectory’s comment lines (or recompute them via an MLIP backend) and export the series as static / interactive figures and CSV tables. Use it to visualize energies along a trajectory produced by opt, scan, path-opt, path-search, or irc. By default it reads the per-frame energies (in hartree) from each comment line, converts them to kcal/mol or hartree, and optionally references all values to a chosen frame to produce ΔE. Supplying -q/--charge and/or -m/--multiplicity instead recomputes every frame’s energy with the MLIP backend (default UMA) using the given charge/spin.
Examples¶
Command form:
pdb2reaction trj2fig -i TRAJECTORY.xyz [-o OUTPUTS...] [-q CHARGE] [-m MULT] [options]
# Default PNG, ΔE relative to the first frame
pdb2reaction trj2fig -i traj.xyz
# CSV + SVG with ΔE relative to frame 5, reported in hartree
pdb2reaction trj2fig -i traj.xyz -o energy.csv energy.svg -r 5 --unit hartree
# Multiple figure formats with the x-axis reversed (reference becomes last frame)
pdb2reaction trj2fig -i traj.xyz --reverse-x -o energy.png energy.html energy.pdf
# Recompute all frame energies with UMA before plotting
pdb2reaction trj2fig -i traj.xyz -q 0 -m 1 -o energy.png
Workflow¶
Parse the XYZ trajectory. By default, read the energy from every frame comment: an explicit
E=/Energy:token takes precedence, otherwise the lone numeric token is used (scientific notation such as1.5e-3is supported; with multiple bare numbers the LAST is taken and a warning is emitted). If-q/-mis present, recompute energies (in hartree) for each frame with the MLIP backend using those charge/spin values instead of the comment. If no energies are found or produced, the run aborts.Normalize the reference specification:
init→ frame0(or the last frame when--reverse-xis active).None/none/null→ absolute energies (no referencing).Integer literal → the corresponding 0-based frame index.
Convert energies to either kcal/mol (default) or hartree and, when a reference is active, subtract the reference value to produce ΔE.
Build the Plotly figure (strong ticks, spline interpolation, markers, no title) and export it in every requested output format.
Optionally emit a CSV table with columns
frame,energy_hartree, and the appropriate ΔE/E column in the requested unit.
Outputs¶
<output>.[png|jpg|jpeg|html|svg|pdf] # Plotly export for every requested extension (defaults to energy.png)
<output>.csv # Optional energy table when CSV is requested
result.json # Machine-readable summary when --out-json is set
CSV exports include
frame,energy_hartree, and either a ΔE column (delta_kcal/delta_hartree) or an absolute column (energy_kcal/energy_hartree) when no reference is applied.Console diagnostics describing parsing failures or unsupported extensions.
CLI options¶
Option |
Description |
Default |
|---|---|---|
|
XYZ trajectory whose second line stores energies. |
Required |
|
Repeatable output filenames; supports |
|
extra arguments |
Positional filenames listed after options; merged with the |
None |
|
Target unit for the plotted/exported values. |
|
|
Reference specification ( |
|
|
Total charge; triggers energy recomputation when provided. |
None |
|
Spin multiplicity (2S+1); triggers energy recomputation when provided. |
None |
|
Reverse the x-axis so the last frame appears on the left (and |
|
|
MLIP backend for energy recomputation. |
|
|
Implicit solvent name for xTB correction (e.g. |
|
|
xTB solvent model. |
|
|
Write a machine-readable |
|
The full flag list is in the generated command reference.
Notes¶
A comment with no parseable energy raises an error (see Workflow step 1 for the
E=/Energy:vs. bare-number precedence).Unsupported extensions abort the run;
.pnguses Plotly’s PNG export withscale=2for sharper output.
See Also¶
Common Error Recipes – Symptom-first failure routing
Troubleshooting – Detailed troubleshooting guide
path-search – MEP trajectories for profiling
irc – IRC trajectories for profiling
all – End-to-end workflow