PyMOL is an open source molecular visualization system created by Warren Lyford DeLano. It was commercialized initially by DeLano Scientific LLC, which was a private software company dedicated to creating useful tools that become universally accessible to scientific and educational communities. It is currently commercialized by Schrödinger, Inc. PyMOL can produce high-quality 3D images of small molecules and biological macromolecules, such as proteins. Almost a quarter of all published images of 3D protein structures in the scientific literature were made using PyMOL.
PyMOL is one of the few open-source model visualization tools available for use in structural biology. The Py part of the software’s name refers to the program having been written in the programming language Python.
PyMOL uses OpenGL Extension Wrangler Library (GLEW) and FreeGLUT, and can solve Poisson–Boltzmann equations using the Adaptive Poisson Boltzmann Solver. PyMOL used To software for the GUI widgets and had native Aqua binaries for macOS through Schrödinger, which were replaced with a PyQt user interface on all platforms with the release of version 2.0.
PyMOL’s straightforward graphical user interface allows first-time and expert users alike to create stunning 3D visualizations from their favorite file formats. Users can quickly and easily create movies that fly through a molecular landscape, elegantly depict protein structure morphing, and animate ensembles and trajectories. The PyMOL support team offers technical support, printed tutorials, and screencasts for commercial users. For those who prefer to learn from an expert instead, classroom-style training is available worldwide. PyMOL also has over 100,000 active users with community-sponsored support available on the popular PyMOLWiki and pymol-users email list.
When PyMOL is opened, two windows appear. The smaller window (called the “External GUI” in PyMOL documentation) contains the menu bar (File, Edit, Help, Display, etc), shortcut buttons for common commands, and the command line.
The second window is the PyMOL Viewer. In the Viewer, 3D models are displayed, and the user interacts (e.g rotates) and manipulates the model.
The objects that PyMOL renders in 3D are loaded from coordinate files that describe (in great detail) locations of individual atoms in the molecule. PyMOL can display more than one object at a time, and provides an Object Control Panel to adjust viewing modes, colors, labels, hiding, and just about anything else relating to objects. After each object name is a set of command buttons which control the object. Here are the buttons and some of their options:
- A – Actions: Rename, duplicate, remove, apply presets (like “ball-and-stick” or “publication”), perform computations
- S – Show: Change the way things appear, eg change to stick or cartoon view.
- H – Hide: Things that are shown using S accumulate, and don’t automatically replace the last view. H is the opposite of S and hides unwanted representations.
- L – Label: Label atoms, residues, etc.
- C – Color: Change the color of atoms and groups.
The lower-right corner of the Viewer contains a guide to using the mouse, as well as a powerful selection tool. There is also another command line at the bottom of the Viewer (PyMOL>).
The right side of the Viewer shows the loaded PDB as an object, as well as its command buttons. Each button contains a submenu with more options. Click S, then cartoon to show the protein’s secondary structure in popular cartoon form. To change the color of each protein chain, click C then select chainbows from the by chain menu. “Chainbows” colors residues in each protein chain as a rainbow that begins with blue and ends with red.
- Another common coloring method assigns a single color to each chain. Click C then select by chain from the by chain menu.
Click and drag the protein to change the view. A list of mouse buttons is below the object control panel.
- Rota: Rotate
- Move: Translate object along an axis
- MoveZ: aka Zoom
- Sele: Select
PyMOL supports saving your work in various formats. We can save images, molecules, sessions, movies, etc.