1. Run KIMMDY from Colbuilder fibril

Preparation

  • Download the desired model and the ff parameters for gromacs from colbuilder
  • Clean the force field files by moving amber99sb-star-ildnp.ff up to the working directory, adding residuetypes.dat and specbond.dat to the working directory, removing temporary files ._* and deleting the rest of collagen.ff
  • Convert the pdb file to .gro format and create a unified topology file
Caution

Due to some issues in GROMACS, pdb2gmx may take a while (~16 hours). The majority of the time is actually spend on checks that happen just before the final lines are written to the file. It is possible to stop the process early and add the final lines manually.

gmx pdb2gmx -f Homo_sapiens_aln_N_HLKNL_12_C_PYD_2_fibril.pdb -o fibril2.gro -ignh -water tip3p -merge all <<<1

Equilibration

mdp files for the following steps are located in <kimmdy root>/www/colbuilder_files.

gmx editconf -f fibril.gro -o fibril_x.gro -c -princ  <<<1

gmx editconf -f fibril_x.gro -o fibril_z.gro -rotate 0 270 0 -c

gmx editconf -f fibril_z.gro -o fibril_box.gro -c -box 16.3 17.7 95.0 -bt triclinic

gmx solvate -cp fibril_box.gro -p topol.top -o fibril_solv.gro

touch ions.mdp

gmx grompp -f ions.mdp -c fibril_solv.gro -p topol.top -o fibril_genion.tpr

gmx genion -s fibril_genion.tpr -p topol.top -o fibril_ion.gro -conc 0.15 -neutral

gmx grompp -f minim.mdp -c fibril_ion.gro -p topol.top -o pep_min.tpr

gmx mdrun -deffnm pep_min -v
Caution

Heavy computational load from here on.

gmx grompp -f nvt.mdp -c fibril_min.gro -r fibril_min.gro -p topol.top -o nvt.tpr

gmx mdrun -deffnm nvt -v -dlb yes -ntomp 4 -ntmpi 10  -pme gpu -bonded gpu -npme 1

gmx grompp -f npt.mdp -c nvt.gro -r nvt.gro -p topol.top -o npt.tpr

gmx mdrun -deffnm npt -v -dlb yes -ntomp 4 -ntmpi 10  -pme gpu -bonded gpu -npme 1
Tip

The equilibration process can take up to 4 days. An equilibrated system will be provided in the release assets.

Simulation

For a KIMMDY run, some additional setup is required. A suitable KIMMDY config file for homolysis can be found in the hexalanine_homolysis example:

KIMMDY config file (kimmdy.yml)
kimmdy.yml
# yaml-language-server: $schema=../../src/kimmdy/kimmdy-yaml-schema.json
dryrun: false
name: 'hexalanine_homolysis_000'
max_tasks: 100
gromacs_alias: 'gmx'
gmx_mdrun_flags: -maxh 24 -dlb yes -nt 8
ff: 'amber99sb-star-ildnp.ff'
top: 'hexala_out.top'
gro: 'npt.gro'
ndx: 'index.ndx'
plumed: 'plumed.dat'
mds:
  pull:
    mdp: 'pull_fibril.mdp'
  pull:
    mdp: 'md.mdp'
    use_plumed: true
  relax:
    mdp: 'md_slow_growth.mdp'
changer:
  coordinates:
    md: 'relax'
    slow_growth: True
  topology:
    parameterization: 'basic' 
reactions:
  homolysis:
    edis: 'edissoc.dat'
    itp: 'ffbonded.itp'
sequence:
  - equilibrium
  - pull  
  - reactions
  - equilibrium
  - pull

The config file mentions three important gromacs file for your system: top, gro, idx. We have the top and gro file from the equilibration and can update the file names in the config file. A basic index file can be generated with

echo 'q' | gmx make_ndx -f npt.gro

The next entry in the config file is plumed and references a plumed configuration file (plumed.dat) which we don’t yet have. This file is needed for the homolysis reaction plugin. In the reactions section, other files which are necessary for the homolysis reaction can also be seen: edissoc.dat and ffbonded.itp. The ffbonded.itp file is specific to the force field and can be copied from the force field directory. Edissoc.dat contains a table of bond dissociation energies by atom name and can be taken from the hexalanine_homolysis example if only standard amino acids and the HLKNL and PYD crosslinks are part of the system. For other crosslinks, the bond dissociation energy has to be provided by the user.

If the HLKNL and/or PYD are present in the system, their atom names need to be changed to unique names specified in edissoc.dat. A script for renaming HLKNL and PYD crosslink atom names in the gro and top file can be found in the tutorial files.

For homolysis, the plumed.dat file should contain instructions to sample distances between bonds. Homolysis can then occur for the bonds mentioned in this file. A script to create a plumed.dat file can be found in the turoail files. We want to sample homolysis in the backbone and in crosslinks. By providing a gromacs index file with all backbone and crosslink atoms, the script generates the necessary plumed.dat file. Such a index file can be generated with

echo 'backbone | r LY2 LY3_L4Y_L5Y_LYX' | gmx make_ndx -n index.ndx -o index.ndx

Now let’s look at the sequence. It mentions the reactions, which we have taken care of, and the names of different md runs. A good first Kimmdy run would include a first pulling simulation to stretch the fibril followed by a pulling simulation with distance sampling for the subsequent reaction and a final pulling simulation. For both types of pulling simulation the same mdp file can be used from the tutorial files. The pulling simulations also need torque restraints to prevent unphysiological unwinding of the fibrils. The torque restraints are applied to the capping groups of a tripelhelix. For this, additional index groups are needed which can be generated with a script provided in the tutorial files (prepare_enforced_rotation.py). Bond distance sampling can be turned on for a md run by the tag use_plumed. Another md run, in this case called relax, is mentioned under changer.coordinates.md. It is used after the homolysis reaction to interpolate between new and old parameters. An example mdp file is included in the tutorial files.

Finally, the KIMMDY run name and gmx_mdrun_flags can be adjusted. A final KIMMDY config file could look like this:

KIMMDY config file (kimmdy.yml)
kimmdy.yml
# yaml-language-server: $schema=../../src/kimmdy/kimmdy-yaml-schema.json

dryrun: false
name: 'fibril_000'
max_tasks: 100
gromacs_alias: 'gmx'
gmx_mdrun_flags: -maxh 24 -dlb yes -ntomp 4 -ntmpi 10  -pme gpu -bonded gpu -npme 1
ff: 'amber99sb-star-ildnp.ff'
top: 'topol.top'
gro: 'npt.gro'
ndx: 'index.ndx'
plumed: 'plumed.dat'
mds:
  pull:
    mdp: 'pull_fibril.mdp'
  sample:
    mdp: 'pull_fibril.mdp'
    use_plumed: true
  relax:
    mdp: 'pull_fibril_slow_growth.mdp'
changer:
  coordinates:
    md: 'relax'
    slow_growth: True
  topology:
    parameterization: 'basic' 
reactions:
  homolysis:
    edis: 'edissoc.dat'
    itp: 'ffbonded.itp'
sequence:
  - pull
  - sample  
  - reactions
  - pull

The run can be started by typing kimmdy in the command line. The output files are located in fibril_000

Analysis

Try the options in kimmdy-analysis to visualize your kimmdy run.

Back to top