For more examples see here.


We will run BUSTER from the command-line. So open a terminal and see the online help via

    refine -h

Note: It might be useful to make the terminal window larger, especially wide enough to avoid ugly line breaks that make it difficult to read the content of that help message.

There are some so-called macros available (collections of parameter settings for a particular task): for details see

    refine -M list

As you can see, there are a lot of different flags to use, but the most common ones will be

-p <PDB> specifies input model PDB file
-m <MTZ> specifies input reflection MTZ file (e.g. "staraniso_alldata-unique.mtz" or "truncate-unique.mtz" from autoPROC
-l <CIF> extra restraints directory for non-standard ligand/compound; several -l flags can be given
-autoncs to switch on use of LSSR restraints for non-crystallographic symmetry (NCS); remember that this flag is neutral if you don't have NCS
-RB start with a simplified rigid-body refinement cycle
-L if looking for a potential ligand

Other tools you might want to look at (all will give help messages if run with -h flag):

  • aB_hydrogenate: to place hydrogens onto model, either at nuclear or electron-cloud distance and either at zero or full occupancy
  • pdb2occ: to create so-called Gelly file of additional occupancy-refinement commands; to be used with -Gelly command to refine

Remember that one BUSTER job (i.e. what happens when running the refine command) consists of multiple so-called "big" cycles - usually 5 - with (by default) up to 100 "small" cycles (iterations) each. Between each big cycle, the bulk solvent model is updated, X-ray weight adjusted and (if requested) the solvent model (waters) is updated. Void correction happnes before the final cycle.

If in ligand detection mode (with -L flag), the analysis of residual density for potenrial ligand binding sites also happens before the last big cycle.


We need the following files for this tutorial:

Please make a directory

    mkdir ~/BUSTER
    cd ~/BUSTER

and download those files above into it. You might need to move them from the Downloads folder after downloading, e.g.

    mv ~/Downloads/5z5u* .
    mv ~/Downloads/96U.cif .

Refinement steps

We can run a map-only computation using

    refine -p 5z5u.pdb -m 5z5u.mtz -l 96U.cif -M MapOnly -d 00 | tee 00.lis

and look at the maps with

    cd 00
    coot --pdb refine.pdb --auto refine.mtz

or with

    cd 00

A full refinement would look like this (see also your BUSTER reference card handout: and the manual):

    refine -p 5z5u.pdb -m 5z5u.mtz -l 96U.cif -d 01 | tee 01.lis

and look at the maps with

    cd 01
    coot --pdb refine.pdb --auto refine.mtz

or with

    cd 01

See also the examples in the manual for details.

Working with own data

What you need to have available:

  • PDB file
    • including relevant LINK and SSBOND cards
    • please note that BUSTER ignores non-standard LINKR cards
  • MTZ file
    • merged and scaled with amplitudes
    • (optional) anomalous differences
    • (optional) F(early)F(late) amplitudes, e.g. from autoPROC
    • including test-set flags
  • Ligand dictionary
    • see Grade web service
    • other CIF dictionaries also supported, e.g. $CLIBD_MON/f/FSE.cif

Some other tools that might be relevant for your particular problem (all support the -h flag to give you a help message):

  • aB_covalent_ligand: to describe complex/complete chemistry (bond and angles) around covalent linkage of e.g.ligand to protein
  • diff_fourier: to simplify computation and analysis of various difference Fourier map types
  • to add an existing test-set flag to a new dataset (it will be extended if needed. If working within the same crystal form it is important to maintain the same test-set flags - otherwise the Rfree will be contaminated at the beginning.

After some initial refinement (and model building) you could also allow for automatic update of the water structure. So maybe start with something like

    refine -p my.pdb -m my.mtz -l ligand.cif -autoncs -d 01 | tee 01.lis

    cd 01
    coot --pdb refine.pdb --auto refine.mtz

    # ... do all necessary work in Coot and save coordinates

    cd ..
    refine -p 01/refine-coot-0.pdb -m my.mtz -l ligand.cif -autoncs -M WaterUpdatePkmaps -d 02 | tee 02.lis

    cd 02
    coot --pdb refine.pdb --auto refine.mtz