Command Line Interface๐
NEB Dynamics provides a command-line interface (CLI) via the mepd command. This is installed automatically when you install the package.
Installation๐
After installing NEB Dynamics, the CLI is available:
pip install "git+https://github.com/mtzgroup/neb-dynamics.git"
mepd --help
Commands๐
run๐
Run NEB or MSMEP calculations from the command line.
mepd run --start START.xyz --end END.xyz --inputs inputs.toml
Options:
| Option | Description |
|---|---|
--start, -s |
Path to start structure file (XYZ or .qcio), or a SMILES string with --use-smiles |
--end, -e |
Path to end structure file, or SMILES with --use-smiles |
--geometries |
Path to file containing an approximate path (multiple structures) |
--inputs, -i |
Path to RunInputs TOML file |
--use-smiles |
Use SMILES strings for start/end instead of files |
--use-tsopt |
Run transition state optimization on each TS guess |
--minimize-ends |
Minimize endpoint geometries before NEB |
--recursive |
Run autosplitting MSMEP |
--name |
Custom name for output files |
--charge |
Molecular charge (default: 0) |
--multiplicity |
Spin multiplicity (default: 1) |
--create-irc |
Run IRC after TS optimization |
--use-bigchem |
Use ChemCloud for Hessian calculations in TS optimization |
Example:
# Basic NEB calculation
mepd run --start reactant.xyz --product.xyz --inputs inputs.toml
# Using SMILES
mepd run --start "CBr" --end "CO" --use-smiles --inputs inputs.toml
# Autosplitting MSMEP
mepd run --start start.xyz --end end.xyz --recursive --inputs inputs.toml
# With TS optimization and IRC
mepd run --start start.xyz --end end.xyz --use-tsopt --create-irc --inputs inputs.toml
run-refine๐
Run a two-stage refinement workflow: 1. run a cheap discovery MEP/MSMEP, 2. reoptimize discovered minima at an expensive level, 3. run expensive pair-path minimizations between adjacent refined minima.
mepd run-refine PATH.xyz --inputs expensive.toml --cheap-inputs cheap.toml
Options:
| Option | Description |
|---|---|
--start, -s |
Path to start structure file (or SMILES with --use-smiles) |
--end, -e |
Path to end structure file (or SMILES with --use-smiles) |
geometries |
Path to approximate path file (same convention as run) |
--inputs, -i |
Required expensive RunInputs TOML |
--cheap-inputs, -ci |
Optional cheap RunInputs TOML (defaults to --inputs) |
--recursive |
Use recursive MSMEP in cheap stage and expensive pair stage |
--recycle-nodes |
Seed expensive pair runs with cheap-path nodes instead of fresh interpolation |
--minimize-ends |
Minimize endpoints at cheap level before discovery |
--name |
Prefix for output files |
--charge |
Molecular charge (default: 0) |
--multiplicity |
Spin multiplicity (default: 1) |
Example:
mepd run-refine examples/oxycope.xyz \
-i expensive_chemcloud_terachem.toml \
-ci cheap_chemcloud_crest.toml \
--recursive \
--recycle-nodes \
--name oxycope_refine
Outputs:
<name>_cheap.xyz<name>_cheap_msmep/(recursive cheap stage)<name>_refined_minima.xyz<name>_refined_pairs/<name>_refined.xyz
ts๐
Optimize a transition state structure.
mepd ts geometry.xyz --inputs inputs.toml
Options:
| Option | Description |
|---|---|
geometry |
Path to geometry file to optimize (required) |
--inputs, -i |
Path to RunInputs TOML file |
--name |
Custom name for output files |
--charge |
Molecular charge (default: 0) |
--multiplicity |
Spin multiplicity (default: 1) |
--bigchem |
Use ChemCloud for TS optimization |
Example:
mepd ts ts_guess.xyz --inputs inputs.toml
mepd ts ts_guess.xyz --bigchem --name my_ts
pseuirc๐
Compute pseudo-IRC path from a transition state.
mepd pseuirc ts_geometry.xyz --inputs inputs.toml
Options:
| Option | Description |
|---|---|
geometry |
Path to TS geometry file (required) |
--inputs, -i |
Path to RunInputs TOML file |
--name |
Custom name for output files |
--charge |
Molecular charge (default: 0) |
--multiplicity |
Spin multiplicity (default: 1) |
--dr |
Displacement distance in Angstroms (default: 1.0) |
Example:
mepd pseuirc ts_guess.xyz --dr 0.5
make-default-inputs๐
Create a default RunInputs TOML file.
mepd make-default-inputs --name inputs.toml
Options:
| Option | Description |
|---|---|
--name |
Path to output TOML file |
--path-min-method, -pmm |
Path minimization method: neb or fneb (default: neb) |
run-netgen๐
Run network generation for multiple conformer pairs.
mepd run-netgen --start reactants.xyz --end products.xyz --inputs inputs.toml
Options:
| Option | Description |
|---|---|
--start |
Path to reactant conformers file |
--end |
Path to product conformers file |
--inputs, -i |
Path to RunInputs TOML file |
--name |
Custom name for output files |
--charge |
Molecular charge (default: 0) |
--multiplicity |
Spin multiplicity (default: 1) |
--max-pairs |
Maximum number of pairs to process (default: 500) |
--minimize-ends |
Minimize endpoint geometries before NEB |
make-netgen-summary๐
Create a summary plot and network from network generation results.
mepd make-netgen-summary --directory ./results
Options:
| Option | Description |
|---|---|
--directory |
Path to data directory containing network results |
--inputs, -i |
Path to RunInputs TOML file |
--name |
Name of pot and summary file (default: netgen) |
--verbose |
Enable verbose output |
make-netgen-path๐
Create a path through a network.
mepd make-netgen-path --name network.json --inds 0 5 10
Options:
| Option | Description |
|---|---|
--name |
Path to JSON file containing network object |
--inds |
Sequence of node indices to create path for |
Input File Format๐
The CLI uses TOML input files. See Input Parameters for details.
Example input file:
[RunInputs]
engine_name = "qcop"
program = "xtb"
path_min_method = "NEB"
[program_kwds]
[program_kwds.model]
method = "GFN2xTB"
[chain_inputs]
k = 0.1
delta_k = 0.09
[gi_inputs]
nimages = 15
friction = 0.001
nudge = 0.1
[path_min_inputs]
v = true
max_steps = 500
[optimizer_kwds]
timestep = 0.5
MLPGI TOML Example๐
engine_name = "chemcloud"
program = "crest"
path_min_method = "mlpgi"
[path_min_inputs]
backend = "fairchem"
device = "cpu"
dtype = "float32"
model_path = "esen_sm_conserving_all.pt"
model_repo = "facebook/OMol25"
auto_download_model = true
If auto-download is enabled and the model repo is gated, authenticate first:
huggingface-cli login
To pre-download the checkpoint manually:
huggingface-cli download facebook/OMol25 checkpoints/esen_sm_conserving_all.pt --local-dir .