-
Notifications
You must be signed in to change notification settings - Fork 9
04.4 Ligand Interactions
4.4 Ligand Interactions
You might have a pdb file which has a ligand bound to your protein of interest, or you may have some docking results which you wish to analyse. In PyMOL you can measure the distances between certain points on your ligand and specific active site atoms. These distances can determine whether or not binding interactions are possible between the ligand and the protein. You can also examine interactions between ligands and active site water molecules, and you can choose to display these water molecules as sticks, or spheres depending on your preference.
In this example we have a non-covalently binding ligand bound in the active site of the SARS-CoV-2 main protease. The first thing you will want to do is centre your display around your ligand. To do this select the ligand, rename the selection, click action, centre, and then you may wish to zoom in too. Next you will want to declutter the display, by hiding all waters which are not in the immediate vicinity of the ligand, and removing any solvent molecules from view. You can do this as shown above, or alternatively you can do this by using the sequence. At the end of your peptide sequence you will see LIG (this is the ligand), followed by some solvent molecules (DMS in this example), then you will see a series of 0s which denote the water molecules. Select the solvent and the water molecules from the sequence and unselect any important waters (those close to your ligand) by clicking on them again in the display window. Then click hide everything for your selection and you should be left with only the protein, the ligand and any waters you wished to keep.
Next you will want to colour the ligand separately to your protein, create a new selection and rename this “ligand”, then select the colour you want (by element). You can now start to select and show your active site residues as before. If you do not know which residues are in the active site, or how many of them to display, you can try this code. Type “show sticks, byres all within 5 of ligand” here the “ligand” was the name we gave to our selected ligand, if you have called it something else you should replace the word ligand with your selection name. This code will show the sticks of all residues within 5Å of your ligand, “byres” tells PyMOL to display the sticks of the whole residue. If you remove “byres” from this command then PyMOL will only show the sticks of atoms within 5Å (i.e. if a His side chain is within this distance but the main chain is not, then only the side chain will be displayed and not the whole His residue – you should try this out to spot the difference).
Next you can select all of the residues which have been displayed, colour them or label them if you wish, and be sure to name the selection (for example “active site”). Hiding the cartoon structure (click hide, cartoon) will allow you to focus on just the ligand and the active site residues. If your image isn’t showing all of the residues clearly unless you zoom out, you can try centring the display around your active site selection instead (click action, centre). You will notice any waters that were close to your ligand that you may have missed before have now reappeared.
PyMOL can measure some things straight from the action menu, for example polar contacts within a certain distance will be picked up by this method. To do this click on the ligand selection, click action, find, polar contacts, any atoms. This will show all polar contacts (within PyMOL’s designated distance) between your ligand any nearby residues/waters.

Here PyMOL has found four polar contacts (hydrogen bonds), two to nearby waters and two to active site residues. If we wanted to check which residues these were, we can select them (click on the atom from the display window and it will select the whole residue), rename, then click label, residue. We can see now that these residues were His163 and Glu166 (see below).
The pdb file being used here to demonstrate ligand interactions has been optimised (needed for detailed and accurate analysis, see later). As a result of this the water molecules are showing up as stick structures rather than the red crosses we saw earlier. Because of this optimisation the orientation of the water molecules is clear (and correct) in this file. If we did not have an optimised file at this point you could display the water molecule as a sphere instead (preferable to the red crosses). To do this select the water, click show, and then click spheres. An important difference between an optimised file and an unoptimised one is that the hydrogens show up correctly in the optimised structure, this is clear in the screenshot above where all residues have their hydrogens shown (optimisation takes local pka environment into account), the ligand and water molecules in this file also have their hydrogens displayed. Optimised files are required for docking experiments and accurate analysis in PyMOL, however you can do some preliminary analysis with unoptimised files (such as with the helix above), as long as you remember that the hydrogens are not yet present and so distances will vary if you have measured them yourself. One time you may look at unoptimised files in this way is if you had multiple different crystal structures of your target protein with different ligands or fragments bound. It might not be practical to optimise all of these files at first, so you could analyse each structure in PyMOL initially and decide which structure you wish to base your docking experiments on. Once you have selected which ligand you wish to use for initial compound design inspiration and/or online database searching you can choose this crystal structure and have this pdb file optimised. You would then re-examine the optimised file to get accurate measurements.
To measure all the possible interactions, including hydrophobic contacts and other distances you can use PyMOL’s wizard tool. Click wizard, then click measurement and you will now have a wizard section appear on your side menu.
Click on the atoms that you wish to measure between, PyMOL will create a new measurement entry on the side menu (measure01 here), you can rename and colour this measurement entry just like any other selection. Here we have measured one of the hydrophobic contacts of the ligand with Met165 (one of the residues making up the hydrophobic pocket of this active site). You will see that the distance of this measurement is displayed (3.8Å) unlike with PyMOL’s automatic polar contact measurements from earlier.
As well as using the wizard tool to measure interactions between your ligand and the active site, you can use it to measure distances between positions on your ligand and nearby chains. This can allow you to investigate the merits of adding substituents to a given position on your ligand, to see if the addition could add another hydrogen bonding interaction or to see if adding a substituent there would likely cause steric clash with nearby residues. You can then test your hypotheses in molecular docking experiments by designing compounds which have new substituents at these positions and then docking them to see if they do indeed fit (or not fit) in the same position as your original ligand.
Common Problem: Mouse selecting single atoms instead of whole residues?
You might have worked through the tutorial above and had no issues, or you may have suddenly found that by inadvertently pressing something on your keyboard you have now made it so that PyMOL selects individual atoms when you click on them rather than the whole residue (or ligand).
This is easily remedied:
Bottom right-hand corner you can see “mouse mode” here it correctly says 3-button viewing if yours doesn’t say this, see screenshot above to change the setting back to normal.
Also, you can see the “selecting” bit in the bottom right says residues, this is what you want. If yours doesn’t say this, to fix it see the screenshot below.