Command-line interface¶
The racerts CLI mirrors the core functionality of the Python API.
The command is always:
$ racerts filename.xyz [options]
where the filename.xyz is the path to an .xyz file containing a single TS conformer.
General inputs¶
| Command | Options | Explanation |
|---|---|---|
-c--charge |
<INT> [0] | Overall molecular charge |
-smiles--input_smiles |
<STR...> | One (or multiple) SMILES for either product or starting material to define topology |
-atoms--reacting_atoms |
<INT...> | List of (0-based) indices of reacting atoms |
-frozen--frozen_atoms |
<INT...> | Optional: overwrite of atoms to freeze; if omitted, neighbors of reacting atoms are inferred |
Ensemble size¶
| Command | Options | Explanation |
|---|---|---|
-cf--conf_factor |
<INT> [80] | Number of initially generated conformers: NumRotatableBonds × conf_factor + 30 |
-n--number_of_conformers |
<INT> [-1] | Specify number of initially generated conformers (and overwrite conf_factor) |
Conformer Generation Configuration¶
| Command | Options | Explanation |
|---|---|---|
-m--mol |
<smiles|bonds|connect> | Method to infer molecular graph from .xyz:smiles use MolGetterSMILES;bonds use MolGetterBonds;connect use MolGetterConnectivity |
-e--embed |
<dm|cmap> | Embedding method:dm = bounds-matrix; uses BoundsMatrixEmbedder;cmap = coordinate map; uses CmapEmbedder |
-ff--ff |
<mmff|uff> [mmff] | Force-field refinement: ;mmff uses MMFFOptimizer;uff uses UFFOptimizer |
Output¶
| Command | Options | Explanation |
|---|---|---|
-o--output |
<STR> [conformer_ensemble.xyz] | Output .xyz filename |
--out_energies |
- | Write energies in Eh in the comment line; conformer property remains in kcal/mol |
-v--verbose |
- | Verbose output |
Performance and reproducibility¶
| Command | Options | Explanation |
|---|---|---|
--num_threads |
<INT> [1] | Threads for embedding/optimization |
--seed |
<INT> [12] | Random seed |
--no_fallback |
- | Disable automatic fallback (see below) |
Fallback
In the default setup, an automatic fallback substitutes modules upon failure:
MolGetter:
1. MolGetterSMILES
2. MolGetterBonds
3. MolGetterConnectivity
Optimizer
1. MMFFOptimizer
2. UFFOptimizer
The next module in the chain is used only if the previous one fails.
molgetter options¶
| Command | Explanation |
|---|---|
--no_assignbonds |
For bonds getter: don’t assign bonds [default: True] |
--disallow-charged |
For bonds getter: disallow charged fragments [default: True] |
embedder options¶
| Command | Explanation |
|---|---|
--no-random_coords |
Disable random coordinates |
optimizer options¶
| Command | Explanation |
|---|---|
--force_constant |
<FLOAT> [1e6] |
RMSDPruner options¶
| Command | Options | Explanation |
|---|---|---|
-rmsd--rmsd_thres |
<FLOAT> [0.125] | RMSD threshold in Å |
-rmsd_hs--rmsd_include_hs |
- | Include hydrogens when computing RMSDs [default: False] |
--no_filter_energies |
- | Disable energy-based dissimilarity prefilter [default: True] |
--no_filter_rotations |
- | Disable rotational-profile prefilter [default: True] |
--rmsd_energy |
<FLOAT> [0.1] | Energy difference threshold (kcal/mol) for the prefilter |
--rmsd_rot_fraction |
<FLOAT> [0.03] | Rotational-difference fraction threshold |
-rmsd_match--rmsd_max_matches |
<INT> [10000] | Max substructure matches for RMSD calculation |
EnergyPruner options¶
| Command | Options | Explanation |
|---|---|---|
-energy--energy_thres |
<FLOAT> [20.0] | Energy window for pruning (kcal/mol) |
Common recipes¶
Basic run
$ racerts example.xyz --charge 0 --reacting_atoms 2 3 4
Use SMILES-defined topology and coordinate-map embedding
$ racerts example.xyz --charge 0 \
--reacting_atoms 2 3 4 \
--input_smiles "C1=CC=CC=C1" "O" \
--mol smiles --embed cmap --ff mmff --out_energies
Increase diversity by allowing more initial conformers
$ racerts example.xyz --charge 0 --reacting_atoms 2 3 4 --conf_factor 120
Faster refinement on many conformers with threads (if using multithreaded optimizers)
$ racerts example.xyz --charge 0 --reacting_atoms 2 3 4 --num_threads 4