The PHENIX graphical user interface
- Author(s): Moriarty, Nigel W.
- Grosse-Kunstleve, Ralf W.
- Sauter, Nicholas K.
- Adams, Paul D.
- et al.
PHENIX (Python-based Hierarchical Environment for Integrated Xtallography) is an object-orientated program written in Python and C++ for determining molecular structures from crystallographic data. This software is being developed as part of an international collaboration, funded by NIH and headed by the CCI group. Those currently involved are: Tom Terwilliger (Los Alamos National Laboratory), Randy Read (University of Cambridge, U.K.), Tom Ioerger and Jim Sacchettini (Texas A&M University). The Graphical User Interface (GUI) to PHENIX is designed as a stand-alone object-oriented package that interfaces with the core PHENIX program modules. This enables PHENIX to be used via the command line in situations where a graphical user interface is not required, but seamless used with the GUI when user interaction is required. The GUI is being developed concurrently with the PHENIX core. The GUI has the ability to build, save, load and modify strategies that automated the decision-making processes often performed when solving a molecular structure from the crystallographic data. A strategy is a network of tasks connected to perform a program goal. Each task is a modular entity that requires input and produces output. The outcome of a task determines the pathway through the network. Other features of the GUI include monitoring and controlled of computational jobs running on local or remote machines. Connections to remote machines use the secure shell (SSH) protocol and sensitive data such as passwords are encrypted. The history of completed strategies including the input parameters and results are also available to the user. Furthermore, a user can reload the exact strategy used in a previous calculation. This is useful so as to rerun a previous calculation with different input parameters. A central component of the PHENIX system is the Project Data Storage (PDS). For each project a user works on a PDS is created and used to store a complete history of the structure solution. The user can also browse the history and input/output objects contained within a PDS in a variety of ways. The structure of the PDS is similar to a file system providing a familiar experience for the user. In the future the information captured as jobs are run will be subject to data mining to determine the optimal strategies and parameters required to solve specific crystallographic problems. Many of the features of the PHENIX system are not specific to macromolecular crystallography. The graphical strategy manipulation interface provides a generic tool for visual programming that is based on the Python scripting language. This interface could be used to link together more traditional command-line software packages while still presenting the user with an integrated system. Alternatively, the graphical interface and other underlying tools could be used in other areas of structural biology such as single-particle cryo-electron microscopy, electron diffraction and NMR. The PHENIX system thus provides a framework for the integration of different experimental approaches to probing macromolecular structure.