How to use grade to get BUSTER restraints for a covalently bound ligand, 3b0r/GW9 example.


Background

grep LINK 3b0r/3b0r.pdb 
LINK         SG  CYS A 285                 C9  GW9 A   1     1555   1555  1.80  
LINK         SG  CYS B 285                 C9  GW9 B   1     1555   1555  1.80 

Starting files.


Control standard BUSTER refinement with no additional dictionaries.

            grade_PDB_ligand GW9
            refine -p 3b0r.pdb -m 3b0r.mtz -l GW9.grade_PDB_ligand.cif -d 01_control > 01_control.log

If you look at the detailed log files for the run

01_control/01-BUSTER/Cycle-1/MakeLINK.log
01_control/01-BUSTER/Cycle-1/LIST.html

Producing the extended ligand cif dictionary using ccp4i sketcher, openbabel and grade

To produce decent restraints for the CYS to GW9 link we will produce a dictionary for the "extended ligand". We define the "extended ligand" as consisting of the GW9 ligand after it has been modified included atoms from the amino acid side chain up to the CA atom.

In our case we want to

The above can all be achieved using the ccp4i sketcher and OpenBabel - but you may prefer to use another molecular sketcher (provided that it knows about atom names).

The ccp4i monomer library sketcher can be used for the operation. We will start with GW9 ideal coordinates that we have created above (or use GW9.grade_PDB_ligand.pdb)

Then run:

grade -in GW9CYS_mon_lib.cif -resname GW9 -name extended_GW9_ligand_modified_with_CYS

The result of this is a cif restraint dictionary for the "extended" GW9 residue: grade-GW9.cif. This dictionary can be used for the ligand in BUSTER refinements and also contains the information we need for good link restraints (next section).

If you want you can check that the dictionary is OK by loading it and the ideal coordinates into coot.

coot -p grade-GW9.pdb --dict grade-GW9.cif
 

Producing TNT-style link dictionary from extended cif dictionary.

This is easily accomplished using the perl script covalent_grade_create_linkdic.pl that is distributed with BUSTER releases. First get its help message

covalent_grade_create_linkdic.pl -h

gives

# covalent_grade_create_linkdic.pl
# use -man option to see full copyright information
Usage:
    covalent_grade_create_linkdic.pl -icif grade-INH.cif -odic
    SER-INH-link.dic -3let SER -aatnam OG -latnam C10

      For help: -h 

      command line "options": 
            -h                      optional, print this help message and terminate.
            -icif input.cif         must be specified, input .cif file for the extended ligand
            -odic output.dic        must be specified, output .dic file that will contain the link dictionary. 
            -f                      optional, overwrite existing output file
            -3let SER               must be specified, 3 letter code for the amino acid that starts the covalent link, for instance "SER" or "CYS"
            -aatnam OG              must be specified, atom name in the amino acid that is linked to the ligand, for instance "OG" in SER or "NZ" in LYS
            -latnam C10             must be specified,atom name in the ligand that is linked to the amino acid, see atom name notes below 
  
      Atom name notes
            This utility assumes that any atom with an name in array @aa_sidechain_anames is part of the amino acid. Any atom with a different name is not.

To use on the extended cif produced above:

covalent_grade_create_linkdic.pl -icif grade-GW9.cif -odic grade-GW9CYS-link.dic -3let CYS -aatnam SG -latnam C9

will report:

# covalent_grade_create_linkdic.pl
# use -man option to see full copyright information
# Converting dictionary grade-GW9.cif with refmacdict2tnt resulted in 130 lines starting GEOMETRY, for residue type GW9
# three letter code for amino acid that is modified is CYS
# success identified 8 link type restraints and have written them to file grade-GW9CYS-link.dic

The resulting link dictionary is grade-GW9CYS-link.dic - it contains the following:

# tnt dictionary to link amino acid CYS atom SG
# to ligand GW9 atom C9 using restraint type ZGW9
# produced by covalent_grade_create_linkdic.pl jiffy
CATEGORY_AT CYS CYS
CATEGORY_AT GW9 GW9
CONNECT_AT CYS SG GW9 C9 ZGW9
GEOMETRY ZGW9 BOND 1.770 0.012 SG +C9
GEOMETRY ZGW9 ANGLE 120.7 2.7 SG +C9 +C10
GEOMETRY ZGW9 ANGLE 120.6 1.5 SG +C9 +C8
GEOMETRY ZGW9 ANGLE 102.6 3.0 +C9 SG CB
GEOMETRY ZGW9 TORSION 10000.0 1000000.0 +C10 +C9 SG CB
GEOMETRY ZGW9 TORSION 10000.0 1000000.0 +C9 SG CB CA
GEOMETRY ZGW9 PLANE 4 0.02 +C9 +C10 SG +C8

The next section explains how to use the TNT-style link dictionary that we have just produced in BUSTER.


Using the extended-ligand cif and TNT-style link dictionary in BUSTER.

We will use the

The first thing I would recommend is to add hydrogen atoms to the ligand. This is a good idea because it clearly shows what the ligand chemistry is. At this resolution (2.1 Angs) I would do this just for the ligand and use zero occupancy for these hydrogen atoms. You just need the extended GW9 cif dictionary for this:

hydrogenate -p 3b0r.pdb -o 3b0r_GW9addh.pdb -l grade-GW9.cif -ligonly -zero

gives

hydrogenate uses the 'reduce' tool; if you publish work which uses it,
please cite

Word, et. al. (1999) J. Mol. Biol. 285, 1735-1747.
For more information see http://kinemage.biochem.duke.edu
Producing CONECT records suitable for molprobity.reduce on GW9

Then BUSTER can be run to use the grade restraints for the covalent link:

refine -p 3b0r_GW9addh.pdb -m 3b0r.mtz \
  -l grade-GW9.cif -l grade-GW9CYS-link.dic   \
  -d 02_grade_covalent -report >  02_grade_covalent.log

Task accomplished, we have done a refinement for a covalently linked GW9 using a grade dictionary for the link (check LIST.html it will have no WARNINGS about missing angles etc. The covalently linked ligand in the B chain:

In this case the better restraints make little difference because the density is good and the covalent link only changes the ligand chemistry a little. This is not the case in the Advanced tutorial on 1b0e and SEI.


How-to summary for this method

In summary:

  1. Start with the unmodified ligand pdb file including hydrogen atoms (from ligand expo, grade or somewhere else).
  2. Use the ccp4i sketcher to produce an "extended" ligand that is add atoms to get the ligand plus the amino acid side chain up to atom CA, making sure all heavy atoms have the correct amino acid names. Get cif dictionary file out of ccp4i.
  3. Use the ccp4i produced dictionary as an input to grade.
  4. Use script covalent_grade_create_linkdic.pl to produce TNT-style link dictionary from extended ligand cif dictionary.
  5. Make sure protein pdb file has correct LINK line(s)
  6. In BUSTER refine use both the extended ligand cif dictionary and link .dic dictionary.

Page by Oliver Smart original version 03 June 2012, updated June 2013 for ccp4 6.3.0, last updated Apr 2016. Address problems, corrections and clarifications to buster-develop@globalphasing.com