A collection of miscellaneous images accrued in the course of PyMOL work for myself and others...
FCC lattice Richard
Implementing a "sausage"-style cartoon ("putty") Warren
CGOs of sliced cubes
CGO-based cartoons of oligomeric proteins Vero
Chemical modification: breaking and making covalent bonds Loren
Display idealized (i.e., calculated) electron density for a diatomic molecule (Cl2) Anna Klein
Illustration of variable loop settings
Visualize electron density maps carved about a selection Loren
Test files for MacPyMOL scene switching John
Images of P. Tieleman's "m65" MD-equilibrated micelle Linda
Least-squares fitting of a plane to a set of atoms dave, jeff
Cartoon reps with variable transparency davidB
Counting & visualizing interatomic contacts jamie
Getting SuperSym to play nice with PyMOL and CCTBX mikey
Implementing a "sausage"-style cartoon ("putty")
Red, yellow, green, and blue balls:
very near I:
very near II (fixed termini caps):
...flip about <y>...
very near III (smoothening via window averaging):
|nosmooth1.s.png (no smoothing):
||averaging_asymmetric1.s.png (3-point window):
|averaging_symmetric1.s.png (3-point window):
||averaging_symmetric2.s.png (5-point window):
finally, a real example (14-mer from 1M5Q 28-mer):
Symmetries of sliced CGO cubes:
CGO-based cartoons of oligomeric proteins:
It may be necessary to do geometric sorting of vertices if the default sequence of chain IDs does
not conform to a convex polygonal cycle. For example, in the following images the chain IDs of the
input PDB file were all set to 'D', so chain sequence information was effectively lost. The left
panel illustrates the CGO that results if the vertices are not sorted, whereas the CGO in the right
panel was created after sorting (see my makeCGOplates.py module).
Also, two-sided lighting may be important for successful ray-tracing of some CGOs (left=OFF; right=ON):
Chemical modification: Using PyMOL to break (and make) covalent bonds
The following is an image of the starting structure, built in PyMOL's default (β-sheet)
geometry using the Build →
Ala menu sequence:
The following image is of the broken structure, produced from the above object by
(i) going into the Mouse → 3 Button Editing Mode, (ii) picking the bond of
interest (near the center); (iii) using the Build → Remove [Ctrl-D] command.
The two resultant fragments were then written-out to separate PDB files (using
the molecule selection) --
Finally, PyMOL was reinitialized, and the two PDB files above were loaded. A bond was created between the two
fragments by using the "fuse" command with the two atoms as arguments – e.g.,
"fuse (frag1 and resi 5 and name C), (frag2 and resi 6 and name CA)". Note that PyMOL provides two
methods for fusing atoms into bonds ("fuse" and "bond"), and that these two methods
are not exactly equivalent in terms of requiring that the target atoms belong to the same PyMOL object
– see the descriptions of the
in the PyMOL Reference Manual).
Note also that the original fused selection (green carbons) is reoriented so as to better
satisfy PyMOL's bond-geometry criteria (pink carbons).
NOTE: Another example:
Download a sample PDB file (union1.pdb) containing
two atoms separated by more than the usual ~1.5-A bond distance. We will now force a bond
between these two atoms via the following sequence of steps:
- Open the structure into a PyMOL session ("load union1.pdb, crap")
- Pick the first atom of the target bond by Double Right-clicking on it
(in the "3-Button Viewing" mouse mode on the non-Apple version of PyMOL)
- Pick the second atom of the impending bond by exactly the same method of right-clicking
- Finally, create the bond by either (i) the Ctrl-T keystroke or
(ii) using the Build →
Create Bond menu sequence...
(either way works identically).
Display idealized (i.e., calculated) electron density for a diatomic molecule (Cl2):
This is included here in the sandbox section (for now) rather than the main PyMOL page because
de novo calculation of ideal electron density for a molecule is outside the scope of
PyMOL. Instead, this may be achieved using standard crystallographic software such as CCP4's
SFALL and FFT. The following is a description of how I calculated and visualized
the ideal electron density for diatomic chlorine. Note that by "ideal" I mean that actual (i.e.,
quantum-mechanically derived) atomic scattering factors were used for chlorine rather than structure
factors which have been calculated from observed reflection intensities (which is what is generally
done in a crystallographic experiment), atomic B-factors were set to 0.0, and the calculation was
performed in the scattering range 500→5 Å. The explanation is excerpted from an email, and
is followed by the files specified in the description:
Here is an image of the map and the relevant files:
> 2) How can I display both the atoms and the electron density in the SAME place.
This is a little more tricky. The easiest way to guarantee that it works -- especially for something
relatively simple, like a diatomic molecule -- is to center the object in a cell, and then perform the
map calculation over this structure. It seems like your original structure was not properly centered,
or the map was calculated with respect to a different origin, or some problem of this sort (sorry, I
didn't have time to carefully analyze it). I solved this problem by doing the following steps:
(1) I took your input PDB file and reformatted it to get the file "mycl2_b0.pdb" (attached to this email).
The main things which I did were to clean-up the atom names, chain and segid syntax, set B-factors to 0.0,
provide unit cell info. (required in the map calculation in next step), etc., and translate the diatomic
molecule to the center of a 10.0-Angstrom cubic unit cell...
(2) Then I calculated an electron density map from this centered P1 structure using the CCP4 program
SFALL (http://www.ccp4.ac.uk/dist/html/sfall.html -- see the attached file "sfall2.csh")...
(3) Then I visualized the resulting density and molecule using a PyMOL script file -- please
see the attached file "mycl2.pml" and compare the commands against those in the user manual to understand exactly what's going on...
(4) Ray-tracing of the PyMOL view resulted in the final image file "mycl2_view1.png" (attached).
Hopefully this is something along the lines of what you had in mind?
I haven't attached the CCP4-formatted map file because it is rather large (3.8M) for an email attachment.
With best regards,
PDB-format coordinates for the atomic structure in a triclinic unit cell, 10-Å/edge
CCP4 script used to calculate by FFT of atomic structure factors
PyMOL macro/script used to display and render a graphical image of the map
Illustration of variable loop settings:
1I8F_a.pdb – PDB-formatted coordinates for this example
1i8f_a_cartoons.pml – This example as a PyMOL macro
Visualize electron density maps carved about a selection:
GNU zip'd tar archive containing all the files for this example ("tar zxvf mapExample4Loren.tar.gz" to unpack it).
Loren – this (below) is what you're talking about?
Test files for MacPyMOL scene switching:
Ray-traced illustration of Scene 7:
- 1AZV.pml → PyMOL script file
- 1AZV.pdb → PDB file for the test protein
- 1AZV_scene7.png → Ray-traced illustration of Scene 7 (shown below)
- macpymol-0_99rc6.tar.gz → The actual MacPyMOL which was cleanly installed and used for these tests
(click on thumbnails for larger versions)
Fitting planes to atoms:
(click on thumbnails for larger versions)
Cartoon representations with variable transparency levels:
(click on images for larger versions)
Counting a set of interatomic contacts and visualizing the result:
(click on thumbnails for larger versions; note that panels A→C are in VMD)
|(A) within the entity:
||(B) between the entity and its neighbors:
||(C) zoomed-in view of (b):
|(D) number density of contacts via scaled putty:
Getting PyMOL to play nice with CCTBX and the 'SuperSym' module:
(click on images for larger versions)