PyMOL is one lone scientist's answer to the frustration he encountered with existing visualization and modeling software as a practicing computational scientist.
Anyone who has studied the remarkable complexity of a macromolecular structure will likely agree that visualization is essential to understanding structural biology. Nevertheless, most researchers who use visualization packages ultimately run up against limitations inherent in them which make it difficult or impossible to get exactly what you need. Such limitations in a closed-source commercial software package cannot be easily surmounted, and the same is still true for free programs which aren't available in source form.
Only open-source software allows you to surmount problems by directly changing and enhancing the way software operates, and it places virtually no restrictions on your power and opportunity to innovate. For these reasons, we believe that open-source software is an intrinsically superior research product and will provide greatest benefit to computer-assisted scientific research over the long term.
Launched over Christmas break in December 1999, PyMOL was originally designed to: (1) visualize multiple conformations of a single structure [trajectories or docked ligand ensembles] (2) interface with external programs, (3) provide professional strength graphics under both Windows and Unix, (4) prepare publication quality images, and (5) fit into a tight budget. All of these goals have since been realized. Although PyMOL is far from perfect and lacks such desirable features such as a general "undo" capacity, it now has many useful capabilities for the practicing research scientist. We hope that you will find PyMOL to be a valuable tool for your work, and we encourage you to let us know what ideas you have for making it even better.
About the Manual: This version of the manual has been updated for PyMOL version 0.86 (January 2003) but is still quite rough. Prepare yourself for omissions, errors, and potentially obsolete information. Make an informed decision to use the PyMOL manual at your own risk. Understand that thiss same caution applies to the program as a whole -- you shouldn't be using PyMOL if you aren't willing to troubleshoot problems and take the initiative on the mailing list in order to discover solutions.
About the program: PyMOL was created in an efficient but highly pragmatic manner, with heavy emphasis on delivering powerful features to end users. Expediency has almost always taken precedence over elegance, and adherence to established software development practices is inconsistent. PyMOL is about getting the job done now, as fast as possible, by whatever means were available. PyMOL succeeds in meeting important needs today, but we view it as merely an initial step in a promising direction.
In time, we hope that we and others will follow by creating PyMOL-like software platforms which meet the needs of users but also provides the design rigor and code quality necessary to enable broad participation of outside developers. Though PyMOL will undoubtably continue to expand and improve over the next decade, we expectd that its long term impact will primarily be to inspire other development efforts having more time and resources, and which will undoubtable achieve greater heights.
That isn't to say that you can't find good things about PyMOL's internal design. Indeed, we believe that there are many successful and instructive aspects to the program. However, we just hope to appropriately calibrate your expectations with respect to the code you will find if you with to "dive under to hood". Though the program is Open-Source, it is best thought of as a dense, semi-opaque tool, best extended through Python rather than as a C coding environment in which to embed new technologies.
This chapter last updated January 2004 by Warren L. DeLano, Ph.D.