Currently, the scripting language used is Tcl/Tk. However, we have used the Simplified Wrapper and Interface Generator (SWIG [44]) to automatically generate interfaces between the front and back ends. SWIG enables high performance computing by structuring the wrappers to pass by reference, and can create wrappers for use with Tcl/Tk, Python, Perl, Java, or Eiffel. We will also implement the MDAPI, a standard API for molecular dynamics [64], which will allow interactivity with MDAPI compliant programs, such as, in the near future, NAMD 2.
Future versions of PROTOMOL will include a web interface, which will provide different methods of controlling the front end. The user will have the options of either point-and-click features to load the input files from the collaboratory or to upload one's own data files; and either a limited set of point-and-click run-time configuration settings, or a fully customizable scripting language that allows for complete control over the run-time configuration. This web-based front end will interface with a database used to share and store input created by all users. The web-based front end will also be capable of accessing different areas of the database besides the simulation area. It will allow access to users' published results, annotated output files created by all users, and various resources made available through our research group, the Laboratory for Computational Life Sciences (LCLS) []. It will also interface the Protein Data Bank (PDB) [18], which stores information on the structure of molecules. The structure generation will be done by the front end also, simplifying the user interface. All these projects are under development and involve undergraduate students. Two of these are seriously considering to continue their graduate education in our group. This is an example of an effective link between research, development, and education. Next, we describe some of the collaboratory components in greater detail.
The database is a key component of the collaboratory. Micro Data Base Systems (MDBS) of Lafayette, Indiana, has given us a license to use a high performance database, TITANIUM (R) [112]. This will allow for easy access to the input and output files needed to run molecular dynamics simulations. The front end will be capable of querying the database for any sort of data, including publications, input files available in the local or PDB databases, or annotated output plots created by data produced from PROTOMOL. Since TITANIUM provides extensible querying capabilities, it will be able to handle a complex set of options entered from the web-based front end. Querying may include searching by simulation attributes, results, systems, or complicated searches for bioinformatics.
The eXtensible Markup Language (XML) [25,29,88] will be used as a standard method for describing the structure of our simulation data, allowing for interoperability across many platforms. Two specific applications of XML are already defined that will help us fit our molecular dynamics data into an XML format. One of these is the Chemical Markup Language (CML) [1], an application for chemists to interchange descriptions of molecules, formulas, and other chemical arcana. The second is the Molecular Dynamic Language (MoDL) [2], which provides simple constructs for simulation data from molecular dynamics.