trans
tips & tricks: protonation
trans
contact
impressum
legal notice
print this page
BioSolveIT
The Premier Scientific Solution Provider
The Protonation of protein amino acids: FlexX's rdf-file
On the receptor side, the protonation is controlled by the rdf-file which contains information about the protein and the residues that define the binding site. For each residue a template has to be selected that defines the properties of this residue (protonation, formal charges, H-bonding potential etc.). Some residues have different templates (i.e. properties) to choose from. We urge you to properly look at these templates and to choose the right one. Keep track of your alterations with your favorite viewer or the free BioSolveIT viewer FlexV!

For aspartate, glutamate, arginine, and lysine, the charged state is the default entry, whereas His is neutral. Please, spend time to optimize the hydrogen bond pattern for your target. This is especially true for deeply buried residues, for which the charged state seems less favored, and polar interactions to ligand atoms are less expected.

For histidine, it is not primarily the protonation itself but the tautomers to be differentiated: The ring system can be protonated at two different N atoms; one carries the PDB notation ND2, the other one NE1. Alternatively, both nitrogen atoms may be protonated. We recommend to carefully inspect the orientation of adjacent hydrogen-bond donors and -acceptors (if available in the context of the ligand, cofactors and metal ions): Are there interactions involved to any of these histidine isomers? Which is the more reasonable protomer? Finally, cysteine residues are often involved in forming disulfide bridges: It is of crucial importance to tell FlexX that the respective Cys atoms do not carry hydrogen atoms: please assign the proper template as it exists in the rdf file.

How to tell FlexX the proper protonation state
In the rdf file there is a section @templates that allows the selection of protonation templates for residues collectively or individually. An extract of a typical @templates section is shown below: The first entry on a line contains the three-letter code of the residue as it occurs in the PDB-file, the second entry contains the chain ID, the third entry the residue number, and the last entry specifies the template which FlexX is to employ when stumbling across the residue(s).

A template code consists of the amino acid three letter code plus - depending on the situation - some modifiers:
h       cysteine not involved in s-s bond
1/2 His tautomer assignment
+/- charge for ionic side chain
n(+) N-terminal, possibly charged
c(-) C-terminal, possibly charged
So, the +/- selects the charged variants, cysh would correspond to a single, protonated cysteine, and cys would be defined to act as a disulfide-bridge former. Histidine may appear as his1/his2/his+ and so on. A complete list of all possible templates can be found in the static data file amino.dat. It is also possible to extend amino.dat with user defined templates, e.g. if non-standard amino acids occur in the pdf file.

Here is an example:
@templates      
ARG * * arg+
ASP * * asp- # aspartate, charged by default
CYS * * cysh
GLU * * glu-
ASP A 10 asp # keep aspartate 10 in chain A neutral
...
N- and C-termini are special residues, and the templates for them are assigned to any amino acid that occurs at the end of a peptide chain. Here of course, the protonation is controlled by the +/- extension of nterm and cterm.
* * first nterm+      
* * last cterm-
Here is an example of usage of the above-mentioned modifiers:
* * first ala+n+      
with the effect to protonate the first alanine which occurs in the respective chain.

Advanced Use To Avoid a Known FlexX Enemy: Charged Amino Acids at the Rim of Active Sites
It has been encountered a couple of times that charged amino acids at the edge of a pocket act as "magnets" pulling the ligands out of the pockets when docking. You can usually avoid this quite well by checking for their existence and assigning neutral templates to them.

How to define the "correct" hydrogen position
The hydrogen donor interaction geometries in FlexX are assigned using the hydrogen bond as main direction. Thus, the actual positions of the terminal hydrogens determine in which direction an oxygen of an OH or a sulfurofan SH group acts as a donor or an acceptor. This is crucial for serine, threonine, tyrosine, and protonated cystein because their terminal hydrogens can potentially rotate around the preceding bond. The default assignment of FlexX in these cases is oftentimes wrong. The positions can only be corrected by visual inspection of the hydrogen bonding network within the protein and, if available, to the ligand (cofactors, metal ions, etc.).

The "correct" hydrogen positions have to be defined in the @h_torsions section of the RDF file. The first entry contains the template name. The next two entries allow for restricting the definition to particular amino acids by providing the chain_id and the number of the amino acid. Wildcards are allowed (and often used, see example below) for the first three parameters. The position of the hydrogen is defined by the last four parameters providing (in this sequence) the first, second, and third atom with the implicit hydrogen as fourth atom as a reference for the rotatable bond between the second and third atom. The last parameter is the torsion angle for this bond. See below as an example the default entries for serine, threonine, tyrosine, and protonated cysteine:

@h_torsions
cysh*   *       *       _ca      _cb      _sg      180.
glu     *       *       _oe2     _cd      _oe1     0.
ser*    *       *       _ca      _cb      _og      180.
tyr*    *       *       _ce1     _cz      _oh      180.
thr*    *       *       _ca      _cb      _og1     180.
Again we recommend the usage of FlexV for visual inspection!
New in Release 2
The correct protonation of the ligand is now handled by a new parameter, USE_TRANSFORMS in config.dat. If USE_TRANSFORMS is set to 1, the ligand passes through several levels of initialisation, which in turn are specified in a new static_data file, transform.dat:
Level 1 Correct valences and bonds in PDB structures [OFF]
Level 2 Preprocess / localize molecule [ON]
Level 3 Aromaticity check [ON]
Level 4 Assign default protonation [ON]
Level 5 Assign formal charges [ON]
Level 6 Assign delocalized systems [ON]
Level 10 Assign atom-types [ON]
The flag ADD_HYDROGENS is still kept for backwards compatibility, but will be removed in one of the following versions of FlexX. For the time being, the flag still has to be set to 1 in the config.dat, together with USE_TRANSFORMS in order to invoke the protonation of the ligand, but this can also be controlled from the command line under the LIGAND submenu in FlexX as shown below. The setting in the config.dat file will then be overwritten.

Type 'SELINIT' and then the number of the level you would like to turn on, or 'SELINIT !' and the number of the level you would like to turn off. E.g. 'SELINIT 4' would turn on, 'SELINIT !4' would turn off the protonation.

Last modified Monday, 05. Jul 2010 13:57 CEST by WebMaster