Topology files

Attention: Please upload new topology files here.

Topology File

A topology file contains the physical and chemical parameters and bond information used by MCCE for the distinct residues and ligands. Among the parameters defined in these files we have:

- heavy atom connectivity

- number

- position of hydrogens

- rotamer building rules

- protonation and redox states

- atomic partial charges

- conformer reaction field energy in solution for each ionization state

- solution pKa (pKa, sol)

- solution electrochemical midpoint potential (Em, sol).

Topology Parameters

Topology parameters are defined in *.tpl files.

The general syntax of a topology parameter is:

Topology File Columns

1234567890123456789012345

~~~~~~~~|~~~~~|~~~~|~~~~~

ParamNam|Res  |Atom|Param

column 1-8 name of the parameter

column 9 left blank

column 10-14 residue or conformer name

column 15 left blank

column 16-19 atom name

column 20 left blank

column 21- formatted parameter

List of topology parameters:

A table of topology files with short description

A table of topology files for Hemes

A table of topology files for 1,4-Benzoquinone

The following applies to both Q and Q-

Making new topology files

(For tricks and trade involved in tpl file making, also check out tpl_workshop)

A parameter file (tpl file) defines a cofactor. It contains structural information such as connectivity, physical properties such as atom sizes and charges, chemical properties such as the pKa values, and rules for making rotamers. The file name must have extension ".tpl" to be effective.

Here are three steps of making a complete tpl file.

Step1: Make a basic tpl file

One can use MCCE program to generate a tpl file template for a new group (residue or cofactor). To do so, you need to extract the coordinate lines corresponding to this group in a pdb file, and make it a new pdb file. You should prepare a working directory to run mcce program for this new pdb file. Here is an example:

1. Copy run.prm file and the new pdb file to your working directory.

Here is the NO3.pdb including a NO3 cofactor, grepped from 1A4C.pdb

HETATM 3620 N  NO3 C 3 20.959 -2.193 7.806 1.00 32.48 N

HETATM 3621 O1 NO3 C 3 20.007 -1.433 7.784 1.00 27.51 O

HETATM 3622 O2 NO3 C 3 21.063 -2.989 6.897 1.00 36.49 O

HETATM 3623 O3 NO3 C 3 21.553 -2.395 8.858 1.00 29.45 O

2. Edit run.prm:

####_###_#_### ####_###_#_###

*D************ *H************ rename all atom D to H

***** CU A 005 *****CUB*A*005

*****HIS A 284 a****CUB*A*005

*****HIS A 333 b****CUB*A*005

*****HIS A 334 c****CUB*A*005

1****HIS A 284 1****CUB*A*005

2****HIS A 284 2****CUB*A*005

In this example, CU and several HIS residues are a part the same cofactor called CUB because these atoms now have the same chain ID, residue name, and sequence number.

3. Run mcce program: It will take a short time to get results from step1_out.pdb. Confirm all atoms are reformatted and loaded into step1_out.pdb. If there is no parameter for the new cofactor in the mcce parameter directory, you will see a new file named "new.tpl" in your working directory. This file contains the guessed connectivity based on inter-atom distances:

This is the output file "new.tpl"

### This is a temporary parameter file made for residue NO3 ###

CONFLIST NO3 NO3BK

NATOM NO3BK 4

IATOM NO3BK N 0

IATOM NO3BK O1 1

IATOM NO3BK O2 2

IATOM NO3BK O3 3

ATOMNAME NO3BK 0 N

ATOMNAME NO3BK 1 O1

ATOMNAME NO3BK 2 O2

ATOMNAME NO3BK 3 O3

CONNECT NO3BK N ion 0 O1 0 O2 0 O3

CONNECT NO3BK O1 ion 0 N 0 O2 0 O3

CONNECT NO3BK O2 ion 0 N 0 O1 0 O3

CONNECT NO3BK O3 ion 0 N 0 O1 0 O2

The most basic section in a parameter file is the connectivity. However, the connectivity guessed by the program as in "new.tpl" lacks the correct orbital types and Hydrogen atoms. Sometimes bonds are not correctly identified. You should assign the bond orbital types (s, sp, sp2, sp3 and d2sp3 are currently supported), correct the falsely bonded atoms if any, and add hydrogen atoms.

