Coot is a program for macromolecular model building, model completion and validation (Emsley et al. 2010). This workshop will give step-by-step instructions on how to use Coot to complete a molecular replacement (MR) solution. The structure we are trying to build is 5EG2, a human SET7/9 mutant in complex with S-adenosyl-l-homocysteine and a 10 residue transcription initiation factor (Fick et al. 2016). The data extend to 1.55 Å resolution and the A chain is quite small with 262 residues.
As a homology model, we have chosen 1N6A. This is an older selenomethionine derivative of human SET7/9 solved at 1.7 Å resolution (Kwon et al. 2003). The model was processed using phaser.sculptor, which trims unaligned regions using a sequence alignment and truncates side chains that differ between the model and target (pruning was not really needed in this case, but in general it is good practice). MR was done using Phaser through the CCP4i2 Basic Molecular Replacement task. This was followed by csymmatch to move the MR solution to the same origin as the deposited structure and finally refinement using REFMAC. Click the following files produced by REFMAC to download them to your computer:
The MR solution in this example is pretty good so fixing errors directly in Coot is realistic. If the MR model was worse quality then automatic model-building software would normally be used first to complete more of the structure.
Open a terminal and type
The Coot window should appear.
For this to work, the coot executable should be in your path.
The Coot window should look something like this:
At the top of the screen is the menu bar with File, Edit, Calculate, etc. Below this is the main toolbar with a button to open the Display Manager. Buttons on the main toolbar can be customised by right clicking on the empty space. On the right is the refinement toolbar with the most widely-used model building tools. At the bottom of the window is the status bar, which is used to display messages.
Files that you want to open in Coot can sometimes be passed as command line arguments:
PDB and mmCIF format coordinate files can be opened in this way, as well as MTZ files from programs such as REFMAC where the column labels for the 2mFo-DFc and mFo-DFc maps are known. Instead, we will open our files from inside Coot. Choose
coot refined_model.pdb refined_mode.mtz
File / Open Coordinates(you can also click the folder icon in the main toolbar). A file browser will appear. From this you can select a coordinate file, as well choose how to recentre the view and the new molecule. Select
A window will appear asking you to fix nomenclature errors.
This is a common occurrence when opening coordinates and is usually because
there is an atom naming convention for symmetrical residues
(e.g. which way round CD1 and CD2 are in PHE)
that most programs ignore.
Yes to fix them.
Now we will open the 2mFo-DFc and mFo-DFc maps.
File / Auto Open MTZ
is equivalent to passing the MTZ on the command line
and will open both maps if it can work out which columns to use.
We will open the maps one at a time.
File / Open MTZ, mmCIF, fcf or phs
to open the file browser.
refined_model.mtz and click
The following window should appear:
This window allows you to select
which amplitude and phase columns to use for the new map.
Defaults have been chosen for the 2mFo-DFc map.
In this case there is no need use weights
because the FWT,PHWT columns are already weighted.
If you click the
Expert Mode? button
you can also choose resolution limits to truncate the data.
OK to open the 2mFo-DFc map.
Now we will open the mFo-DFc map.
File / Open MTZ, mmCIF, fcf or phs again
Amplitudes column to
Phases column to
Is a Difference Map checkbox
needs to be checked (should happen automatically)
so that Coot will treat this as a difference map.
The maps should be visible as a sphere in the centre of the screen. By default, the 2mFo-DFc is coloured blue and the mFo-DFc (difference) map is coloured green for positive density (where parts of the model are missing) and red for negative density (where the model is in the wrong place).
The following controls are used to change the view:
|Left-mouse drag||Rotate view|
|Ctrl left-mouse drag||Translate view|
|Ctrl right-mouse drag||Adjust clipping|
|Middle-mouse click||Centre on atom|
By default, the rotation is done
using a virtual trackball with a spherical surface.
It depends not only on the direction you are dragging
but also where in the view the mouse pointer is.
If this feels strange you can try changing it
by going to
Edit / Preferences,
General on the left
and choosing the
Flat option will change the rotation
so that only the direction of dragging matters.
Display Manager from the main toolbar.
This shows lists of all the molecules and maps currently open.
You can toggle whether individual molecules and maps are displayed
and delete them if they are no longer needed.
You can also change map properties,
such as display style and contour levels,
and molecule representations.
The default representation for molecules is
Bonds (Colour by Atom),
which is a good representation for model building.
However, if we want to look at larger scale features of the model
C-alphas/Backbone representation is useful.
For now, un-display both maps
and change the molecule representation to
This is a variation of the C-alpha representation
where the chain is coloured
from blue at the N-terminus to red at the C-terminus.
The dotted lines at the C-terminus
show us that there are missing residues there.
When checking if a molecular replacement solution is correct,
it is useful to see whether the packing of molecules
looks reasonable for a crystal.
To control the displaying of symmetry equivalents
Draw / Cell & Symmetry.
The following window should appear:
Master Switch to
then click the
Symmetry by Molecule button
to open another window.
In the new window change the Display Options
for Molecule 0 (the only molecule)
Display as CAs and click
Symmetry Atom Display Radius
Show Unit Cells? to
The spacegroup is P 32 2 1.
If you rotate the view to look along the C axis of the cell
you can see the threefold rotation
and long triangular channels that run through the crystal.
Also, importantly, the molecule has close contacts with its neighbours
that are necessary for crystal formation.
Below, the image on the left shows our correct MR solution.
The image on the right shows an incorrect MR solution
without proper crystal packing.
However, be sure to rotate the view to check all dimensions.
Another way to tell whether an MR solution is correct
is by looking at the density.
Go back to
Draw / Cell & Symmetry
Display as CAs to
Symmetry by Molecule window.
Symmetry Atom Display Radius
Show Unit Cells? to
change the molecule representation to
Bonds (Colour by Atom)
and display both maps.
If you move around the edge of the molecule
the density should show a clear protein/solvent boundary.
This won't be the case for a bad MR solution
as the solvent will have lots of noise.
The images below show solvent boundaries
for the correct and incorrect solutions.
The maps can be contoured at different levels using the mouse scroll wheel
- on the keyboard.
Density levels are specified either
as absolute values (e/Å3)
or as RMSD values.
Coot will try to pick sensible defaults on opening,
e.g. 0.41 e/Å3 (1.5 RMSD) for our 2mFo-DFc map
and 0.39 e/Å3 (2.98 RMSD) for our mFo-DFc map.
The contour level changes by steps of 0.1 RMSD.
Map properties can be edited globally at
Edit / Map Parameters
and for individual maps via the
It is common to use RMSD when talking about map levels
but keep in mind that, as the model improves,
features in the difference map will start to disappear
so the same level RMSD will display weaker features and more noise.
A useful way to move about in Coot is to use the Go To Atom window.
This can be accessed through
Draw / Go To Atom,
F6 on the keyboard
or clicking the icon
in the main toolbar.
An atom can be selected using text boxes in the top left
or the lists at the bottom of the window.
Apply will move the view to the selected atom.
This window can also be used to skip through residues using the
Next Residue and
Previous Residue buttons
(although it is much quicker to use
on the keyboard).
Go to Glu72, which has its side chain in the wrong conformation.
The clear density for the correct side chain position
(where there is no model)
is another good indicator that the MR solution is correct.
There is also a quicker method
of going to a specific residue using the keyboard.
and a text box should appear at the bottom left of the window
(or possibly outside of the window).
161 and press
Enter to go to residue 161.
If the molecule has multiple chains
you can prefix the residue number by the chain label.
When preparing the molecular replacement model,
the residues were numbered so that they start from 1
at the N-terminus of the crystallised construct
instead of the N-terminus of the full length protein.
Residue 161 is actually the mutated N265A
so we need to renumber the residues to make them match up.
Edit / Renumber Residues
to get the following window:
We want to renumber all residues in our chain
so change the
Start Residue to
End Residue to
Residue 161 needs to become 265
Apply Offset should be
Apply you should see the updated atom label.
This workshop will not go too much into validation
as it will be covered in other sessions,
but we will briefly go through density fit analysis
as it is very useful for getting a quick overview of a model.
The density fit of a residue is measured using
the average electron density level at the atom centres.
Open the analysis window by choosing
Validate / Density fit analysis
and picking the molecule.
A window like the one above should appear. It shows a graph of residue number against density fit for each chain. Residues with good density fit values are small and green, and bad density fit values are large and red. If all residues are showing as green or red then the scale should be adjusted using the controls in the bottom left. In this case we can see some residues with poor fit to density, mainly at the N and C termini. Click on the bar for His116 at the N-terminus to move the view there.
Because the density for His116 is not very good
we may want to delete this residue.
The delete button can be found at the bottom of the refinement toolbar.
If you are unsure which buttons correspond to which functions
you can add text via
Edit / Preferences.
Refinement Toolbar tab
Icons only to
Icons and Text.
Delete button and the following window should appear:
Now click on one of the atoms in His116 to delete the residue.
Individual atoms (or side chains) can be deleted in the same way
by selecting this option in the window before clicking.
You can check
Keep Delete Active to keep the delete window open
so that multiple residues can be deleted.
If the residues are sequential
it might be easier to use
In this case you need to click twice:
once on the first residue to be deleted and once on the last.
All of the residues in this structure are the correct type
so do not need mutating.
However, quite a few of the residues do not have complete side chains
and the mutate function will also work to rebuild them.
Go to Met139 and see that the side chain is not complete.
There is even a loose atom claiming to be the CE atom.
It must have been left there during model preparation
and this is the position it ended up in after refinement.
There is clear difference density
where the side chain is supposed to go.
Click on the
Simple Mutate button in the refinement toolbar
then click on an atom of Met139.
A list of residue types should appear.
MET and the side chain will be completed
(although not in the right conformation).
Now we need to move the side chain into the correct conformation.
Rotamers button in the refinement toolbar
and then click one of the atoms in Met139.
A list of rotamers for that residue type appears.
A rotamer is simply a commonly observed side chain conformation
and this list is ordered from most to least common.
, on the keyboard
to cycle through the rotamers when the main Coot window is selected.
This can be done while adjusting the view in the main window.
Each rotamer has a name that roughly describes the chi angles:
p for 60°, m for -60°, t for 180°,
and a number for the final angle of sp2 side chains.
The closest rotamer for Met139 is mmt.
Select this and click
x to perform real space refinement on this rotamer,
which moves it into the density
(as long as the residue is at the centre of the view).
If this doesn't work you first need to click
Edit / Settings / Install Template Keybindings.
There is also an
Auto Fit Rotamer button in the refinement toolbar
that will try to pick the closest rotamer and then refine it automatically.
Click this and then an atom of Met139 to try it out.
The keyboard shortcut for this is
which auto-fits the rotamer at the centre of the screen.
There is another useful button on the refinement toolbar
that automates everything we did in the last two sections.
Go to Met164, click
Mutate & Auto Fit,
then click an atom from the residue and select MET from the list.
The aim of real space refinement is to move the atoms
so that two scores are improved:
one is how well the atoms fit the density
and the other is how close bond lengths, angles, etc are to ideal values.
Parts of the second term are known as restraints.
At high resolution you can see individual atom positions
so the density score is more important than the restraints score.
At low resolution the density is not as detailed
so the restraints score becomes more important.
To adjust the weighting between the two scores,
at the top of the refinement toolbar.
You can change which restraints to use as well
as the weight between the density and restraints terms.
The default is
Higher numbers will use the restraints less.
which will try to choose a sensible weight for the current map.
If you have multiple maps open,
the map that you are refining into can be changed
Select Map button underneath.
Go to Thr175. The red density at CG2 and strong green density opposite
tell us that the side chain needs rotating.
Instead of auto-fitting the rotamer we will attempt to refine it manually.
Real Space Refine Zone button
on the refinement toolbar then click on Thr175 twice.
You need to click twice because it expects a zone,
i.e. you need to click the first and last residue
in the range you want to refine.
Some refinement traffic lights will appear:
The numbers show
how many standard deviations the restraints are from their ideal values.
There is also a simple traffic light system
showing (from good to bad) green, yellow, orange and red.
The fit to density can be assessed by eye.
An initial minimisation has been done
and the result is shown as a white copy of the atoms.
They haven't moved much as the conformation is at a local minimum.
Click the OG1 atom, drag it to the green density and let go.
In older versions of Coot (pre-0.9) you had to over-drag,
i.e. drag the atom past where you wanted it to end up,
but this is no longer the case.
Once the residue is rotated into the right place click
The shortcut we used earlier for refinement was
which refines the residue at the centre of the view
and automatically accepts the initial minimisation.
If you want to drag the atoms or look at the refinement traffic lights
you can use the
r key instead.
It is usually preferable to include the residues either side
when refining so the backbone geometry does not become distorted.
This is known as triple refine or neighbours refine.
The shortcut for this is
t (without auto-accept)
h (with auto-accept).
A powerful combination of shortcuts is
which can correct most side chain errors.
It does neighbours refine to minimise the backbone geometry,
auto-fits the rotamer
(which should be easier with the updated backbone positions)
and finally another neighbours refine
to remove any backbone distortions introduced during the rotamer fitting.
space to go to Glu176
hjh to fix the rotamer.
space to go to Glu177.
There is clear positive difference density
suggesting the side chain should be in another conformation.
There is also some negative difference density at the current position
but auto-fitting puts the rotamer back in the same place.
In this case the side chain could exist in two conformations in the crystal
and the negative difference density
is because we only have one at 100% occupancy.
Add Alt Conf button on the refinement toolbar.
The following window should appear:
This lets you choose whether to split the whole residue or just the atoms from C-alpha onwards. Splitting the whole residue will allow for any slight changes in backbone conformation. Now click on an atom in Glu177 and another window will appear:
This lets you select an initial rotamer for the new conformation
as well as what occupancy you want it to have.
In this case we will leave the occupancy at 50%.
After doing global refinement with REFMAC
you may notice difference density
that suggests the occupancy should be different
(REFMAC is also able to refine the occupancy).
Look through the rotamers with
select the one you think is closest and click
Perform a neighbours refine (
to clean up the positions of both conformations.
Between Tyr337 and Pro350 there is a missing loop
with the sequence
However, we have enough density to build some of the residues.
Go to Tyr337,
Add Terminal Residue on the refinement toolbar
and click on an atom of Tyr337.
This will build an alanine as the next residue.
h to refine it, mutate it to aspartic acid,
then fit the rotamer and refine again.
Go to Pro350 and do the same for the other end of the loop.
The backbone is quite clear for Ala349 and Glu348.
There is some density for Pro347
but you might want to wait until doing more refinement
to get an improved map.
There is a problem with the peptide bond between Glu279 and Pro280.
You will see there is negative difference density at the carbonyl oxygen
but positive difference density opposite.
This is a sign that the peptide needs to be flipped.
Usually, this can be fixed by clicking on
Flip Peptide button on the refinement toolbar
and clicking the peptide.
q flips the peptide at the centre of the view
hqh is another useful key combination.
However, in this case there is an extra complication.
Flipping the peptide will flip both the carbonyl and the nitrogen
and still form a trans-peptide.
If you try to refine this you will end up with a twisted peptide
where the omega angle is > 30° and < 150°.
This is indicated by a yellow shaded area.
This example should be a cis-peptide instead.
Edit Backbone Torsions button
on the refinement toolbar and then click an atom of the peptide.
This allows you to rotate either the whole peptide bond
or just the carbonyl using sliders.
A Ramachandran plot for the residues either side gets updated as you rotate.
One of the residues starts in the white disallowed region of the plot,
which also suggests something could be wrong.
Use the slider to rotate the carbonyl into the middle of the green density
and click okay.
You should hopefully see a green shaded area to indicate that
it is a now a cis-peptide bond as the omega angle is less than 30°.
This is important because
if there is a yellow shaded area for a twisted peptide
then trans-peptide restraints will be used.
These can be temporarily turned off
if you are struggling to force the backbone into the correct conformation,
but in general they should be kept on
to avoid building incorrect cis-peptides.
Cis-peptides are only common for X-Pro bonds.
If the second residue is something other than proline
then a red shaded area will be shown to indicate a possible error.
The figure below shows the correct conformation.
The protein has two ligands that needs to be modelled:
a 10-residue peptide and S-adenosyl-l-homocysteine.
There is a useful tool that finds ligands and solvent molecules
by looking for blobs of density that have no model
and are too big to be water molecules.
Validate / Unmodelled blobs
to get the following window:
Leave the defaults and click
to search the 2mFo-DFc map for blobs above 1.4 RMSD.
A list of unexplained blobs should appear.
Click through the blobs to find the density for the peptide
(it should look like the density in the image in the next section).
The clearest density is probably in the middle of the blob
where there is a long lysine derivative
with some side chain density between Tyr245, Tyr305 and Tyr335.
We will start by placing an alanine at this position.
First, move the view centre to where you want the residue to be,
then go to
Calculate / Modelling / Monomer from Dictionary.
This window is used to get coordinates for a ligand
that already has a restraints dictionary in the CCP4 monomer library.
Type ALA in the box and click
to place an alanine ligand at the centre of the view.
The new alanine will have more atoms than we need.
Delete the hydrogen atoms and the OXT atom (not O)
Delete in the refinement toolbar.
Then use interactive real space refinement
to drag it into the correct position.
This residue can now be treated the same as any other peptide.
Add Terminal Residue to add
one extra residue to the C-terminus and two to the N-terminus.
Past this point
the positions are not very well supported by the density yet.
Make sure to refine each residue into position after it is added.
This method for building a polyalanine chain
is good for a short peptide ligand,
but for longer chains the baton building mode should be used
(which is covered in part 2 of the workshop).
As you can see if you open the
the peptide ligand is currently in a separate molecule
when it should be the B chain of the same molecule.
Edit / Merge Molecules to get the following window:
The molecules checked at the top of the window will be copied
into the molecule chosen at the bottom.
In this case we want to copy the alanine ligand into the main molecule.
It will automatically be labelled as chain B.
ALA_from_dict molecule can now be deleted
The sequence for the peptide is
SKSKDRKYTL (Ser186 to Leu195).
The four residues we have built so far
KSKD (Lys187 to Asp190).
Edit / Renumber Residues to fix the numbering
Calculate / Mutate Residue Range
to open the following window:
Make sure the inputs match those in the picture above. The auto-fitting rotamers is optional as you will probably find you need to follow this up by more real space refinement and manual adjustment of the side chains. The density for Lys187 is not very strong so it may be better to delete this side chain.
Go to the B:Lys189 residue that we have just built.
This should actually be N-methyl-lysine (MLZ).
To mutate it make sure the residue is at the centre of the view
Edit / Replace Residue.
A window will appear where you can type the 3-letter code.
MLZ and click
The LYS should be replaced with an MLZ residue
in roughly the same place and with the same numbering.
It will need refining (e.g. shortcut
to move it back into place.
This section will deal with placing a ligand
that is already in the monomer library.
Validate / Unmodelled blobs again with the default options
and select the remaining blob for S-adenosyl-l-homocysteine.
File / Search Monomer Library,
which allows you to search for monomers by name.
homocysteine in the textbox and click
SAH from the list
to place the residue at the centre of the view.
We will first attempt to fit the ligand into the density manually.
Rotate Translate in the refinement toolbar
and click on SAH twice.
This brings up a window with sliders to adjust
rotation and translation about the X, Y and Z axis.
The axes are relative to the view and not the coordinate axes:
X is left to right, Y is top to bottom and Z is perpendicular to the screen.
Use the sliders to get the orientation of the ligand roughly correct,
then use real space refinement to try and drag the atoms into place.
If you are struggling to get the molecule into place
Ligand / Jiggle-Fit Ligand,
which automatically tries different positions and orientations
with rigid-body and real-space refinement.
Now we will look at the more automated way of fitting ligands.
First, delete the manually fitted
File / Get Monomer,
which can be used instead of
Search Monomer Library
if you already know the three letter code.
SAH and click
As we know which blob the ligand should be in,
centre the view there and then click
Ligand / Find Ligands.
Select Ligands section,
choose the newly placed
Where to Search? to
If you did not know where the ligand should go then
you could use
You could also increase
Number of Conformers to Search.
This will take longer but have more chance of fitting the ligand correctly.
Ligands with more rotatable bonds are likely to need higher numbers.
Find Ligands to start the search.
A new molecule will be made for the fitted ligand.
If the correct conformation is not found then delete this new molecule
and try running
Find Ligands again with more conformers
and possibly changing the center of the view within the blob.
Merge Molecules to merge it into the main molecule
then delete the other molecules.
The fit may not be exact and may still need some interactive refinement.
You should also delete the hydrogen atoms of the ligand
as these are not usually included in a model
except for very high resolution cases where they are observed.
The structure we are working on is quite high resolution
so there are lots of peaks for ordered water molecules around the protein.
Fewer waters are seen as you move to lower resolution
and they stop being visible somewhere around 2.5 to 3.0 Å.
Calculate / Other Modelling Tools
to open another toolbar
Leave the default settings and click
A new chain will be made in the molecule to contain the new waters.
The waters should be checked by eye.
Go To Atom to move to the first water in this chain.
Then it is useful to see what hydrogen bonds the water is making.
Measures / Environment Distances,
Show Residue Environment? and click
space to move through the water molecules
and examine them one at a time.
To make the view always jump from one atom to the next
instead of sliding,
General section of
Edit / Preferences.
There is no need to check all the waters during the workshop
but you should when working on your own structure.
Automatic water finding will miss some waters that can be built manually.
In order to find peaks that might be water molecules,
Validate / Difference Map Peaks.
Leave the default
Find Negative Peaks Also?
as peaks for missing waters will be positive.
, to move up and down the list
when the main Coot window is selected.
The biggest difference map peaks
are for the missing sulfur atoms in the methionine residues.
Keep looking until you find a peak for a water molecule
that hasn't been added automatically.
Most of the peaks will have been modelled already
so it would be better to do this after another round of refinement.
Once you have found one,
Place Atom At Pointer then
to add a water molecule.
You can also use the shortcut
w on the keyboard.
x to refine the water position.
Remember to save your improved model using
File / Save Coordinates.
Paul Bond, University of York, firstname.lastname@example.org