The Software Sustainability Institute prides itself on working in a way that suits every client. A case in point was when the team helped create a stable version of the NEIGHCRYS/DMACRYS software for the Control and Prediction of the Organic Solid State group (CPOSS). Here, the Institute had to work to a timetable that suited the retired developer of the code but which still met deadlines and made sure everything came together smoothly.
The end result is now used by a much broader range of people, such as researchers at other universities who work on much larger molecules than were envisaged when the software was first written, and with potential commercial applications.
CPOSS head Professor Sally Price and her researchers at UCL use NEIGHCRYS/DMACRYS to model organic crystal structures and their properties, particularly as part of a workflow to predict the possible crystal structures of a molecule, and help solve the problems of polymorphism in drugs. Molecules can crystallise in more than one crystal structure, or polymorph, and since different polymorphs can dissolve at different rates, a change in the polymorph of a drug can change what is known as the effective dose. The research undertaken by CPOSS will lead to a better understanding of polymorphism and investigate what crystal structures are possible for a given molecule. This knowledge helps with quality and process control in the development of pharmaceuticals and other organic chemicals.
Developed over 20 years by EPSRC-funded students and postdocs along with Professor Price and Dr Maurice Leslie, NEIGHCRYS/DMACRYS was a useful and effective tool – but tricky for new users, and complex for any developers to add to it. Other universities had also begun to use the software, and it was clear some work was needed.
One of the Institute’s Software Consultants, Tim Parkinson, worked closely with the CPOSS team. Each branch of the code was imported into a newly created subversion repository. Then, each change was assessed to determine whether it was a bug fix, new or improved functionality, or an experimental change that perhaps had to be abandoned and reverted. There were several variants of the production code, and at least two copies of development code. With help from Dr Leslie, the Institute managed to untangle the code and create one unified code base.
A manual has also been produced, again in close collaboration with Dr Leslie, and an automated test suite put in place. Tim wrote an extendable test suite harness using Bash, to generate reference outputs against which new users can check their installation. Professor Price produced a description of the test suite examples so that the scientists could see the range of ways to use the code. This team-intensive work resulted in a code base that has been released as version 2.0.8 and incorporates all new developments and bug fixes.
The newly organised software will make it easier for new users and developers to work with it. UCL already has some academic colleagues keen to exploit the benefits of the refreshed code, and is in talks with a commercial company that wishes to use the product for its own pharmaceutical research.
“We hope to expand our user base as I get quite a lot of queries from people who want to do organic modelling and crystal structure prediction work” says Professor Price. “Most enquiries are for use in academic research, with people who wish to complement their experimental work with calculations. However, our recent research results on pharmaceutical type molecules show that we have a program that companies may wish to license for their own modelling work. We also have a framework for future developments. For example, a colleague in Southampton is now working on a project that deals with molecules much larger than we originally thought of when we wrote the program. The next version will have some adaptations to speed it up for that application.”
“This was a complex code that had been through many generations, as molecules have got larger, and what the Institute has done for us is create more sustainable and professional software that is accessible to other users. We’re very happy with how it went – we’ve now got version control, specific releases and track-back of what bugs have been fixed and what new functionality has been added,” Professor Price concludes.