As most pdb files don't have Hydrogen atoms, you need to complete them in the connectivity table. To do this, one needs to know where these hydrogens are and give them the right names. Some third party programs like Gauss Viewer can show you hydrogen positions. To name the hydrogen names right, we will follow the pdb rule (http://www.rcsb.org/pdb/info.html#File_Formats_and_Standards). Usually the hydrogen atoms are named based on their connected non-hydrogen atoms. Programs like Babel (http://mercury.aichem.arizona.edu/babel.html) can covert from the Gaussian atom names to PDB atom names.

For each atom, there are two columns for every atom it is connected to. For the line of atom O3, in the example above, the connected N is defined by two fields "0" and "N". "0" means the connected atom is inside the same group. "N" means the connected atom name is "N". If an atom is connected to an atom from another residue or cofactor, we need account for this. The first column could should be "LIG", and the second column should be the atom name if it is known or a question mark if the atom is uncertain.

The cofactor may have more than one ionization states. Furthermore, one ionization state can have several isomers with different connectivity (for example the proton could be on two possible positions of the neutral histidine). In MCCE, different bonding between atoms give rise to different conformer types. Each conformer type needs its own unique 2-character ID, which should follow the cofactor name in the connectivity line to make a complete conformer type name. The convention is the first character is the sign of the net charge (0, -, +), and the second one is some unique identification character. You need to prepare different connectivity tables for each conformer type. Here is an example that NO3 may be ionized as NO3-, and protonated as HNO3. The tpl file is then modified as following;

This is "no3.tpl" file after making two conformer types of NO3

CONFLIST NO3 NO3BK

NATOM NO3BK 4

IATOM NO3BK N 0

IATOM NO3BK O1 1

IATOM NO3BK O2 2

IATOM NO3BK O3 3

ATOMNAME NO3BK 0 N

ATOMNAME NO3BK 1 O1

ATOMNAME NO3BK 2 O2

ATOMNAME NO3BK 3 O3

###----ionized conformer (2-character ID = -1)

CONNECT NO3-1 N sp2 0 O1 0 O2 0 O3

CONNECT NO3-1 O1 sp3 0 N

CONNECT NO3-1 O2 sp3 0 N

CONNECT NO3-1 O3 sp3 0 N

###----protonated conformer (2-character ID = 01)

CONNECT NO301 N sp2 0 O1 0 O2 0 O3

CONNECT NO301 O1 sp3 0 N 0 H1

CONNECT NO301 O2 sp3 0 N

CONNECT NO301 O3 sp3 0 N

CONNECT NO301 H1 s 0 O1

You can get help from the link "http://xray.bmc.uu.se/hicup/" when you check the connectivity.

5. After editing CONNECT entries, you need to update these four sections: CONFLIST, NATOM, IATOM and ATOMNAME. It can be automatically done by running program "mk_iatom". The way to run is "mk_iatom new.tpl outfile.tpl", and the result in outfile.tpl looks like:

File "no3.tpl" is output from mk_iatom new.tpl no3.tpl

CONFLIST NO3 NO3BK NO3-1 NO301

NATOM NO3BK 0

NATOM NO3-1 4

NATOM NO301 5

IATOM NO3-1 N 0

IATOM NO3-1 O1 1

IATOM NO3-1 O2 2

IATOM NO3-1 O3 3

IATOM NO301 N 0

IATOM NO301 O1 1

IATOM NO301 O2 2

IATOM NO301 O3 3

IATOM NO301 H1 4

ATOMNAME NO3-1 0 N

ATOMNAME NO3-1 1 O1

ATOMNAME NO3-1 2 O2

ATOMNAME NO3-1 3 O3

ATOMNAME NO301 0 N

ATOMNAME NO301 1 O1

ATOMNAME NO301 2 O2

ATOMNAME NO301 3 O3

ATOMNAME NO301 4 H1

### This is a temporary parameter file made for residue NO3 ###

CONNECT NO3-1 N sp2 0 O1 0 O2 0 O3

CONNECT NO3-1 O1 sp3 0 N

CONNECT NO3-1 O2 sp3 0 N

CONNECT NO3-1 O3 sp3 0 N

CONNECT NO301 N sp2 0 O1 0 O2 0 O3

CONNECT NO301 O1 sp3 0 N 0 H1

