Using transition_sampling¶
Upon installing transition_sampling
, a command line entry point aimless_driver
is created.
aimless_driver inputs.yml [--log-level=INFO] [--log-file=aimless.log]
inputs.yml
describes all necessary inputs for the full pipeline, shown below.
log-level
defaulted to
INFO
, but can take valuesDEBUG, INFO, WARNING, ERROR, CRITICAL
in order of decreasing granularity.log-file
defaulted to
aimless.log
, but can be set to the path log messages should be directed to.
inputs.yml
Format¶
We’ve chosen the YAML format to describe the inputs to aimless_driver
. It’s split into three main sections, one for
each present in Transition Sampling Workflow. Checkout the example input file on github.
md_inputs
(Optional)¶
These are the required inputs for running aimless shooting and generating new shooting points with MD. If this section is excluded, MD will not be run and we will continue to the next present part.
engine_inputs
engine
str (Required)Define what MD engine will be used. Currently only
cp2k
andgromacs
engine_dir
str (Required)Directory where temporary files created by engine (e.g. md.out) will be placed. If running over multiple nodes, all nodes must be able to access this (i.e.
/tmp/*
may not work). Files here will not be deleted, so they can be inspected afterwards if anything went wrong.Note
This should be the full path.
md_cmd
str (Required)Command to launch one simulation with, excluding any specific input or output files
plumed_file
str (Required)Path to the PLUMED file containing COMMITTOR basins
delta_t
float (Required)The \(\Delta t\) as defined in aimless shooting, in femtoseconds.
Other required engine specific inputs: see MD Engines
aimless_inputs
starts_dir
str (Required)Path to directory containing
.xyz
files (in Å) of initial starting guessesoutput_name
str (Required)Prefix to the output names. Two files will be created,
<output_name>.xyz
and<output_name>
.csv. Note that this string should not include an extension.temp
float (Required)Temperature to generate initial velocities at in Kelvin
n_parallel
int (Required)Number of aimless shootings to run in parallel. Total number of simulations running at any given point is given by
n_parallel * 2
n_points
int (Required)Number of accepted shooting points to be generated by a single aimless shooting before considered “done”
n_state_tries
int (Required)Number of times to reselect a known accepting state on failure to accept
n_vel_tries
int (Required)Number of times to resample velocities after getting a rejected shooting point before retrying known accepting states
acceptor
(Optional - can be defined, excluded, or null. In the latter two cases, usesdefault
)Used to define what cases of committing should be considered accepted.
type
str (default
ormultibasin
)
If
default
, accept if the forward and reverse trajectories commit to any different basinsIf
multibasin
, accept if the forward and reverse trajectories commit to a product basin and a reactant basin, which must be defined as lists below.reactants
list[int] (Required iftype = multibasin
)The basins to be considered as “reactants”
products
list[int] (Required iftype = multibasin
)The basins to be considered as “products”
colvar_inputs
(Optional)¶
These are the required inputs to calculate new CVs from the results of aimless shooting. If this section is excluded, new CVs will not be calculated and we will continue to the next present part.
plumed_cmd
str (Required)Command to launch PLUMED with, the PLUMED binary
plumed_file
str (Required)Path to the
plumed.dat
that contains CV definitionsoutput_name
str (Required)Path to file that PLUMED should dump CVs to in its COLVAR format
csv_input
str (Optional)If you’ve excluded
md_inputs
and don’t want to run it, you need to explicitly set the file name of the.csv
file produced by a previous run. Ifmd_inputs
is defined and this field is missing ornull
, the file name will be inferred from themd_inputs
section.xyz_input
str (Optional)If you’ve excluded
md_inputs
and don’t want to run it, you need to explicitly set the file name of the.xyz
file produced by a previous run. Ifmd_inputs
is defined and this field is missing ornull
, the file name will be inferred from themd_inputs
section.
likelihood_inputs
(Optional)¶
These are the required inputs to perform likelihood maximization on the results of aimless shooting and calculated CVs If this section is excluded, likelihood maximization will not be performed and the program will exit after completing any preceding sections.
max_cvs
: int (Optional)Set the maximum length of the set of CVs to be considered. If null or missing, all may be considered if the improvement for length i to i+1 is enough as given by Peters.
output_name
str (Required)Path to the file to put results of maximization in.
csv_input
str (Optional)If you’ve excluded
md_inputs
and don’t want to run it, you need to explicitly set the file name of the.csv
file produced by a previous run. Ifmd_inputs
is defined and this field is missing ornull
, the file name will be inferred from themd_inputs
section.colvar_input
str (Optional)If you’ve excluded
colvar_inputs
and don’t want to run it, you need to explicitly set the file name of theCOLVAR
file produced by a previous run. Ifcolvar_inputs
is defined and this field is missing ornull
, the file name will be inferred from thecolvar_inputs
section.n_iter
int (Optional)Global optimization is performed by basinhopping. This is the number of local optimization to perform per global optimizations. If missing, defaults to
100
.use_jac
bool (Optional)Set to
true
if you want to use use the analytical calculation for the jacobian during optimization, which generally is faster. Set tofalse
to use a finite difference approximation. Defaults totrue
if excluded.