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


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


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 that is distributed with BUSTER releases. First get its help message -h


# use -man option to see full copyright information
Usage: -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: -icif grade-GW9.cif -odic grade-GW9CYS-link.dic -3let CYS -aatnam SG -latnam C9

will report:

# 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 jiffy
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 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


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
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 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