`Research and Analysis
`
`ERIC F. PETTERSEN, THOMAS D. GODDARD, CONRAD C. HUANG, GREGORY S. COUCH,
`DANIEL M. GREENBLATT, ELAINE C. MENG, THOMAS E. FERRIN
`Computer Graphics Laboratory, Department of Pharmaceutical Chemistry, University of
`California, 600 16th Street, San Francisco, California 94143-2240
`
`Received 24 February 2004; Accepted 6 May 2004
`DOI 10.1002/jcc.20084
`Published online in Wiley InterScience (www.interscience.wiley.com).
`
`Abstract: The design, implementation, and capabilities of an extensible visualization system, UCSF Chimera, are
`discussed. Chimera is segmented into a core that provides basic services and visualization, and extensions that provide
`most higher level functionality. This architecture ensures that the extension mechanism satisfies the demands of outside
`developers who wish to incorporate new features. Two unusual extensions are presented: Multiscale, which adds the
`ability to visualize large-scale molecular assemblies such as viral coats, and Collaboratory, which allows researchers to
`share a Chimera session interactively despite being at separate locales. Other extensions include Multalign Viewer, for
`showing multiple sequence alignments and associated structures; ViewDock, for screening docked ligand orientations;
`Movie, for replaying molecular dynamics trajectories; and Volume Viewer, for display and analysis of volumetric data.
`A discussion of the usage of Chimera in real-world situations is given, along with anticipated future directions. Chimera
`includes full user documentation, is free to academic and nonprofit users, and is available for Microsoft Windows,
`Linux, Apple Mac OS X, SGI IRIX, and HP Tru64 Unix from http://www.cgl.ucsf.edu/chimera/.
`
`© 2004 Wiley Periodicals, Inc.
`
`J Comput Chem 25: 1605–1612, 2004
`
`Key words: molecular graphics; extensibility; visualization; multiscale modeling; sequence alignment
`
`Introduction
`
`Since its inception, the UCSF Computer Graphics Laboratory has
`worked on molecular visualization systems to meet the needs of
`researchers in the field, beginning with MMS/MIDS1 in 1976 to
`our current offering, UCSF Chimera2 (henceforth “Chimera”).
`Chimera’s immediate predecessor, the Midas/MidasPlus system3
`(henceforth “Midas”), provided us with the insight that extensibil-
`ity should be considered critically important in the design of a
`visualization system.
`Midas was a highly successful molecular graphics system.
`However, it was relatively difficult for users to add new function-
`ality. The first extension mechanism introduced into Midas was the
`ability to send an annotated Protein Data Bank (PDB)4 file repre-
`senting the currently displayed scene to an external program.5 This
`was motivated by our desire to interface to rendering programs
`such as RASTER3D.6 Once this extension mechanism was avail-
`able, it became relatively easy to develop rendering “back ends” of
`our own, and soon thereafter we developed both a fast space-filling
`renderer with shadows, Conic,7 and a Jane Richardson-style8 rib-
`bon-depiction program with many capabilities, Ribbonjr. Further-
`more, outside developers exploited the mechanism in ways that we
`
`had not anticipated. Thomas Hynes (then with Genentech) wrote
`Neon, a program to allow Midas to depict shadowed ball-and-stick
`scenes. Neon acted as a filter between Midas and Conic, taking the
`PDB file output by Midas and producing another PDB file with an
`order of magnitude more atoms. Neon output contained larger-
`radius atoms for balls and series of many closely spaced, smaller-
`radius atoms to simulate sticks. To our surprise, Conic was able to
`process the Neon file quickly enough (seconds to minutes on
`computers of the day) to be usable. This whole Neon concept was
`something that would never have occurred to us, and opened our
`eyes to the power of an effective extension mechanism.
`A second extension mechanism was subsequently created to
`allow Midas to communicate on an ongoing basis with external
`programs. The Midas user could send commands to an external
`program and the external program could issue Midas commands to
`cause changes in the Midas session. Although this mechanism was
`also quite successful, it was ultimately constrained to the available
`Midas command set. The restrictions imposed by the original
`
`Correspondence to: T.E. Ferrin; e-mail: tef@cgl.ucsf.edu
`Contract/grant sponsor: NIH; contract/grant number: P41-RR01081
`
`© 2004 Wiley Periodicals, Inc.
`
`Page 1 of 8
`
`KELONIA EXHIBIT 1027
`
`
`
`1606
`
`Pettersen et al. (cid:127) Vol. 25, No. 13 (cid:127) Journal of Computational Chemistry
`
`The Chimera core consists of a C⫹⫹ layer that handles time-
`critical operations (e.g., graphics rendering) and a Python layer
`that handles all other functions. All significant C⫹⫹ data and
`functions are made accessible to the Python layer. Core capabili-
`ties include molecular file input/output, molecular surface gener-
`ation using the MSMS algorithm,14 and aspects of graphical dis-
`play such as wire-frame, ball-and-stick,
`ribbon, and sphere
`representations, transparency control, near and far clipping planes,
`and lenses (screen areas with different display attributes; see
`Fig. 1).
`Another core service is maintenance and display of the current
`selection. Users may select parts of structures by picking with the
`mouse, by making menu choices (e.g., aromatic rings), or via
`certain extension actions. The selected structure areas are high-
`lighted with a particular color or a colored outline. Extensions can
`query for the contents of the selection. Many menu actions (such
`as coloring or setting the display style) work on the current
`selection.
`
`Figure 2. Bluetongue virus core particle (PDB identifier 2btv16) with
`double-stranded RNA attached to the surface (1h1k17) (top). Trimers
`in the outer protein layer that are equivalent under the icosahedral
`symmetry are given the same color. The free end of the RNA attaches
`to other viral particles in the crystal. A closeup of the inner layer
`(bottom) shows ball-and-stick and ribbon models and a surface at
`higher resolution.
`
`Figure 1. A single frame of a molecular dynamics trajectory of a
`buckytube in water, shown with the Movie extension. A “lens” has
`been placed over the center of the tube to strip away the surface and
`reveal the hydrogen-bonded chain of waters passing through the tube.
`The trajectory was computed with polarizable molecular dynamics
`using the Amber 826 Sander module (J. Caldwell, UCSF, unpublished
`data).
`
`Midas design were proving problematic, and we were motivated to
`create a new system with greater extensibility.
`Chimera was designed with extensibility as a primary goal. We
`also wanted Chimera to be portable to a wide variety of platforms,
`and to include state-of-the-art graphics capabilities such as trans-
`parency and interactive ball-and-stick, space-filling, ribbon, and
`solid surface representations. Another design goal was to make
`Chimera accessible to users at all skill levels by providing both a
`graphical menu/window interface and a command-line interface.
`
`Chimera Architecture
`
`Chimera’s primary programming language is Python.9 Impor-
`tantly, Python is an interpreted, object-oriented programming lan-
`guage that is also easy to learn and very readable. Because Python
`is interpreted, it is good for rapid development and debugging.
`Readability is important for a team development project
`like
`Chimera, and an easy-to-learn language enables others to develop
`extensions without undue effort. Chimera includes the Python-
`standard IDLE interactive development environment10 to help
`diagnose problems during extension development.
`Chimera is divided into a core and extensions. The core pro-
`vides basic services and molecular graphics capabilities. All higher
`level functionality is provided through extensions. This design,
`with the bulk of Chimera functions provided by extensions, en-
`sures that the extension mechanism is robust enough to handle the
`needs of outside researchers wanting to extend Chimera in novel
`ways. Extensions can be integrated into the Chimera menu system,
`and can present a separate graphical user interface as needed using
`the Tkinter,11 Tix,12 and/or Pmw13 toolkits.
`
`Page 2 of 8
`
`
`
`UCSF Chimera
`
`1607
`
`The core also maintains a trigger mechanism wherein changes
`to core data structures or state are reported to extensions that have
`registered callbacks with the corresponding trigger. For example,
`there is a “selection changed” trigger that fires whenever the
`current selection changes.
`Extensions are written either entirely in Python or in a combi-
`nation of Python and C/C⫹⫹ (the latter using a shared library
`loaded at runtime). Extensions can be placed in the Chimera
`installation directory (which would make the extension available
`to all users) or in the user’s own file area. Extensions are loaded on
`demand, typically when the user accesses a menu entry that starts
`the extension. The class structure of molecular data and other
`extension programming information can be found at http://www.
`cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/.
`We demonstrate Chimera’s extensibility by presenting several
`extensions. The Multiscale and Collaboratory extensions are quite
`unique, and demonstrate the wide spectrum of abilities that can be
`generated. The others provide insight into the use of core facilities
`by extensions and the integration of extensions with the Chimera
`environment.
`
`Multiscale
`
`The Multiscale extension adds capabilities for interactively explor-
`ing large molecular assemblies. We have focused on viral struc-
`tures, condensed chromosomes, and ribosomes; additional exam-
`ples include cytoskeletal fibers and motors, flagellar structures, and
`chaperonins. The Multiscale extension displays structures from the
`PDB4 and generates their multimeric forms by using transforma-
`tion matrices to position the subunits. Multiscale can also be used
`with large assemblies where there are no repeated subunits. PDB
`chains can be displayed as low-resolution surfaces, or in any of the
`standard molecular representations available in Chimera. Multi-
`scale permits biologically meaningful levels of quaternary struc-
`ture to be defined. The abilities to build multimeric forms, display
`low-resolution representations, and define levels of structure are
`important for interactively exploring large complexes.
`Multiscale uses Chimera’s core molecular display abilities, data
`structures, file reading, and selection management, and the Volume
`Viewer extension for surface calculation and rendering. This
`ready-to-use infrastructure allowed us to focus on the new capa-
`bilities needed for displaying complexes.
`Most of the available atomic-resolution viral structures are
`icosahedral particles with 60-fold symmetry. PDB files provide
`atomic coordinates for only one subunit. To build a multimeric
`model, subunits are positioned using rotation/translation matrices
`read from the PDB file header. PDB “REMARK 350” records give
`matrices that can be used to generate the biological oligomeriza-
`tion state. Crystallographic (SMTRY records) and noncrystallo-
`graphic symmetry (MTRIX records) matrices or matrices inferred
`from the space group (CRYST1 record) of crystal structures can
`also be used. Multiscale’s visualization capabilities have revealed
`shortcomings in the matrix information for many large-scale struc-
`ture entries that otherwise would have been difficult to detect. We
`are working with the PDB to find and correct these entries.
`For efficiency, the Multiscale extension only loads atomic
`coordinates for subunits when they are needed. When a model is
`first displayed, only a low-resolution surface representation is
`
`shown, so no additional copies of the coordinates need to be
`loaded. Chimera’s atomic and residue-level display styles are also
`available, but are typically used for only a small number of
`subunits so that the amount of detail depicted does not overwhelm
`the user. The Multiscale extension does not use the high-resolution
`molecular surfaces that are a core feature of Chimera. Such sur-
`faces would render too slowly for a large multimer and provide too
`high a level of detail to best illustrate the organization of subunits.
`The Multiscale extension was originally written entirely in
`Python. To speed up the surface calculation, certain critical rou-
`tines were rewritten in C⫹⫹. Converting these routines from
`interpreted Python to compiled C⫹⫹ made them run about 50
`times faster. Translation is generally straightforward because Py-
`thon objects such as molecules, atoms, and lists have equivalent
`C⫹⫹ objects. Rendering the surface with OpenGL,15 another
`time-critical step, uses the C⫹⫹ module in the Volume Viewer
`extension.
`Subunits can be selected with the mouse. To simplify selecting
`larger pieces of a structure, new structure levels can be defined
`hierarchically. For example, the bluetongue virus core particle16
`has two protein layers, the outer layer being composed of 260
`trimers (Fig. 2). For this structure, it is useful to define inner and
`outer layers and trimers as structural levels. After an individual
`outer layer monomer is selected, the selection can then be pro-
`moted to the containing trimer, and subsequently promoted to the
`whole layer of trimers. The whole outer layer can then be hidden
`if the object of interest is the inner protein layer. Besides being
`promoted, a selection can be extended to all identical copies of the
`currently selected subunits. It is also possible to select just the
`subunits for which atomic information has been loaded.
`Structure levels can be specified in a Python script. Structural
`hierarchies are sometimes described in text in the headers of PDB
`files. The mmCIF file format available from the PDB4 has a limited
`ability to describe such higher levels of structure in a computer-
`readable form, but few submitted data sets provide this informa-
`tion.
`For multimeric structures, investigations are often facilitated by
`the presence of more than one copy of the asymmetric unit. The
`bluetongue virus structure16,17 illustrates how working with the
`full viral shell can aid analysis. The crystallographic data used to
`determine the capsid structure revealed viral double-stranded RNA
`stuck to the outside of the particles17 (Fig. 2). To investigate the
`specific atomic contacts between the RNA and virus, it is helpful
`to locate the several subunits of the icosahedral particle adjacent to
`the RNA by inspecting the full particle. These can then be exam-
`ined using an all-atom display to determine the contacts account-
`ing for the stickiness of the capsid.
`The Multiscale extension is intended for problems where both
`large-scale and atomic-scale details are relevant. The tools needed
`to explore models with many levels of structure and large numbers
`of atoms are necessarily complex; the Chimera Multiscale exten-
`sion has addressed only the most immediate needs. We anticipate
`increasing its capabilities significantly in future releases.
`
`Multalign Viewer
`
`The Multalign Viewer extension allows Chimera to display se-
`quence alignments together with associated structures (Fig. 3).
`
`Page 3 of 8
`
`
`
`1608
`
`Pettersen et al. (cid:127) Vol. 25, No. 13 (cid:127) Journal of Computational Chemistry
`
`Once associations have been set up, many useful features
`become active. Positioning the mouse over a sequence character
`shows the number of the corresponding residue (in the structure) in
`a status area. Making selections on the structures highlights the
`corresponding regions of the sequence alignment. Dragging boxes
`on the sequence alignment selects and highlights the correspond-
`ing structure regions. Structure regions can be selected based on
`conservation in the alignment, greatly facilitating coloring by
`conservation level or showing only conserved side chains. Sec-
`ondary structure elements can be depicted on the alignment with
`colored boxes. Clicking on residues in the sequence makes the
`Chimera window zoom in on the corresponding structure residues.
`Structures can be superimposed using the sequence alignment,
`optionally using only highly conserved residues, and also option-
`ally, iteratively refining the fit by pruning poorly superimposed
`residues.
`An alignment can be searched with a literal string or a PROS-
`ITE21 pattern. Matches are highlighted on the alignment, and can
`also be highlighted on associated structures.
`Other extensions can call Multalign Viewer to show align-
`ments. For example, the SSD (Structure Superposition Database)22
`extension uses Multalign Viewer to show sequence alignments
`corresponding to structural alignments of interest.
`Multalign Viewer is under active development. Important
`short-term goals are to provide more sophisticated editing facilities
`and to display and interact with phylogenetic information.
`
`ViewDock
`
`The ViewDock extension facilitates interactive screening of ligand
`orientations from DOCK.23,24 DOCK calculates possible binding
`orientations given the structures of ligand and receptor molecules;
`often, a large database of compounds is searched against a target
`protein, where each compound is treated as a ligand and the target
`is treated as the receptor. Simple scoring methods are used to
`identify the most favorable binding modes of a given molecule and
`then to rank the molecules. The output consists of a large number
`of candidate ligands in the binding orientations considered most
`favorable by DOCK.
`
`Figure 4. The ViewDock interface lists docked molecules; clicking
`on a line displays just the corresponding molecule and shows its
`information in the lower part of the panel. Ribose monophosphate is
`shown docked to H-Ras (121p48). Carbon atoms are light gray, oxygen
`atoms are red, nitrogen atoms are blue, and phosphorus atoms are
`cyan. Hydrogens are not shown. Potential hydrogen bonds are indi-
`cated with yellow lines.
`
`Figure 3. Three structures in Chimera associated with sequences in an
`alignment shown by Multalign Viewer. The sequences with color
`swatches behind their names are associated with the pectate lyase struc-
`tures 1jta,45 1bn8,46 and 2pec47 (shown in yellow, magenta, and cyan,
`respectively). The structures were superimposed using the sequence align-
`ment; the fits were refined by iteratively removing bad residue pairings.
`The sequences are colored by secondary structure (strand and helix
`regions are pink and gold, respectively) and selected structure regions are
`green (indicated on the structures with a green outline). Chimera’s zone
`selection method was used to select all residues within 3.6 Å of the
`active-site metal ion in one of the structures.
`
`Multalign Viewer can read and write sequence alignments in a
`formats (currently Clustal18 ALN,
`wide variety of popular
`“aligned” FASTA, GCG MSF, GCG RSF, “aligned” NBRF/PIR,
`and Stockholm).
`Multalign Viewer facilitates analysis of alignments in the con-
`text of structural information and vice versa. First, structures in
`Chimera must be associated with their corresponding sequences in
`an alignment. When Multalign Viewer opens an alignment, it
`examines the structures currently open in Chimera and checks each
`chain for high sequence identity with an alignment sequence.
`Chains with high identity are associated with the best-matching
`sequence (however, only one chain per structure is associated with
`a sequence). Multalign Viewer registers with the Chimera core’s
`“model opened” trigger so that as new structures are opened, they
`will also be examined and associated if appropriate. Conversely, if
`the alignment sequence names are recognizable as including
`SCOP19,20 or PDB4 identifiers using a few simple criteria, the
`researcher can use a Multalign Viewer menu item or preference
`setting to load all of the corresponding structures into Chimera.
`This was easy to implement, because the Chimera core offers
`functions for opening PDB/SCOP files based on their identifiers,
`and will retrieve them via the World Wide Web or local disk as
`appropriate. If Multalign Viewer fails to make an appropriate
`automatic association between a sequence and structure, it can be
`manually directed to make the association. Associations are indi-
`cated by showing the color of the associated model behind the
`name of the sequence (Fig. 3).
`
`Page 4 of 8
`
`
`
`UCSF Chimera
`
`1609
`
`ViewDock reads the DOCK output and provides a convenient
`interface for filtering results in the context of the target structure.
`When a line in the list of compounds is clicked, just the corre-
`sponding molecule is shown in the putative binding site, and its
`information is shown in the lower part of the panel (Fig. 4). The
`information may include compound name, description, and various
`scores and score components. Any of the descriptors can be shown
`in the list and/or used to sort it. It is also possible to view more than
`one docked molecule at a time.
`Compounds can be deleted from the list if visual inspection
`reveals them to be unsuitable. Compounds can also be screened by
`the number of hydrogen bonds formed with the target structure and
`by whether or not the hydrogen bonds involve specified groups in
`the site. Hydrogen-bond detection uses a set of detailed distance
`and angle criteria from a published small-molecule crystal sur-
`vey25 and is an extension-provided capability of Chimera.
`
`Movie
`
`The Movie extension allows Chimera to show molecular dynamics
`trajectories. The trajectories may be played forward or backward,
`either a single frame at a time or continuously. All generic Chi-
`mera capabilities such as coloring, hydrogen-bond detection,
`lenses (Fig. 1), and saving PDB files are available for use with the
`trajectory. Movie explicitly supports execution of a script (Python
`or Chimera commands) at each frame. This makes it easy (for
`example) to save images for later assembly into a QuickTime or
`MPEG video.
`Movie currently supports all versions of AMBER26 trajectory
`files, and support for GROMOS27 and NAMD28 formats is in
`progress.
`
`Volume Viewer
`
`The Volume Viewer extension displays three-dimensional (3D)
`grid data such as density maps from electron microscope recon-
`structions or X-ray crystallography, calculated electrostatic poten-
`tial, and solvent occupancy from molecular dynamics simulations.
`It reads several file formats (CCP429 or MRC, BRIX or DSN6,30
`CNS31 or XPLOR,32 SPIDER,33 DelPhi34 or GRASP35 potential
`maps, PRIISM,36 NetCDF,37,38 and DOCK23 scoring grids), dis-
`plays isosurfaces, meshes, and translucent solids, and allows in-
`teractive adjustment of thresholds, transparency, and brightness.
`Volume data is often displayed with related molecular models.
`The display is automatically updated when settings are
`changed. For example, dragging a threshold indicator shown on a
`histogram of data values updates the displayed surface or mesh.
`For large data sets, subsampling can be used to improve the
`response time when the display is rotated or a threshold is changed.
`Subsampling with step size 2 renders the data after omitting every
`other data plane along each axis. Data sets of 256 by 256 by 256
`values can be displayed with a new threshold once a second or
`rotated at 10 frames per second on generic desktop PC hardware
`equipped with a mid-range graphics adapter. A subregion of the
`data can be chosen by dragging a box with the mouse and then
`shown instead of the whole data set. Subregions can be named so
`that it is easy to return to them in later sessions.
`
`The Volume Path Tracer extension allows marker placement
`and path tracing in grid data. Markers are placed by mouse-click;
`the marker is positioned on the closest visible data maximum along
`the line of sight under the cursor. Markers can be moved after they
`are placed. Consecutively placed markers can be linked with
`segments to trace a path. Additional connections can be added with
`the mouse to build simple structural models. Volume Path Tracer
`was developed to trace protein backbones in intermediate-resolu-
`tion (5– 8 Å) density maps from electron cryo-microscopy (Fig. 5)
`and fluorescently labeled chromosomes in 3D multiwavelength
`light microscopy data (Fig. 6).
`Markers and associated connecting segments are implemented
`using the same mechanism as atoms and bonds. Thus, display
`styles and colors can be changed in the same way as for atoms and
`bonds, distances between pairs of markers and between markers
`and molecular structures can be measured, and traced structures
`can be aligned using Chimera’s molecule manipulation capabili-
`ties. Traced paths can be displayed as smoothly interpolated curves
`(Fig. 6). Markers and connecting segments can be saved in an
`XML39 file for analysis by other software.
`
`Collaboratory
`
`Chimera’s Collaboratory extension enables researchers at geo-
`graphically distant locations to share a molecular modeling session
`in real time. By default, all users connected to the same session
`have equal control over the models (structures) being viewed. A
`change made by any participant is immediately propagated to all
`other participants, so that a synchronized view of the data is
`maintained throughout a session.
`Because of the complex 3D nature of molecular models, inter-
`active examination of models in a real-time collaborative environ-
`ment is far more effective than traditional asynchronous forms of
`communication, such as passing molecular data back and forth
`through e-mail. A crucial element of real-time collaboration soft-
`ware is the efficient transfer of information. Not only must the
`software ensure that information is transmitted rapidly, it must also
`consider the availability of network resources, such as bandwidth,
`and transmit information in an efficient format so that the appli-
`cation can run in parallel with other bandwidth-heavy applications
`such as videoconferencing software. Given these considerations,
`application-independent collaboration tools are not as responsive
`for sharing molecular modeling sessions. Such desktop-sharing
`applications (e.g., Microsoft NetMeeting and Virtual Network
`Computing40) function by transmitting the contents of the screen
`from the workstation running the application to all who are sharing
`it. This can be bandwidth-intensive, especially for molecular
`graphics, where most operations alter a large amount of screen
`content. Instead, the Collaboratory works on a lower level, by
`transmitting small messages describing just the data that has been
`modified.
`The Collaboratory utilizes a star architecture, with a central hub
`connected to multiple nodes. Each node is a user running Chimera,
`while the hub is a separately running application that acts as a
`rendezvous point between the nodes. Participants’ instances of
`Chimera are notified when a model has been opened, closed, or
`modified. A data file need only be present on the system of the
`participant who opens the file in Chimera. Parameters monitored
`
`Page 5 of 8
`
`
`
`1610
`
`Pettersen et al. (cid:127) Vol. 25, No. 13 (cid:127) Journal of Computational Chemistry
`
`used productively with three participants in a session, and in a test
`situation has been able to accommodate up to 10 users. In practice,
`human factors tend to limit the size of a useful collaboration.
`Interpersonal communication can be difficult when subtle visual
`cues such as body language and eye contact are missing, as is often
`the case with videoconferencing. However, when used in a sensi-
`ble collaborative setting (i.e., efficient voice/video transmission, a
`reasonable number of participants), the Chimera Collaboratory and
`its rich set of features help to alleviate these issues.
`
`Results
`
`Chimera is freely available to academic and nonprofit research-
`ers from http://www.cgl.ucsf.edu/chimera/, and can be licensed
`by commercial institutions for a fee. Extensions to Chimera
`developed by outside researchers can be redistributed freely.
`Since Chimera’s first public release in March 2000, downloads
`of Chimera have steadily increased, amounting to approxi-
`mately 1000 per month at this writing and totaling more than
`12,000. (Multiple downloads to the same IP address for the
`same OS platform in a single 24-h period are counted as a single
`download.)
`As stated earlier, portability has been one of the primary design
`goals of Chimera. Our implementation, based on many widely
`available standards such as OpenGL,15 has proven to be quite
`portable, and there are Chimera distributions for Microsoft Win-
`
`Figure 6. Fluorescently labeled Drosophila chromosome imaged by
`wide-field deconvolution microscopy (M. Lowenstein and J. Sedat,
`UCSF, unpublished data). Three fluorophores were used to label
`specific segments of chromosome 2L. Two homologous copies of the
`chromosome are shown. The cyan isosurface is the nuclear envelope.
`The individual fluorescent spots have been marked with the Volume
`Path Tracer extension and paths connecting the markers are shown as
`smooth tubes. Traced structures from many cells can be clustered to
`study structural patterns of chromosome organization in the nucleus.
`
`Figure 5. Density map for rice dwarf virus P8 capsid protein shown
`as a mesh (left). The map was obtained by electron cryo-microscopy
`and has 6.8-Å resolution.49 Computationally identified alpha helices
`are shown as cylinders50 and the connecting turns have been hand
`traced using Chimera’s Volume Path Tracer. On the right is a crystal
`structure of the distantly related bluetongue virus capsid protein
`(1bvp51).
`
`for changes include display (color, molecular representation) and
`spatial properties such as position and orientation. Change tracking
`is accomplished using the Chimera core’s trigger mechanism.
`CORBA (Common Object Request Broker Architecture)41 mes-
`sages are used to relay information; they are platform- and lan-
`guage-independent, allowing the Collaboratory to work on a va-
`riety of systems.
`The person who starts the hub acts as the session administrator.
`The administrator can specify a password that others must supply
`to join the session. The administrator can also obtain information
`about current participants (such as username and total time con-
`nected), close the session to new participants, and control whether
`each user can affect the state of the session. Participants can join
`the session at any time; when they sign in, their local instances of
`Chimera will be updated to reflect the global state of the session.
`Participants can leave the collaborative session at any time and
`continue their modeling sessions in an isolated setting.
`Several features facilitate remote collaboration. A participant
`can display the position of his pointer on collaborators’ screens to
`draw attention to a region of interest. Although users are expected
`to communicate primarily by telephone or an independent video-
`conferencing application,
`the Collaboratory provides a “chat”
`mechanism for passing text messages. This can be especially
`useful for transferring URLs or sequence information. Users can
`also view other participants’ commands as they are entered and see
`who is actively manipulating the models.
`The star architecture scales well because each node has knowl-
`edge of only the hub, not other nodes. The Collaboratory has been
`
`Page 6 of 8
`
`
`
`UCSF Chimera
`
`1611
`
`dows XP/NT/2000/98, Linux, Apple Mac OS X, SGI IRIX, and
`HP Tru64 Unix.
`The graphical menu/window and command-line interfaces pro-
`vide rich and overlapping sets of functionality, which will continue
`to grow as Chimera is developed. Detailed user documentation is
`included with the program.
`Our goal of enabling others to extend Chimera has enjoyed
`increasing success as the use of Chimera has become more wide-
`spread. Currently, extensions written and/or distributed by others
`include: SSD, which extends Chimera for use with the Structure
`Superposition Database22 (a Web-accessible resource); ViewFea-
`ture,42 which allows Chimera to show results from FEATURE,43
`a program for predicting metal-binding or active sites in biomol-
`ecules; and EMANimator (S. Ludtke, Baylor College of Medicine,
`unpublished), which makes it easy to create animation sequences
`in Chimera and save them as MPEG files. In addition, Chimera is
`supported as a display application for sequence and structure
`information by the Web-accessible databases ModBase44 and the
`Structure Function Linkage Database (Babbitt laboratory, UCSF).
`
`Discussion
`
`Chimera has been designed to facilitate the addition of new func-
`tionality. In particular, nearly all concepts, for example, atoms,
`bonds, and molecules, are represented as Python objects, which
`means they can take advantage of the object-oriented nature of
`Python. The downside of making everything into Python objects is
`a performance penalty, both in speed and in memory usage. We
`decided to favor programmability over performance. Whereas
`performance deficiencies can be addressed transparently to end
`users by algorithmic changes and hardware improvem