Faculty for Chemistry and Pharmacy - Group of Prof. Zipse


The kick procedure encodes a stachastic conformational search algorithm and has originally been proposed by M. Saunders (J. Comp. Chem. 2004, 25, 621). The kick version discussed in the following represens a minor modification of the original and has been described by D. Sakic et al. (D. Sakic, M. Henzevacki, D. M. Smith, V. Vrcek, Org. Biomol. Chem. 2015,13, 11740). In the following example we will use the kick procedure to search the conformational space of the water dimer. The seeding structure required for the kick procedure has in this case been obtained in an initial geometry optimization at the B3LYP/6-31G(d) level of theory:

The kick script is coded in html form and can be loaded into an internet browser from /scr1/kick/kick_modified.html. After loading the script file you will see the following:

The variable in the "Distance parameter" field is a reference distance that indicates how far one fragement is kicked away from the other (here 200 pm), the "number of files" indicates the number of new (kicked) structures that will be generated, the "Minimal distance" field gives the minimal distance allowed between the two fragments for acceptable kicked structures (here 80 pm), and the "Number of fragments" field specifies the number of individual fragments moved relative to the "frozen" reference structure in the kick steps. In the following window labeled as "Input XYZ coordinates" we enter the XYZ coordinates of the water dimer reference structure, where the first three atoms define the structure of the first water molecule serving as the frozen fragment reference structure. This is indicated by the tailing "0" characters. The following three atoms define the structure of the second water molecule that will be moved around in the kick steps as the "kickable" unit. This is indicated by the tailing "1" characters.

On pushing the "Generate" button, the kick script will do the following:

Based on the distance given in the "Distance parameter" field a new point P will be generated relative to a randomly chosen reference atom A in the frozen fragment. At the same time the geometric center C of the "kick" fragement will be calculated from all atom positions in this fragment, and a random rotation will be performed around C. The rotated fragment will then be translated to point P to generate a new test structure. Provided that all atoms in the frozen fragement are at least the "minimal distance" away from all atoms in the kicked fragment, the test structure is accepted into the list of new conformers. This process continues until the number of structures has been generated given in the "Number of new files" field. All new strcutures are then listed to the browser output window in the following format:

Minimal distance: 1.807735886147842 OK!

O 1.384757 0.11727 0.04291
H 0.67341 0.086847 -0.620619
H 1.81196 -0.749284 -0.034765
O -0.2556770649415829 -1.3767453491805886 1.3215845545420812
H -0.6582327639019132 -1.348618623377453 2.202985921116679
H 0.4104355205167378 -0.6681228449834576 1.3474270630287137

Minimal distance: 1.327729550397109 OK!

O 1.384757 0.11727 0.04291
H 0.67341 0.086847 -0.620619
H 1.81196 -0.749284 -0.034765
O -0.05140576904205474 -0.8500724005491027 1.2885322476675438
H -0.6013993420841444 -0.20591130571710123 0.8170721337072826
H 0.8276489457786563 -0.7447218127417659 0.8852083376960812


What is given here after "Minimal distance:" is nothing else but the result of the distance check.

While it is certainly possible to generate input files for further steps such as geometry optimizations by hand, it is more effective to do some post-processing on the complete conformer list. To this end copy the complete conformer list into a new text file named, for example, "watdim_kicked". The file at this point holds 10 strcutures described by 10 lines of text each. This file can be split up in 10 new structure files with the split command such as:

split -d -l 10 wat_003f_kicked wat_003f_kick.

The "-d" modifier tells the split command to generate new separate files using a numerical index; the "-l 10" modifier instructs split to generate new files with 10 lines of text each; the "watdim_kicked" argument defines the input file holding all ten structures, and the "watdim_kick." argument defines the name used for generating the new input files. Once executed the split command generates 10 new files, the first named "watdim_kick.00" and the last "watdim_kick.09".

An even more effective tool for converting the initially generated kick list into separate input files can be found in the "kick_b3lyp-D3_6-31Gd" script assembled by Vasily Korotenko (located in the /scr1/kick/start directory). This script will take your kick list file as input and a) extract all individual structures generated in the kick process; b) generate a full input file for running a B3LYP-D3/6-31G(d) geometry optimization for each of the structures; and c) submit all of these input files to the SLURM queueing system.

last changes: 06.03.2020, Davor Sakic, Vasily Korotenko, and Hendrik Zipse
questions & comments to: zipse@cup.uni-muenchen.de