This project was completed at Brookhaven National Laboratory and was supported by National Science Foundation Advanced Technological Education Grant 0402408.
PyMOL is a molecular modeling program that can be used in a wide range of studies within the scientific community. Its ability to produce informative, detailed, stereoscopic images makes it a very powerful tool both in the laboratory and in the classroom. However, the PyMOL user interface is difficult to use, and the PyMOL User's Manual readily admits that “development has been focused on capabilities, not on ease-of-use for new users.” To resolve this, we set out to develop a new interface for PyMOL that helps eliminate the need for command line interactions, making it a much more user-friendly interface. We have created a tabbed interface called EZ-Viz, which contains a series of buttons and entry fields that allow users to select given attributes of a molecule and make changes to it by clicking a button as opposed to issuing highly syntactical commands. Other features of the interface include a Chime/PyMOL command converter, nine preset molecular views, four molecular movies, and molecular sequence and hetero atom information, all at the click of a button. The ongoing and continued development of EZ-Viz could help to further the use of PyMOL, which we believe to be one of the most powerful molecular viewing programs currently available.
Molecular visualization and modeling programs have proven to be very powerful and useful across a wide range of fields. However, they frequently have a steep learning curve and are not easy to use, requiring memorization of many command line interactions. PyMOL, developed by DeLano Scientific , has the capability to produce detailed and informative images that can be used in scientific research and as a teaching tool in both college and high school classrooms. Despite these features, its user interface is very complex  and can make it difficult for novice users to create effective images in the program. For these reasons, we used tools from Python's Tkinter and PMW toolkits  to develop a plug-in for PyMOL with an easy-to-use interface called EZ-Viz. Although PyMOL already has a strong following, we hope that the introduction of EZ-Viz will expand its use in molecular research and education.
Overview of the Interface—The EZ-Viz graphical user interface was developed as a plug-in for DeLano Scientific's molecular visualization program, PyMOL. It features a notebook style design with separate tabs to distinguish one section from another (Fig. 1). There are a total of nine tabs with the titles Welcome, Presets, Settings, Commands, Movies, Information, Advanced, Save, and About.
Each individual tab has a series of buttons, menus, and entry fields, which the user can employ to manipulate the appearance of their molecule in PyMOL's viewing window. An additional row of buttons is displayed along the bottom of the EZ-Viz window at all times. These buttons are used primarily for loading files into the PyMOL viewer, accessing the help file, clearing the viewing window, and quitting EZ-Viz. The interface utilizes a PDB11 file parser that is used to identify the separate structures that exist within the molecule that is currently being viewed. Using this information, the program creates a number of unique objects in PyMOL, such as DNA, RNA, and protein that can be individually altered. If a molecule does not contain a certain type of structure, such as DNA, an object will not be created for it.
THE WELCOME TAB
The Welcome tab was designed to greet users when they first open EZ-Viz. A splash screen is displayed with an image of a molecule created using EZ-Viz and a list of its creators.
THE PRESETS TAB
In this tab, the user will find nine predefined views of the molecule. Each of these highlights different molecular properties in hopes of providing clear and meaningful representations for the user. Since these presets are created automatically based on the contents of the PDB file being visualized, the need for command line interaction is eliminated. The nine presets include: Default, Color by Chain, Hetero Atoms, Ball & Stick, Surface, Polarity, Aromatics, Putty, and DNA & RNA, each of which are explained below.
Default—This representation provides a general overview of the molecule and highlights the important aspects of secondary structure. The helices, sheets, and loops are all assigned a cartoon representation and are colored as follows: helices in red, sheets in yellow, and loops in cyan. If DNA and/or RNA are present in the molecule, they are colored using the CPK color scheme. To differentiate between the two, DNA is shown using sticks, whereas RNA takes on a ball-and-stick representation. Finally, any ligands present are set to display as spheres and are colored cyan.
Color by Chain—PDB files include information regarding the different chains found in the structure. In this preset, the chain information is utilized in a way such that each chain is assigned a different color, allowing them to stand out to the user.
Hetero Atoms—EZ-Viz is especially useful for visualizations where portions of a molecule need to be drawn with varying levels of transparency. Because of poor documentation and the need for command line interaction, novice PyMOL users will in many cases have difficulty determining how this feature works. The purpose of this preset is to clearly display the presence of hetero atoms, commonly referred to as ligands, in the molecule. To do so, these atoms are shown in a sphere representation. Next, the ligand-molecule interactions are displayed by showing sticks in surrounding regions. Finally, the remainder of the molecule is made partially transparent, such that the ligands and surrounding sticks are clearly evident to the user.
Ball & Stick—This preset shows the protein in a standard ball-and-stick view similar to those often used in high school chemistry classes. As in the Default view, DNA and RNA are colored with the CPK color palette and are represented with spheres and sticks.
Surface—In this case, the surface view of a protein is shown with opaque CPK coloring. If present, DNA is displayed as sticks and RNA as ball-and-stick, whereas both receive a semitransparent surface.
Polarity—This view is similar to the Surface view. However, only the hydrophobic and hydrophilic regions are displayed with a surface. Colors are also applied: red for hydrophobic and blue for hydrophilic. Once again, the DNA and RNA, if present in the molecule, are displayed as in the same manner as in the Surface view. Lastly, the ligands are shown as spheres and colored green.
Aromatics—Transparency is used again in this view to get the attention away from the molecule itself. In this case, the RNA and DNA are shown simply in cartoon representation and set to the same transparency as the rest of the molecule. The aromatic rings are then shown as sticks and colored red. Against a black background, these rings show up quite nicely.
Putty—The name “Putty” refers to the type of cartoon representation being used. Putty is new to PyMOL version 0.98 and produces a unique view of the molecule that is becoming increasingly popular. Aside from the different cartoon type and lacking ligands, this view is identical to the Default view.
DNA & RNA—DNA and RNA take center stage in this preset as the remaining parts of the molecule are de-emphasized by using 70% transparency. In keeping with our earlier conventions, DNA is shown in a stick representation, whereas RNA is displayed in a ball-and-stick format.
THE SETTINGS TAB
On the Settings tab, the user will find four sets of radio buttons that allow them to alter the display settings of the PyMOL viewing window and the internal interface. One of PyMOL's greatest features is that it supports three different stereo imaging options: quad-buffered, cross-eye, and wall-eye. To make toggling between stereo and normal viewing easier, we have created a series of radio buttons that allow the user to quickly enable or disable any of the stereo viewing options.
Also on this tab, there are two sets of buttons that control color: Background Color and Color Space. The buttons associated with background color control the backdrop of the PyMOL viewing window. Although three common choices of black, white, and gray are each given their own buttons, by clicking the button labeled Other, the user is able to access a color palette where they can choose a custom color. The buttons that are linked with color space alter the color palette used to display the image. The choice of which colors will be used is based upon what colors look best in an image that will stay in PyMOL, be published, or be displayed on the Web.
Many of the features that PyMOL's internal interface has to offer have been included in EZ-Viz, and in many cases, they are easier to use in EZ-Viz. Because of this overlap of function, the final pair of buttons found on this tab allows the user to show or hide the internal interface to make more room on their desktop for the viewing and EZ-Viz windows.
THE COMMANDS TAB
Perhaps one of the key reasons molecular visualization is so powerful is because of the ability the user has to manipulate the appearance of the molecule to their liking . The Commands tab of EZ-Viz makes the process of changing the way a molecule looks very simple by using a set of four separate drop-down menus (Fig. 2).
The Select menu allows the user to choose a structure associated with a molecule and then change its appearance, using the other buttons and menus found within EZ-Viz. This drop-down menu is populated by PyMOL objects that are automatically generated from the PDB file by the information acquired by the built-in PDB parser. Although the options All, Selected, and Not Selected will always appear in the list, Protein, DNA, RNA, and a listing of all the chains in a molecule will only appear when they are present in the PDB file.
Once the user has chosen an option (Protein, DNA, Ligand, etc.) from the Select menu, they can then use the Show and Hide menus to manipulate the appearance of their molecule. Both menus contain a list of all the representations supported by PyMOL and also include water. By clicking on one of the items in either the Show or the Hide menu, the change is made to the selected area of the molecule in the PyMOL viewer.
The Color menu works in much the same way as the Show and Hide menus. Once the user has chosen an option from the Select menu, they can then apply a color to it through the Color menu. Although a few commonly used colors are listed, the user can customize a color by selecting the Other option. The CPK option refers to the color scheme developed by Corey, Pauling, and Koltun that colors atoms by element type.
To make changes to an image in the PyMOL viewing window, a set of syntactical commands must be issued to achieve the desired result. The buttons and menus found within the EZ-Viz interface take away most of the need to issue commands; however, some more advanced users may still want to have the option of issuing their own commands available to them. To accommodate more advanced users, we have added an entry field to the Commands tab in which both PyMOL and Chime commands [5, 6] can be entered and executed. The effects of an executed Chime command will appear on the molecule currently in the PyMOL viewing window just as they would had the command been executed through PyMOL's own command line. (Table I).
THE MOVIES TAB
PyMOL has the ability to generate very effective animations in a movie format with Play/Pause/Stop buttons on the standard PyMOL interface. Once again, these are very powerful but not easy to use . Although the Presets tab presents users with a group of predefined views, the Movies tab offers users four pre-made movies that are automatically generated by EZ-Viz once a PDB file has been loaded. Each movie strives to pick out some key features of a molecule and animate them in an eye-catching manner.
Ligand Zoom—Although not all molecules have additional hetero atoms or ligands bound to them besides water, those that do may have them attached in a region unknown to the user. To help the user identify the regions of a molecule in which hetero atoms are bound, this movie zooms in on each bound substrate one at a time and shows the surrounding residues that may play a part in attracting it to that region. To help the substrates stand out from the cartoon-represented protein, they are colored using the CPK color scheme and represented as transparent spheres and sticks.
Build Protein—The function of a protein is dependent upon its structure. This movie showcases the secondary structures, ligands, and surface view of the molecule that all contribute to the protein's functions in living organisms.
Highlight Chains—Identifying separate chains in a molecule can sometimes prove to be a difficult task. This movie aids in this process by featuring one chain at a time in a transparent, surface view and changing its color to distinguish it from the surrounding chains.
Rotate—This simple movie spins the molecule 360 degrees around its y axis.
THE INFORMATION TAB
Another very useful aspect of EZ-Viz lies in the Information tab. It is here that the user is able to find information relating to their molecule of choice. The name, category, sequence, hetero atom information, and primary citation for each molecule appear here; all of these are generated from the information contained in the PDB file. This parsing occurs each time that a user loads a new PDB file, whether through the PyMOL interface or through the EZ-Viz interface. Fig. 3 shows an example of what this tab looks like following the successful loading of PDB file 1D66.
THE ADVANCED TAB
Another aspect of this interface that drastically reduces the need for command line arguments can be found in this tab. Using a series of buttons and entry fields, such as the ones shown in Fig. 4, the user has the ability to alter characteristics such as cartoon width, tube width, cartoon type, transparency, sphere size, etc. When the Update button is clicked, the viewing window will be instantaneously updated.
The nature of objects in PyMOL allows users to set different sizes and transparencies for different sections of the molecule. For this reason, there is a label on the bottom of the window identifying the current selection for the user. The current selection, which is made on the Commands tab, determines what part of the molecule the advanced commands will be applied to.
THE SAVE TAB
The Save tab implements some of the save methods derived by the creators of PyMOL and allows users to save their work. There are two buttons on the Save tab. The Save Session button will save a record of all work done up to that point in PyMOL; the Save Image button saves a portable network graphics (PNG) image of the current molecular view from the viewing window.
EZ-Viz maintains many of the same capabilities found in the original PyMOL interface yet comes in an easier-to-use format. The buttons and drop-down menus should significantly minimize the time needed for a new user to learn how to manipulate their molecule. The presets and movies provide meaningful images and animations with no user input, other than the PDB ID. Although PyMOL already has a strong following, the development of EZ-Viz should further expand that group in the academic and scientific communities. EZ-Viz can be obtained by visiting the EZ-Viz website on the Rochester Institute of Technology server (ez-viz.rit.edu). The EZ-Viz plug-in works in the Windows version of PyMOL; we hope to implement versions for other operating systems in the future.
Table TABLE I. A brief comparison of Chime and PyMOL commands
Several common commands are shown in Chime and PyMOL syntax. Notice the differing levels of complexity. EZ-Viz is able to interconvert many of the most frequently used Chime and PyMOL commands.
We are grateful for the support and encouragement we received from the members of the Brookhaven National Laboratory. We thank the Rochester Institute of Technology and the Science Undergraduate Laboratory Internship program at Brookhaven for allowing us to be a part of such a rewarding experience.
The abbreviations used are: PDB, Protein Data Bank; CPK, Corey-Pauling-Koltun.