Newsletter contents... UP


Developments with CCP4i: October 2002

Peter Briggs, Pryank Patel, Alun Ashton, Charles Ballard, Liz Potterton*, Maria Turkenburg*, Martyn Winn

CCP4, Daresbury Laboratory, Warrington WA4 4AD, UK
*Structural Biology Laboratory, Department of Chemistry, University of York Y010 5YW, UK


Introduction

CCP4i is the CCP4 graphical user interface. The last officially released version of the interface was 1.3.8, included as part of CCP4 4.2.1. This article outlines the major changes in 1.3.8 against the previous version of CCP4i, and looks ahead to some of the future developments planned for the next release and beyond.

Changes in CCP4i 1.3.8

Many of the new and updated features in the current version of CCP4i were previewed in the previous newsletter (issue 40 March 2002). As well as a number of relatively minor changes to fix bugs and consolidate earlier changes, there were a number of new and updated task interfaces, reflecting changes and additions to the suite in release 4.2.

New Interfaces

These include interfaces for CCP4 programs ANISOANL, TLSANL and OASIS, as well as interfaces for the major new programs in 4.2: ACORN (ab initio procedure for the determination of protein structure at atomic resolution), BEAST (maximum-likelihood molecular replacement program), PROFESSS (determination of NCS operators from heavy atom substructure) and ROTAMER (comparison of atomic coordinates against Richardson's Penultimate Rotamer Library).

In addition, the GET_PROT interface (now renamed SAPHIRE) is a CCP4i-only application which allows the user to download and edit protein sequence files accessed either from the EBI or from a local file. An interface for WHAT_CHECK (the subset of protein verification tools from the WHAT IF program) is also included although the program itself is not yet distributed with the CCP4 suite. (See http://www.cmbi.kun.nl/whatif/ for more information on WHAT IF.)

Major changes have been made to the SCALA interface, to accommodate changes in the handling of datasets. A number of other minor changes have been made to existing interfaces in an attempt to improve ease of use, for example the Scalepack2mtz and Dtrek2mtz tasks have been combined into a single task interface to import scaled data. Also there has been some reorganisation of the tasks and modules menus (for example the addition of a ``Validation and Deposition'' module) to improve access to relevant tasks at various stages of the structure solution process.

New and Updated Utilities

MapSlicer

MapSlicer offers interactive display of contoured 2D sections through CCP4-format density maps. MapSlicer has been significantly improved between CCP4 4.1 and 4.2 (including a substantial redesign of its own user interface) and is now built as a standard part of the default for many platforms. As well as allowing the user to flip between different sections and map axes, the program also allows the display of ``slabs'' of multiple sections, and the ability to go directly to Harker sections.

Although not strictly CCP4i, MapSlicer uses many components from the interface and so maintains a similiar ``look and feel''. Also, it is now possible for the user to set their preferences to make MapSlicer the default viewer for maps when accessed via the ``View Files from Job'' menu on the main CCP4i window.


Figure 1: screenshot of MapSlicer

The range of features offered by MapSlicer is still relatively modest, for example displays are still only black and white. A number of possible improvements are envisaged, including a built in peaksearch algorithm, and display of coordinates - for example heavy atom positions or peaks corresponding to calculated Harker vectors.

AstexViewer

AstexViewer is a Java application written by Mike Hartshorn to display density maps and protein-ligand complexes. One way of using the viewer is to embed it as an applet in a webpage and then view it using your favourite browser. CCP4i now includes a task interface which will generate these pages automatically and launch a browser to view them.


Figure 2: gif output from the AstexViewer, showing a protein structure inside a density map

Task Installer

The Task Installer utility for installing new task interfaces has been substantially upgraded, and aims to provide a robust mechanism for installing and tracking ``third-party'' interfaces - that is, interfaces provided for non-CCP4 software by the authors of that software. An example of this is the CCP4i interface for ARP/wARP, written by Tassos Perrakis and distributed with the latest version of the ARP/wARP suite (version 6.0 - see http://www.arp-warp.org for more details).

For users, the new utility offers options to install, review and uninstall these interfaces quickly and easily. New interfaces can also be installed either ``locally'' (so only the person installing the task can use it) or ``publically'' (so the new task is available to all users on the system).

For developers there is a simple mechanism for version control and options to run external scripts to perform checks on the system before installing the task. It is also possible to access the ``install'' and ``uninstaller'' functions from the command line, via the ccp4ish -install and ccp4ish -uninstall options, which allows it to be incorporated into Makefiles or installation scripts for other packages.

The task installer can be accessed from the main CCP4i window via the ``System Administration->Install Tasks'' option.


Figure 3: screenshot of the Task Installer interface

Automating Tasks

Two trial initiatives for automating tasks within CCP4i are included in 1.3.8, both of which involve passing information via XML files.

In both these examples it would also have been possible to pass the same information using other mechanisms, for example by processing the log files directly using a variant on ``grep'' and other Unix-type cutting-and-sorting tools. However such methods are usually overly-complicated and prone to being easily broken by even small changes to log file formats. In contrast XML parameter passing is far simpler, more robust and easily extensible.

Core Documentation

As of CCP4i 1.3.8 the interface source code includes inline ``doc-comments'', which are extracted and turned into html documentation of the code. Both the commented code and the extracted documentation are included in the current release, and will be useful for any programmers wishing to make CCP4i work more easily with their programs.

Future Developments

A number of longer-term projects are also envisaged:

Acknowledgements

CCP4i was originally developed by Liz Potterton, and Liz contributed the in-line documentation and the python run script functionality.

Pryank Patel is developing the GET_PROT/SAPHIRE application and the Data Harvesting Management tool. The BEAST interface was developed by Anne Baker with contributions from Peter Briggs. The ACORN and WHAT_CHECK interfaces were developed by Maria Turkenburg with the assistance of others including Yao Jia-xing, Eleanor Dodson, Gert Vriend, Liz Potterton and Peter Briggs. Other new interfaces were developed by Peter Briggs and Martyn Winn.

The automation projects were implemented by Martyn Winn, Alun Ashton and Peter Briggs.

Peter Briggs is responsible for the MapSlicer, Task Installer, MTZ Viewer and Project History Database developments. CCP4i is now maintained and developed by the DL CCP4 staff and other fixes and developments are due to them. Please send questions, requests and bug reports to us at ccp4@ccp4.ac.uk.


Newsletter contents... UP