Navigation Bar

chimera sculpture chi-me-ra or chi-mae-ra
[L chimaera, fr. Gk chimaira she-goat, chimera; akin to Gk cheimo-n winter - more at HIBERNATE]
1a: a fire-breathing she-monster in Greek mythology having a lion's head, a goat's body and a serpent's tail
1b: an imaginary monster compounded of incongruous parts
2: an illusion or fabrication of the mind; esp: an unrealizable dream (a fancy, a chimera in my brain, troubles me in my prayer -- John Donne)
3: an individual, organ, or part consisting of tissues of diverse genetic constitution and occurring esp. in plants at a graft union

Design Philosophy

Chimera is a new molecular graphics package developed by the UCSF Computer Graphics Laboratory as the next generation of MidasPlus. One of the primary features of Chimera is program extensibility. This emphasis is a direct result of the success of the MidasPlus delegate extension mechanism, which has shown that the ability to incorporate user-written programs greatly enhances the modeling environment.

Chimera has been designed to provide advanced molecular graphics capabilities while retaining the functionality currently available in MidasPlus. The package has been completely redesigned rather than built upon MidasPlus. Instead of combining the functionality into a single program, we selected a subset to form the core of Chimera and then implemented the rest as extensions. The three major groups of core function in Chimera are the graphical display, the user interface, and the extension mechanism.

User Interfaces

A graphical interface with menus and widgets affords easy access to many functions. Python is the "native" command language within Chimera, so the Python command line enables the user to directly access, use, and update internal data structures. We also recognized the importance of providing a transition path for current MidasPlus users. We developed the MidasPlus Command Interpreter, which understands the majority of MidasPlus commands and translates them into Chimera commands (in Python). Thus, it is easy for MidasPlus users to start using Chimera and later switch to the graphical interface or Python commands as desired. The MidasPlus Command Interpreter is implemented as an extension.

Extension Mechanisms

Extensions may be implemented in Python, which is a full-fledged programming language and has access to Chimera internal data structures. However, extensions may also be implemented as external programs; this is sometimes preferable due to performance considerations, programming language familiarity, or the need to interface to an existing application.

Chimera's user interface is customizable, so that extensions can be integrated into the existing interface (as part of the Chimera tool bar or pulldown menus). If desired, however, extensions can present their own user interface using Python's "Tkinter" module to the well-known Tcl/Tk toolkit. We have implemented several extensions for Chimera that present their own interaction windows using this approach.
