Automated Preparation of Input Files

Tsubasa is designed to automatically prepare the input files for Parmhess. It could automatically do optimization (opt), MK charge calculation (resp), RESP charge calculation (antechamber), frequency calculation (freq) and preparation of MM input file.

The input for Tsubasa program is just coordinates and connectivity. An example is:

H2O2.gau

0 1
O     -0.718633164030    -0.118472295063    -0.054617618503
H     -1.023538245240     0.665457463989     0.436707052760
O      0.718637032315     0.118468958072    -0.054573365001
H      1.023507272500    -0.665430766999     0.436820814218

 1 2 1.0 3 1.0
 2
 3 4 1.0
 4

Save it to a file named H2O2.gau. Then run the following command within the same folder .. code-block:: bash

tsubasa.py

A template config file will be copied to the same folder and named H2O2.yml. The format is YAML but is easy to understand. Below we attach the content of this file and make comments after a number sign (#).

g09rt: myg09boon     # myg09boon is the command to run Gaussian 09; change it to your job submit
                     script. For example, running “myg09boon foo.com” should produce
                     foo.log in the same folder. If you do not use job management system,
                   it should just be “g09”.
g09a2rt: myg09a2boon         # Command to run Gaussian 09 for MK charge calculation
                               If you mainly use G09B01, which is problematic for MK charge calculation,
                               you can use another version for MK charge calculation.

antechamber: antechamber -c resp      # Commands to run antechamber. The charge type can be changed
                                        # For metal system, “-j 5” may be added
clean: rm *gaussian*                  # will run at the last to clean the directory.

opthead: |                            # A block starts with a vertical bar (|)
  %mem=16gb                           # the content in the block is indented by 2 spaces.
  %nproc=12                           # This block defines the command used for optimization
  #p b3lyp/6-31+g* geom=connectivity
  int=ultrafine symm=(loose,follow)
  opt=(verytight,maxstep=7,notrust)

  opt-title

opttail: |                            # The coordinates and connectivity will be inserted
                                      # between the content of opthead and opttail
freqhead: |                           # This block defines the command used for frequency calculation
  %mem=16gb                           # coordinates will be read from CHK files.
  %nproc=12
  #p b3lyp/chkbas int=ultrafine symm=loose geom=allcheck guess=tcheck freq=intmodes iop(7/33=1)


resphead: |                           # This block defines the command used for MK charge calculation
  %mem=16gb
  %nproc=12
  #p b3lyp/chkbas
  iop(6/33=2,6/42=17,6/41=10)
  int=ultrafine symm=loose
  pop=mk                               # If any VDW radius is missing, use pop=(mk,readradii) …
  geom=allcheck guess=tcheck


resptail: |                            # … and add the VDW radius here


mmhead: |                              # this block should not be changed.
  %mem=12gb
  #p amber=softonly geom=connectivity nosymm
  iop(4/33=3,7/33=1)
  freq=intmodes

  MM

You should check the content of config file before going to the next step. After that, run the command again:

tsubasa.py

The program will start the process and finally produce all necessary files for Parmhess if all the calculations succeed. The intermediate files will be named as: optH2O2.com/log/chk, freqH2O2.com/log/chk/fchk and respH2O2.com/log/chk/mol2.


The detailed usage is as follows.

> tsubasa.py --help
usage: tsubasa.py [-h] [-i GAUFILE] [-c YMLFILE] [--readvdw EXTERNALVDWFILE]
                  [--startfrom {resp,antechamber,freq,buildMMfile}]
                  [--stopafter {opt,resp,antechamber,freq}]
                  [--improper IMPROPERLIST]

optional arguments:
  -h, --help            show this help message and exit
  -i GAUFILE            Inputfile including molecular specs and
                              connectivity
  -c YMLFILE            Tsubasa config file.
  --readvdw EXTERNALVDWFILE
                        If provided, read external vdW parameters from
                              EXTERNALVDWFILE
  --startfrom {resp,antechamber,freq,buildMMfile}
                        Start from a certain step.
                    Choices=['resp','antechamber','freq','buildMMfile']
  --stopafter {opt,resp,antechamber,freq}
                        Stop after a certain step.
                        Choices=['opt','resp','antechamber','freq']
  --improper IMPROPERLIST
                        Add improper functions, IMPROPERLIST should be
a list like "h5 * c2 *,c3 * o *"

GAUFILE and YMLFILE is the .gau and .yml file aforementioned. If they are not specified, the program will search for a .gau file and a .yml file in the current folder. If a .gau file is found but not a .yml file, a template config file will be copied to the current folder. If both are found, the program will start to prepare the inputs.

The program included the vdW parameters in GAFF (gaff.dat) as a database. However, if any vdW parameter is missing, it can be provided by –readvdw EXTERNALVDWFILE. The format of this file should be same to the vdW parameters in AMBER(for example, gaff.dat). If the missing vdW parameters are not provided, the placeholder RADII and WELLDEPTH will be written into the generated MM input file.

startfrom and stopafter: control the steps. For large systems, it is better to do QM calculations manually and then provide the results to tsubasa. The name of provided files should be same to those tsubasa generated. For example, if a FOO.gau is provided as input, the files should be optFOO.com/log/chk, freqFOO.com/log/chk/fchk, respFOO.com/log/chk/mol2. Mol2 file can be modified to change atom types, which are usually not satisfactorily determined. After modifying the Mol2 files, –startfrom buildMMfile can be used.

If improper terms are defined, they can be provided by –improper IMPROPERLIST, so that the internal coordinates for improper torsions could be included to perform IHF.