the newsletter of
collaborative
computational project 1

The CCP1 GUI

Paul Sherwood, Huub van Dam and Jens Thomas

Within the commercial software sector, a number of powerful GUIs exist, but these are tied to particular programs and are not designed to facilitate interoperability. In fact, in the commercial sector the quality of the interface is often the differentiator between different software providers. In contrast the academic community, as exemplified by CCP1, has a focus on scientific software and GUI development has been a low priority.

In our case, the use of an open source model ensures that distribution with any other software (for profit or otherwise) is possible and thereby encourages participation by the whole community. The current software has the status of a usable prototype which is written in Python. The visualisation is provided by the open source VTK library and a number of other Python modules, such as Tkinter. Once these tools are installed the GUI should run in any modern environment.

Our GUI development has the following characteristics:

  • The nature of the target user base (quantum chemists) has led to an emphasis on internal coordinate representations and model building capabilities as well as conventional Cartesian-coordinate based tools.
  • Use of a powerful open visualisation system, VTK, offers the possibility to extend the visualisation tools as visualisation technology develops (e.g. volumetric analysis, vector fields etc, as shown below in Figure 3).
  • The object oriented nature of the interface and modular construction allows new code interfaces to be built readily, but also allows components of the GUI to be incorporated into other Python-based projects.
  • Use of the scripting framework allows for easy extensibility by the expert user without recompilation We have chosen to work with open source components, and to adopt an open source licence (Currently the BSD licence). This will allow free distribution of all required packages and maximise the chance that other developer groups, such as developers of the other codes used by the CCP1 community will be able to adopt it as their main interface and distribute it with their codes.

Functionality

The program contains a simple molecule builder which allows construction of molecules using internal (z-matrix) coordinates as well as customary point-and-click editing. This tools is quite well suited for embedded cluster (QM/MM) calculations as it is possible to build up a reacting centre in z-matrix coordinates from an active site in a matrix defined in cartesian coordinates (Figure 1).

Figure 1 Constructing a model for a reaction at a zeolite acid site using the Z-matrix builder.

It is then possible to open input editors which assist in the preparation of input datasets for a number of codes, at present primarily GAMESS-UK. An interface to QM/MM modelling within the ChemShell package is also being developed, which will allow the preparation of clusters for the modelling of periodic materials.

Figure 2. The GAMESS-UK Calculation editor is based on a notebook widget

A variety of standard post-analysis options are available, including optimised geometries, animation of vibrational frequencies, plotting of densities, orbitals and electrostatic potentials. One of the most popular ways to represent the electrostatic potential is to display it as a colour map on an isodensity surface (Figure 3).

Figure 3 Visualisation of electrostatic potential on an isodensity surface

Advanced Visualisation Capabilities

The use of VTK opens up a range of advanced visualisation techniques. One area we have started to explore is that of vector visualisation, a tool which can be used to represent the electric field and also, for those using Baders AIM approach, topological features of the charge density. Volume visualisation, which will probably be most familiar from CAT and ultrasound scan images, is also supported (see Figure 4).

(a)                                              (b)

Figure 4 (a) Visualising the electric field around the TNT molecule. (b) vector and volume visuation, electric field and potential around water.

Grid Functionality

Remote job submission onto HPCx has been demonstrated using ssh (PPK authentication) in preparation for grid enabling, and we have also started work on using Condor pools. We anticipate adding Globus support next year.

Outlook

We plan to ship the GUI with the next release of GAMESS-UK, early in the New Year.

The GUI has recently featured in GAMESS-UK training events and in the most recent of these (Linkoping, October 2004) we initiated collaboration with the Dalton developer community in which they will adapt the GUI to support Dalton. This will advance the principal goal of the project, i.e. to provide support for a range of academic quantum chemistry packages and will simplify the interfacing of new codes, e.g. MOLPRO which are planned for the coming year.

Further Information

See the GUI web page for more information and download instructions.
previous contents forward
design by CCP1, December 2004