Changes in BUSTER dictionary handling following the introduction of grade


BUSTER dictionary handling

The availability of better restraint dictionaries from grade has prompted changes to dictionary handling in BUSTER:

  • As always, BUSTER provides well-checked restraint dictionaries for proteins, common amino acid modifications, nucleic acids and sugars
  • This release also includes dictionaries for around fifty common biological ligands and buffers. These have been generated using grade with mogul. The standard dictionaries are located in $BDG_home/tnt/data/common-compounds.
  • If your structure contains common ligands, it should run in BUSTER with no issues.
  • But if it has an unusual ligand you will have to supply a restraint dictionary for it.
  • We now encourage keeping dictionaries in CIF format and providing them to autoBUSTER by using the -l flag to refine. TNT format is now best avoided.
  • We encourage the use of grade but you can use refmac-style CIF dictionaries from other sources (such as the ones supplied by ccp4 in the $CLIBD/monomers directory, or ones produced by PRODRG).
  • If your structure contains unusual modified amino-acids or nucleotides it may well be necessary to contact other BUSTER users on the buster-discuss mailing list, or contact the developers at

MakeTNT tools

MakeTNT is an older approach which derived restraints if you had reliable 3D coordinates for a model of the ligand. This has limitations.

  • We continue to distribute the MakeTNT tools such as PDB2TNT and MDL2TNT but would not recommend their use in new work.
  • The restraint editor EditREFMAC is very useful for examining and editing REFMAC-style cif restraint dictionaries such as produced by grade .

Changes you may notice when re-running refinements

It is possible that refinements which ran in the past will now give a message of the form

unable to find a dictionary for residue QQQ ! Please generate such
a dictionary (e.g. with "grade_PDB_ligand" or "grade")
and run again - with the "-l" argument to the "refine" command.

In this case, generate the dictionary with grade and run refine -l dict.cif ...

One reason that the refinements may have ran in the past is that we used to distribute a collection of a few thousand dictionaries for ligands found in the PDB; these were created by an inferior technique, and with the advent of grade_PDB_ligand we have stopped distributing so many dictionaries.

Another reason is that we had a mechanism which generated dictionaries from coordinate information in the model when no dictionary was provided; our work on grade over most of 2010 made it increasingly clear that this was not wise, since it allowed coordinates to drift unacceptably over repeated refinements.

We would recommend that you re-generate with grade dictionaries that you might have generated with previous versions of the Global Phasing tools such as MakeTNT and PDB2TNT; grade normally gives better results.

An example of setting up for a BUSTER refinement of a structure with some unusual ligands

The example is quite long, so is on a separate page DictionarySetupExample3MNQ

Page by Tom Womack and Oliver Smart, July 2011. Any questions regarding our software or this wiki should be directed to