Crystallographic software development has had a glorious past, much of which has been documented in the Proceedings of IUCr computing schools and in the Newsletters of the Commission on Crystallographic Computing. A comprehensive review of the relationship between the requirements for intensive scientific calculations and the shaping of new computer technologies has been given in the 60th anniversary special issue of Acta Crystallographica [Cranswick, L. M. D. (2008), Acta Cryst. A64, 65-86], and the potential for even richer scientific knowledge from crystallographic computation is now greater than ever.
But in the last few decades there have been profound cultural changes in the way that computer programs have been written, maintained and disseminated. Where individual scientists once wrote algorithms to solve the equations that they needed to solve, now large teams of contributors, many of them computing specialists rather than domain scientists, may be involved in projects distributed across laboratories and even continents.
While there are currently many healthy examples of vigorous collaborative projects, there are also worries that some of the innovative techniques, skills and wisdom of an earlier generation of scientist-programmers may be overlooked or lost altogether as the individuals concerned retire or move on from the subject. This problem is perhaps most acute in the fields of small-molecule, inorganic or powder crystallography, where many important programs have been developed in small laboratories or departments. It has been a concern of the Commission on Crystallographic Computing for some years, and recent efforts have been devoted to establishing a framework for practical measures to preserve and promulgate the most important of the established algorithms and knowledge.
A practical step forward
In October 2004 a proposal was made to the UK Engineering and Physical Sciences Research Council by the Chemical Crystallography group in Oxford and Judith Howard's research group in Durham for a joint project focussing on crystallographic software. In May of the following year the project was funded.
The objectives of the work included
- Reviewing the actual code of existing software so that the fine (often undocumented) details of the algorithms could be recorded and annotated.
- Reviewing the literature and consolidating the dispersed information on selected topics into single, structured, documents, unifying the nomenclature and eliminating gaps in or extending the mathematical derivations.
- Creating a new body of code to replace the old unsupportable code in modern maintainable languages.
- Making use wherever appropriate of existing well maintained libraries.
- Bringing into crystallography new and powerful software and mathematical techniques from non-crystallographic domains.
- Providing graphical interfaces to popular existing programs as well as the new code.
Newsletter articles include:
- The latest background and information from the UK based EPSRC funded Age Concern Project described above.
- History and science within the Caltech based CRYRM single crystal suite; DIMS - Direct methods In Multidimensional Space software; Crunch 1.5 Direct Methods Software; the Glasgow based GX single crystal suite; the Italian based CAOS structure refinement software; Ton Spek's Platon; and a list of programs archived at Armel Le Bail's Crystallography Source Code Museum.
- Experience in conversion of large crystallographic Fortran-77 to C++; as well as the place of the Quick and Dirty Crystallographic Computer Program.
- Historical group photographs from some of the Crystallographic Computing and Teaching Schools of the 1970s.
- Archived manuals and source code from the above mentioned software.
- Teaching material of Isabella L. Karle, presented at the 1978 Erice School on Direct Methods for Solving Crystal Structures.
- A reprint of the The Analytical Theory of Point Systems (1923) by J. D. Bernal (1901-1971).
There is much more that can be done by the Commissions and through the medium of the IUCr web site. Further Computing Commission newsletters are planned on the theme of 'Age Concern: capturing the history and the crystallographic science behind past and present small-molecule, powder diffraction, protein and other crystallographic software'. Submissions on this topic are welcome and encouraged.
David J. Watkin, Former Chair, IUCr Computing Commission
Lachlan M. D. Cranswick, Chair, IUCr Computing Commission