CONNECT NO301 O2 sp3 0 N

CONNECT NO301 O3 sp3 0 N

CONNECT NO301 H1 s 0 O1

CONFLIST is a list of conformer types, with the first one as backbone conformer and the rest as side chain conformers. The backbone conformer is a special conformer containing atoms that do not vary in position or charge. It should be listed in CONFLIST even though no atoms are really assigned as backbone atoms. The other conformer types are obtained from CONNECT section.

NATOM is the number of atoms for each conformer type.

IATOM is the index for searching atom slot from known atom name.

ATOMNAME is the backward searching index for atom name from atom slot number.

The program requires both IATOM and ATOMNAME to efficiently search atoms and fill in missing atoms.

7. Put this new tpl file into param directory (your local param directory is recommended). Remove the file "new.tpl" in the current directory. Then run mcce (step1 and step2) again.

If any warning message is found in the file "run.log" or "debug.log", fix the problem , and restart mcce (step1 and step2) until no warning message is shown.

Step2: Adding atomic charges into tpl files

The next step is to assign the partial charges to the atoms:

1. Run mcce(step 1 and step 2), make sure you can get the file step1_out.pdb and step2_out.pdb.

2. Convert the file format. Use program such as babel to convert the format of an output file with atomic charges (e.g. the output files from program gaussian) to the pdb format. We can use this command to convert formats in babel: $babel -i gauout abcd.log -o pdb abcd.pdb .

3. Convert the atom names. The program match_atoms can do most of the job. Run $match_atoms file1 file2. (File 1 is the pdb file from bable output. File 2 is step1_out.pdb). This program will print the matching atomic informations one by one. Check the output file matched.pdb. Note: This is important to check the matching information (from the screen) with the real structure. Sometimes, if some small optimization have been done to the original pdb crystal structure to get charges in some programs, the matching information of proton in matched.pdb file may not be right. In some other cases, some atoms will not be matched, check those atom names.

3. Now you have the charge part from some other program, and the pdb-format atom names. Try to use excel to match them. Paste this information into the tpl file (removing all tabs beforehand and using spaces instead) in the following format. Check the spacing between columns using another existing tpl file:

CHARGE HEA01 aCB -0.065

CHARGE HEA01 1HB 0.150

CHARGE HEA01 2HB 0.150

CHARGE HEA01 aCG -0.283

4.Now you can add the radius part also in tpl file following the following format:

# Radii from "Bondi, J.Phys.Chem., 68, 441, 1964."

RADIUS HEA FE 1.45

RADIUS HEA CHA 1.80

RADIUS HEA CHB 1.80

RADIUS HEA CHC 1.80

5. confirm integer charges

Step3: Get pKa, Em, and reference reaction field energy

1. MCCE calculates the pKa/Em shift compared with the reference system, so the knowledge about the reference system should be specified. This includes the number of protons or electrons transfered relative to the ground state (this can be defined arbitrarily, but the ground state is conventionally one of the neutral conformers), solution pKa or Em and reference reaction field energy, RXN (the reaction field energy of every conformer type of the cofactor alone in solution). The solution pKa and Em values are either taken from literature, or measured directly by experiments or calculations. The RXN can be calculated with MCCE (see next paragraph). The format of these entries can be seen in the following example or copied from an existing tpl file from mcce parameter directory.

This is an example:

#Basic Conformer Information: name, pka, em, rxn.

#23456789A123456789B123456789C

PROTON NO301 0

PKA NO301 0.0

ELECTRON NO301 0

EM NO301 0.0

RXN NO301 0.0

PROTON NO3-1 -1

PKA NO3-1 0.0

ELECTRON NO3-1 0

EM NO3-1 0.0

RXN NO3-1 0.0

2. In order to obtain the reference reaction field energy (RXN) you need to take step2_out.pdb as input file and run step 3. Remember to change the "t" to "f" for steps 1 and 2 but use "t" for step 3. The output of step 3 gives you the energies directory which contains the opp files (Dephi energy files). There is one opp file for each conformer. These files contain the pairwise interactions with the all other conformers. At the bottom of the opp file is a line called RXN single, the most negative value in that line is the suggested reference reaction field energy. Copy this number in the RXN line for each conformer in the tpl file.