Input File
Autocompletion
KIMMDY comes with autocompletion and tooltips inside your editor for its configuration file kimmdy.yml
.
All you need to do is activate a yaml-language-server in your editor (e.g. VS Code via the YAML extension or Neovim via lspconfig).
Activating this is very much recommended, as it prevents many typos, missaligned braces and especially incorrect indentation (people love YAML for its readability, but hate it for its whitespace sensitivity).
This only works, if your config file is called kimmdy.yml
and the Scheme Store hasn’t been disabled in your editor settings (e.g. Yaml > Schema Store: Enable
.
All Options
The following is a list of the options that can be set in the kimmdy.yml
file. It includes reactions currently available in KIMMDY as plugins. Nested options are separated by a .
. *
denotes an arbitrary name for a section.
Thus, documentation for the following options in a kimmdy.yml
file:
cwd: 'path/to/working/directory'
topology:
reactive:
exclude: POPC
Are found in this list under the headings cwd
and topology.reactive.exclude
respectively.
slurm
SLURM HPC options
dryrun
Don’t run the actual simulations, just print the tasks
Type: bool
Default: False
parameterize_at_setup
parameterize the topology during the setup task
Type: bool
Default: True
cwd
Working directory. Default is current working directory
Type: Path
name
Used for output folder if out
is not specified
Type: str
Default: kimmdy
out
Output folder
Type: Path
log
Settings for logging
max_tasks
Maximum number of tasks to run. This is useful when a task in the sequence can dymanically add more tasks. 0 means no limit.
Type: int
Default: 0
max_hours
Stop KIMMDY after max_hours hours. Set this lower than the limit of your HPC cluster for use with a re-submit jobscript. 0 Means no limit.
Type: int
Default: 0
kmc
KMC algorithm overwrite. Should be set by the reactions, but can be changed here. Not all reactions may support all algorithms.
Type: str
Options: [’‘, ’rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
tau_scale
Scaling parameter for tau in the extrande kmc algorithm.
Type: float
Default: 1.0
top
Topology file
Type: Path
Default: topol.top
topology
Settings for handling the topology file.
topology.reactive.include
Explicitly include a moleculetype or list of moleculetypes as a space-separated string.
Type: str
topology.reactive.exclude
Explicitly exclude a moleculetype or a list as a space-separated string. For example the lipid moleculetype in a bilayer simulation e.g. DPPC POPC'
Type: str
topology.reactive.nrexcl
Explictly set the nrexcl value for the Reactive moleculetype. By default the value is taken from the first found reactive moleculetype.
Type: int
gro
Coordinate file
Type: Path
Default: conf.gro
ndx
Gromaxs index file
Type: Path
Default: index.ndx
gromacs_alias
Gromacs alias. e.g. gmx
or mpirun gmx_mpi
Type: str
Default: gmx
gmx_mdrun_flags
Flags passed to gmx mdrun. Default -maxh 24 -dlb yes
Type: str
Default: -maxh 24 -dlb yes
ff
Force field directory (looks for .ff in cwd if not set)
Type: Path
Default: *.ff
residuetypes
GROMACS rtp file that contains residuetypes. Looks for aminoacids.rtp
it not set. KIMMDY will first look in the current working directory and then relative to the forecfield directory.
Type: Path
radicals
space-separated string of radical atom ids, can be empty
Type: str
plumed
.dat file containing plumed config
Type: Path
tpr
.tpr file of a finished simulation for starting directly with a reaction
Type: Path
trr
.trr file of a finished simulation for starting directly with a reaction
Type: Path
restart
Restart from a previous run.
mds
Settings for MD steps, e.g. mdp files, plumed files, etc.
mds.*.mdp
MDP file for the MD step
Type: Path
mds.*.use_plumed
Whether plumed should be used for this run or not
Type: bool
Default: False
changer
Settings for applying a reaction recipe
changer.coordinates.md
MD step from the ‘mds’ section that is used for relaxation MDs
Type: str
changer.coordinates.slow_growth
Whether the chosen MD step is a slow growth/free-energy simulation
Type: bool
Default: False
changer.topology.parameterization
Parameterization scheme that is used on the topology file after changes to it
Type: str
Options: [‘grappa’, ‘basic’]
Default: basic
changer.topology.parameterization_kwargs
Keyword argument container for the selected parameterization scheme
sequence
List of tasks. Each task can be a string (the name of the task) or an object with the task name and a multiplicity mult: <int>
Type: Sequence
reactions
Settings for reactions
reactions.homolysis.edis
Dissociation energies data file
Type: Path
Default: edissoc.dat
reactions.homolysis.itp
Additional itp file with bonded parameters
Type: Path
Default: ffbonded.itp
reactions.homolysis.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
Default: rfkmc
reactions.hat_naive.frequency_factor
Frequency factor
Type: float
Default: 1
reactions.hat_naive.h_cutoff
Cutoff for H atom
Type: float
Default: 4
reactions.hat_naive.polling_rate
Polling rate
Type: float
Default: 1
reactions.hat_naive.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
Default: extrande_mod
reactions.dummyreaction.example
This is an example of an option for a reaction.
Type: float
Default: 0.0
reactions.dummyreaction.example2
This is another example of an option for a reaction.
Type: str
Default: hello
reactions.dummyreaction.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’, ‘extrande_mod’]
Default: extrande_mod
reactions.hydrolysis_naive.cutoff
Cutoff distance [nm] for the reaction. Water within this distance from the peptide bond will be considered for hydrolysis.
Type: float
Default: 1
reactions.hydrolysis_naive.kmc
KMC algorithm for this reaction.
Type: str
Options: [‘rfkmc’, ‘frm’, ‘extrande’]
Default: rfkmc
plot_rates
Plot the reaction rates during the reactions step
Type: bool
Default: True
save_recipes
Save recipes as csv during the reactions step
Type: bool
Default: True
Example kimmdy.yml
Files
kimmdy.yml
dryrun: false
max_tasks: 100
name: 'hat_tf_000'
gromacs_alias: 'gmx'
top: 'Ala_out.top'
gro: 'npt.gro'
ndx: 'index.ndx'
mds:
equilibrium:
mdp: 'md.mdp'
relax:
mdp: 'md_slow.mdp'
changer:
coordinates:
md: 'relax'
reactions:
hat_reaction:
frequency_factor: 100000000
h_cutoff: 3
polling_rate: 1
sequence:
- equilibrium
- mult: 2
tasks:
- equilibrium
- reactions