MLFF_inference.py Command Help
Command: $SCHRODINGER/run MLFF_inference.py
usage: MLFF_inference.py [-h] [--atomic-energy-file ATOMIC_ENERGY_FILE]
[--inference-head-index INFERENCE_HEAD_INDEX]
[--precision {single,double}]
[--checkpoint-file CHECKPOINT_FILE | --checkpoint-dir CHECKPOINT_DIR | --model {QRNN4,ORGANIC_CSP_MPNICE,Organic_MPNICE,Organic_MPNICE_TB,Organic_Crystals_MPNICE,Organic_Crystals_MPNICE_v1.1,Inorganic_MPNICE,Hybrid_MPNICE,Hybrid_MPNICE_O,Hybrid_MPNICE_I,QRNN_Electrolyte,UMA_sm_oc20,UMA_sm_omat,UMA_sm_omc,UMA_sm_odac,UMA_sm_omol}]
[--rmse-energy-unit {kcal,hartree,eV,meV}]
[--predict-output-head] [--read-charges]
[--atom-normalization]
[--dispersion-cutoff DISPERSION_CUTOFF]
[--external-mace-checkpoint]
[--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}]
[--skip-dispersion | --add-dispersion]
[--random-seed RANDOM_SEED]
[--distribute | --distribute-by-file]
[--catch-failures] [--optimize] [--optimize-cell]
[--optimization-pressure OPTIMIZATION_PRESSURE]
[--write-opt-path] [--phonons]
[--phonon-bandstructure] [--phonon-dos]
[--phonon-thermal]
[--phonopy-config PHONOPY_CONFIG | --bandpath BANDPATH]
[--phonon-supercell-size PHONON_SUPERCELL_SIZE [PHONON_SUPERCELL_SIZE ...]]
[--phonon-delta PHONON_DELTA] [--phonon-NAC]
[--phonon-temperatures PHONON_TEMPERATURES [PHONON_TEMPERATURES ...]]
[--phonon-unit {eV,wavenumber,THz,meV}]
[--constrain-molecular-charge]
[--guess-atomic-charge-key GUESS_ATOMIC_CHARGE_KEY]
[--compute-charge-grad] [--net-charge NET_CHARGE]
[--net-spin NET_SPIN]
[--optimizer-algorithm {BFGS,FIRE}]
[--no-line-search] [--calculate-eos]
[--optimization-thresh OPTIMIZATION_THRESH]
[--unstable-force-thresh UNSTABLE_FORCE_THRESH]
[--info-gain-kt INFO_GAIN_KT] [--neb-k NEB_K]
[--neb-num-images NEB_NUM_IMAGES]
[--max-cycles MAX_CYCLES] [--freeze-heavies]
[--dielectric] [--piezoelectric]
[--return-latent-features]
[--detach-output-head-weights]
[--freeze-atoms FREEZE_ATOMS [FREEZE_ATOMS ...]]
[--fix-symmetry] [--add-flucq-energy]
[--ensemble {NVE,NVT,NPT}] [--compute-frho]
[--limit-forces LIMIT_FORCES]
[--temperature TEMPERATURE] [--pressure PRESSURE]
[--sample-interval SAMPLE_INTERVAL]
[--traj-interval TRAJ_INTERVAL]
[--total-time TOTAL_TIME]
[--md-rho-thresh MD_RHO_THRESH]
[--time-step TIME_STEP] [--ttime-factor TTIME_FACTOR]
[--ptime-factor PTIME_FACTOR] [--restart-MD]
[--bulk-modulus BULK_MODULUS]
[--true-energy-key TRUE_ENERGY_KEY]
[--compute-binding-energies]
[--xtb-method {GFN0-xTB,GFN1-xTB,GFN2-xTB}]
[--xtb-solvation]
[--nopbc-confining-pressure NOPBC_CONFINING_PRESSURE]
[--fep-smarts FEP_SMARTS]
[--fep-qrnn-lambda FEP_QRNN_LAMBDA]
[--fep-lj-lambda FEP_LJ_LAMBDA]
[--fep-lj-alpha FEP_LJ_ALPHA]
[--fep-lj-p-power FEP_LJ_P_POWER]
mae_file [mae_file ...]
TorchSANI model inference
options:
-h, --help show this help message and exit
Inference arguments:
--atomic-energy-file ATOMIC_ENERGY_FILE
json file holding atomic energies. Add these to make
predictions match total energies from DFT. Default:
zeros are used. Note, this requires double precision.
(default: None)
--inference-head-index INFERENCE_HEAD_INDEX
MTL label for inference. Default -1 for Single-task or
highest index in MTL (default: -1)
--precision {single,double}
The precision to run the model in (default: single)
(default: single)
--checkpoint-file CHECKPOINT_FILE
checkpoint file to load model paramters (default:
None)
--checkpoint-dir CHECKPOINT_DIR
checkpoint directory to load ensemble paramters
(default: None)
--model {QRNN4,ORGANIC_CSP_MPNICE,Organic_MPNICE,Organic_MPNICE_TB,Organic_Crystals_MPNICE,Organic_Crystals_MPNICE_v1.1,Inorganic_MPNICE,Hybrid_MPNICE,Hybrid_MPNICE_O,Hybrid_MPNICE_I,QRNN_Electrolyte,UMA_sm_oc20,UMA_sm_omat,UMA_sm_omc,UMA_sm_odac,UMA_sm_omol}
checkpoint file to load model paramters (default:
None)
--rmse-energy-unit {kcal,hartree,eV,meV}
units of energy to report RMSE in; internally the NN
predicts in hartree then is converted (default: kcal)
--predict-output-head
If True, simultaneously train a small NN to predict
the output head (or mix thereof) to use for each atom.
(default: False)
--read-charges if True use true charges as a feature (default: False)
--atom-normalization whether to normalize the loss functions by the number
of atoms (default: False)
--dispersion-cutoff DISPERSION_CUTOFF
radial cutoff for dispersion functions (default: 10.0)
--external-mace-checkpoint
if True read in external MACE checkpoint (from
torchsani.mace github training) (default: False)
--log-level {CRITICAL,FATAL,ERROR,WARN,WARNING,INFO,DEBUG,NOTSET}
How much to log about this run (see Python's logging
module) (default: INFO)
--skip-dispersion Do not load any dispersion correction(s) the model may
have (default: False)
--add-dispersion Add a dispersion correction to the model if the model
doesn't already have one (default: False)
--random-seed RANDOM_SEED
If given, used to seed PRNG for velocity
initialization (default: None)
mae_file name of input file(s)
--distribute distribute jobs using JobDJ into separate jobs per
structure (default: False)
--distribute-by-file distribute jobs using JobDJ into separate jobs per mae
file. Useful for manually batching single point
calculations to minimize jobserver I/O (default:
False)
--catch-failures if True catch failures as exceptions. (default: False)
--optimize optimize structure prior to computing energy (default:
False)
--optimize-cell optimize cell (default: False)
--optimization-pressure OPTIMIZATION_PRESSURE
external pressure (atm) applied during optimization
(default: 0.0)
--write-opt-path write optimization path (default: False)
--phonons calculate phonons using ase.Phonons (default: False)
--phonon-bandstructure
calculate phonon bandstructure using phonopy. Requires
--phonons to be set (default: False)
--phonon-dos calculate phonon density of states using phonopy.
Requires --phonons to be set (default: False)
--phonon-thermal calculate thermal properties (specific heat, entropy,
Helmholtz free energy) using phonopy. Requires
--phonons to be set (default: False)
--phonopy-config PHONOPY_CONFIG
Configuration file for phonopy band structure
calculations. Currently only supports BAND,
BAND_LABELS, MESH, and BAND_POINTS (default: None)
--bandpath BANDPATH ASE string specification of special point names for
the phonon bandstructure. See https://wiki.fysik.dtu.d
k/ase/ase/cell.html#ase.cell.Cell.bandpath for details
(default: None)
--phonon-supercell-size PHONON_SUPERCELL_SIZE [PHONON_SUPERCELL_SIZE ...]
Supercell size multiplier for phonon calculations. If
only one given uses same value for all directions
(e.g., 2 creates a 2x2x2 supercell, 2 3 1 makes a
2x3x1 supercell) (default: [2])
--phonon-delta PHONON_DELTA
Finite displacement step size for phonon calculations
(default: 0.05) (default: 0.03)
--phonon-NAC calculate non-analytic correction to phonons (default:
False)
--phonon-temperatures PHONON_TEMPERATURES [PHONON_TEMPERATURES ...]
Which temperatures to calculate thermal properties
(entropy, free energy) for. Requires both --phonons
and --phonon-thermal to be turned on (default: [])
--phonon-unit {eV,wavenumber,THz,meV}
unit to report phonon distribution in. Currently only
supported in ASE driver (default: THz)
--constrain-molecular-charge
constraint molecular charge based on formal charges
(default: False)
--guess-atomic-charge-key GUESS_ATOMIC_CHARGE_KEY
if given, QRNN charges will be taken from this atomic
property instead of being determined by a NN (default:
None)
--compute-charge-grad
If True compute derivative of energy with respect to
charges and write to atom level property (default:
False)
--net-charge NET_CHARGE
If given, all systems will be constrained to this
charge (be very careful with this setting, it should
only be used for debugging) (default: None)
--net-spin NET_SPIN If given, all systems will be constrained to this spin
(be very careful with this setting, it should only be
used for debugging) (default: None)
--optimizer-algorithm {BFGS,FIRE}
Choice of optimization algorithm to use in ASE
(default: BFGS)
--no-line-search Turns off the use of line search in optimizations
(default: True)
--calculate-eos calculates and returns the bulk modulus (default:
False)
--optimization-thresh OPTIMIZATION_THRESH
threshold on max force (in eV/A) for optimization
convergence (default: 0.01)
--unstable-force-thresh UNSTABLE_FORCE_THRESH
A maximum threshold on the max force (ev/A). If the
max force component exceeds this value the
optimization considered unstable and is terminated.
(default: None)
--info-gain-kt INFO_GAIN_KT
energy scale for information gain optimization, in
Hartree (default: 0.0)
--neb-k NEB_K Nudged Elastic Band constant (in eV/A). If > 0, run
NEB using all input structures as one initial path.
(default: 0.0)
--neb-num-images NEB_NUM_IMAGES
The number of images to attempt to interpolate in an
NEB calculation. Skipped if a path of 5 or more is
given. If None, try to interpolate an image for every
0.2 Angstrom of distance between the first and last
structure in the path. (default: None)
--max-cycles MAX_CYCLES
maximum number of optimization cycles (default: 500)
--freeze-heavies if True freeze the positions of heavy atoms (default:
False)
--dielectric if True attempt to calculate the dielectric tensor for
a fixed material. Only implemented for MPNICE
(default: False)
--piezoelectric if True attempt to calculate the piezoelectric tensor
for a fixed material. Only implemented for MPNICE
(default: False)
--return-latent-features
if True return the latent features of each atom in mae
file. Only implemented for MPNICE (default: False)
--detach-output-head-weights
if True detach the predicted output head weights (from
--predict-output-heads) from the autograd graph before
calculating derivatives. Disobeys energy conservation.
(default: False)
--freeze-atoms FREEZE_ATOMS [FREEZE_ATOMS ...]
list of ASE atom indices to be frozen during structure
optimization. (default: None)
--fix-symmetry fix spacegroup symmetry (default: False)
--add-flucq-energy if true add flucq, dispersion and atomic energy, else
just add atomic energy (default: False)
--ensemble {NVE,NVT,NPT}
Ensemble for molecular dynamics (default: NVE)
--compute-frho compute ensemble uncertainty for atomic forces
(default: False)
--limit-forces LIMIT_FORCES
Atomic forces exceeding this magnitude (in eV/A) will
be scaled to this magnitude. If None (default), no
limit. (default: None)
--temperature TEMPERATURE
temperature for molecular dynamics (Kelvin) (default:
300.0)
--pressure PRESSURE pressure (atm) for NPT molecular dynamics (default:
1.0)
--sample-interval SAMPLE_INTERVAL
interval (in units of frames) at which to log the MD
data (default: 100)
--traj-interval TRAJ_INTERVAL
interval (in units of frames) at which to collect
molecular dynamics frames (default: 100)
--total-time TOTAL_TIME
Total molecular dynamics time (ps) (default: 0.0)
--md-rho-thresh MD_RHO_THRESH
MD termination threshold on Ensemble uncertainty (rho)
in kcal/mol (default: None)
--time-step TIME_STEP
Time step for molecular dynamics (fs) (default: 0.1)
--ttime-factor TTIME_FACTOR
ttime-factor * time-step to obtain timescale of the
thermostat (default: 100.0)
--ptime-factor PTIME_FACTOR
ptime-factor * time-step to obtain timescale of the
barostat (default: 1000.0)
--restart-MD restart MD by setting velocities from input mae file
(default: False)
--bulk-modulus BULK_MODULUS
bulk-modulus of substance in GPa (default: 3.0)
--true-energy-key TRUE_ENERGY_KEY
key for true energies, will compute errors to this
value if the key exists. (default:
r_j_Gas_Phase_Energy)
--compute-binding-energies
if True compute binding energies by subtracting
monomer energies. (default: False)
--xtb-method {GFN0-xTB,GFN1-xTB,GFN2-xTB}
which xTB method to use (default: GFN2-xTB)
--xtb-solvation if True, add in xTB solvation energy (default: False)
--nopbc-confining-pressure NOPBC_CONFINING_PRESSURE
add a force towards the origin, equivalent to this
external pressure on a sphere (default: 0.0)
--fep-smarts FEP_SMARTS
smarts pattern for defining the solute (first
subsystem) in FEP. (default: None)
--fep-qrnn-lambda FEP_QRNN_LAMBDA
lambda value for qrnn FEP. 0 means non-interacting and
1 means fully interacting. (default: 1.0)
--fep-lj-lambda FEP_LJ_LAMBDA
lambda value for softcore LJ potential. Should be
between 0 and 1. 0 means regular LJ and 1 means
potential is 0 everywhere. (default: 1.0)
--fep-lj-alpha FEP_LJ_ALPHA
alpha value for controlling the strength of the
Beutler softcore LJ potential. The larger the value,
the stronger the damping effect. Only relevant when
fep-lj-mode is Beutler (default: 0.5)
--fep-lj-p-power FEP_LJ_P_POWER
p power in the Beutler softcore LJ potential. Only
relevant when fep-lj-mode is Beutler (default: 1)