The aim of this tutorial is to show the binding mode of the synthetic ligand in the GPCR structure 4eiy and its interactions within the GPCR. We want to display the ligand and the surrounding residues. Interactions shall be shown as broken lines. The cartoon fold may be represented with transparency.
Load pdb id 4eiy
Improve secondary structure assignment: PyMOL: dss
Center on the ligand and select the ligand. Use the selection to create a new object called "ligand"
Show the receptor as sticks.
Display polar contacts of the ligand: OB: ligand find, polar contacts, to any atom.
If the water molecules are not yet shown, display them (OB: 4eiy show, nb_spheres)
While it is sometimes possible to generate a suitable figure of the ligand and its coordinating residues by showing all protein residues and choosing a suitable zoom and slab, it is more often necessary to display only the interacting residues and hide the others. To this end, make a list of the residues that you want to show. Usually the chain name and residue number is sufficient, but it is good practice to write down chain name, residue number and residue name, e.g. "Phe A168". Using this list you can specify the ligands that shall be displayed using a suitable command. The advantage is that you choose to display only side chain atoms for some residues while displaying all residues for others (see below).
An alternative option is to select all residues of the environment (pressing the shift key) and to generate a new object of these residues (e.g. named "env"). Later you can choose to display only the side chain residues of this selection. Try this option first. Yet another alternative to selecting all residues in the environment of the ligand manually is to use one of the following commands:
create env, (byres (ligand around 5.0)) and not ((polymer.protein and
name C+N+O) or resn ZMA)
This show the environment of the ligand with the protein residues only
shown as side chains. If you want to show the residues with all atoms
(including mainchain), use:
create env, (byres (ligand around 5.0)) and not resn ZMA
"ligand around 5.0" selects all atoms within 5.0 Angstrom distance to any
atom of ligand, including the ligand atoms
"byres" extends this selection to full residues, otherwise incomplete
residues would be displayed.
"and not resn ZMA" omits the ligand (residue name ZMA) from the selection
(for some reason "and not ligand" does not work)
Using the object buttons of the newly created object env you can also hide the main chain atoms.
Next we display the background in white, the carbon atoms of
the ligand in yellow and the carbon atoms of the GPCR residues
in grey.
Check if all polar interactions are valid (PyMOL uses only distances to
assign hydrogen bonds).
For this analysis, it may be preferable to generate the hydrogen atoms of
the ligand (possibly also of the protein, but these positions are usually
more obvious). Generate (and possibly delete later) hydrogens via the
object buttons.
(Important: Note on generation of hydrogen positions: Since stereochemical information (bond order, i.e. single bonds, double bonds, hybridization etc.) is not present in the pdb file, PyMOL tries to "guess" the bond orders, hybridization, charge, protonation state, tautomer, etc. from the bond length and angles. Errors may occur and it is is always a good idea to check if the valences and hydrogen positions meet the expectations (in this case one would need to look at the information in the protein data bank or at the publication.)
If some residues are obstructing a good view, you may hide those.
Ligands are often also coordinated via water molecules, which are in turn bound directly to the protein. It makes sense to also display these protein residues. This may be possible via a sophisticated PyMOL selection command, but an easier way might be to temporarily show all protein residues of the 4eiy object and to select the additional residues that need to shown and to generate a new object (named "env2") for them.
The hydrogen bonds shall be shown as broken black lines (change
color from object buttons).
Commands to change the appearance of the hydrogen bonding lines:
set dash_gap, 0.3
set dash_radius, 0.05
set dash_length, 0.25
Find a good view.
Label all residues in the style "Phe 168" and position the labels appropriately. The size of the labels should be suitable for the intended size of the image.
In addition to residues in front of the ligand, residues that are further away from the ligand and make no sufficient contacts may be deleted. This can be done by selecting the residue (including water molecules) and using the remove option from the right-click context menu. All selected atoms will be removed.
![]() |
![]() |
![]() |
draw 800,600 | ray 800,600 | set ray_shadows, 0 ray 800,600 |
Note that the tyrosine in the upper left corner has been drawn with
transparency:
set stick_transparency, 0.5, resi 271
(note that stick_transparency does not work perfectly in the OpenGL draw
mode (zoom in on the residue) whereas this is fine for ray tracing)
We will add labels in inkscape.
####################
In another image, show the ligand together with its electron density.
After loading the 2fo-fc electron density map via Menu: File, open, you can generate the mesh using the following commands:
isomesh mesh1, 4eiy_2fofc, 0.8, ligand, carve=1.5
set mesh_width, 0.4
color gray70, mesh1
show mesh, mesh1
color paleyellow, ele C and ligand
color palecyan, ele C and not ligand
draw 800,600
Back to PyMOL tutorial main page.