The last officially released version of the CCP4i graphical user interface was 1.2.7, which was included as part of CCP4 4.1, and since that release development of the interface project has continuted apace. This article outlines the changes that have happened so far, and the new features that people can expect to see in the next release.
CCP4i was originally developed by Liz Potterton, who worked on the project from its inception in 1997. Following the last release, Liz relinquished control of CCP4i in order to concentrate on the CCP4 Molecular Graphics project (see the CCP4 3D Molecular Graphics webpages). Long-term users of the interface will agree that the development of CCP4i is a great achievement, and we wish Liz every success with the new project.
As a result Liz's move, in April 2001 responsibility for the development of the graphical user interface passed to the Daresbury CCP4 group, with Peter Briggs as the new CCP4i project manager.
The symbolic move of CCP4i to DL was also accompanied by new CCP4i webpages, which can be accessed via the main CCP4 website or else directly at http://www.ccp4.ac.uk/ccp4i_main.php. This page contains lots of useful links - including information on problems with CCP4i. Suggestions, bug reports and other comments about CCP4i should now be sent to the standard CCP4 address at firstname.lastname@example.org.
As a part of handing over the reigns of the CCP4i project, in April Liz organised a one-day ``CCP4i Developers Workshop'' in York, with Liz and Peter acting as tutors. The aim of the workshop was to introduce programmers to the basics of writing task interfaces for CCP4i.
Notes from the workshop are available on the web, at http://www.ccp4.ac.uk/ccp4i/developers.html#workshop. Currently there are no plans to rerun the workshop, but this could change if there is sufficient interest - please let us know.
The next revision of CCP4i will be version 1.3, which will be included in the next release of the CCP4 suite sometime in early 2002. Many of the changes from 1.2.7 are relatively minor, basically fixing bugs and consolidating earlier changes. Also it has taken the Daresbury group a little while to get up to speed with the CCP4i project.
However there are still a number of significant developments planned for CCP4i 1.3, and these are detailed below.
Since March 2001, new interfaces have been released for the CCP4 programs ANISOANL, TLSANL, and OASIS. These interfaces will now officially be incorporated into CCP4i. A new interface is also planned for the accessible surface area program AREAIMOL.
In addition the major new programs planned for inclusion in CCP4 4.2 will have corresponding interfaces. These include ACORN (ab initio procedure for the determination of protein structure at atomic resolution), BEAST (maximum-likelihood molecular replacement program) and WHAT_CHECK (the subset of protein verification tools from the WHAT IF program).
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, to improve the access to relevant tasks in some of the modules.
It is intended that the MapSlicer application should become the default viewer for CCP4 map files in CCP4i 1.3. MapSlicer offers interactive display of contoured 2D sections through density maps, as well as can displaying map header information. A prototype version of MapSlicer was released in CCP4 4.1 (see the article in the previous newsletter) but this new version has been substantially rewritten to add extra features and to improve portability.
The utility for installing new task interfaces has also been substantially upgraded. The aim is to provide a robust mechanism for installing and tracking ``third-party'' interfaces - that is, interfaces provided for non-CCP4 software by its authors. (An example of this is the ARP/wARP interface written by Tassos Perrakis and previewed in an earlier article.)
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 intended that the installer/uninstaller will run from the command line, so that it can be incorporated into Makefiles or installation scripts for other packages.
Some aspects of CCP4i have been altered with the aim of enhancing usability of the interface, for example:
A major change from 1.2 to 1.3 is the addition of inline ``doc-comments'' in the CCP4i source code. These comments can be extracted and turned into html documentation of the CCP4i code, and both the commented code and the extracted documentation will be included in the next release. We hope that this will be useful for external programmers wishing to make CCP4i work more easily with their programs.
The majority of changes planned for CCP4i 4.2 are intended to consolidate the existing interface. A number of longer-term projects are also envisaged: