Solutions for smaller labs
A new 'opensource' chemical inventory program has been written by theoretical chemist Henry Rzepa and colleague Mark Williamson of Imperial College London. The program aims to address one of the most pressing issues facing chemistry departments in terms of their stock - how to make sure that the laboratory has a full and complete inventory of all materials on site, on order, and in the disposal cycle.
One might assume that there would be numerous inventory packages available to chemists aiming to ensure that their shelves and fume cupboards are properly stocked and up to date in terms of health and safety tasks. And, in one sense this is so: there are several programs that can handle stock for even the biggest laboratory. There is, it seems, no reason why good practice cannot be implemented in any chemical lab.
These packages assist even the biggest laboratories in keeping track of many thousands of items, from enzyme vials to tanker-loads of reagents. And, therein lies the problem.
For the academic or student, size does matter. Moreover, many of the bigger programs carry with them plenty of bells and whistles that might be useful in the broad environment of corporate R&D, but for the small academic chemical laboratory, there has been a serious gap.
Rzepa points out that online chemical inventories have been utilised in labs across the world, probably since around the mid-1980s - although there are likely to have been one or two pioneering lab technicians running up their lists on microcomputers even before that. Besides, software, such as simple spreadsheets and databases, lacked chemical intelligence. This is the great bugbear for chemists - the lack of inherent chemical savvy in software.
Once a market had been spotted, there quickly sprang up several now well-established inventory systems. ISISBase from MDL, for instance, provides users with a flexible database management system. It can store, search, and retrieve chemical structures and associated scientific data through a form-based interface, working on a standalone PC or as a client to the company's host server MDL ISIS/Host.
Chemfolder from ACD/Labs can also help in the management of hundreds of separate files with chemical structures, reactions, and reports. ACD/Labs boasts the 'practically unlimited' capacity of the system - it allows some 512,000 records (or a maximum 2 GB database file) to be stored. Other products, such as ChemFinder and e-labnotebook from Cambridge Soft Corp, and Chemical Inventory from ChemSW, provide similar vast expanses of space in which a great deal of information can be stored. As the software houses are quick to point out, their packages are strong on informatics for the biggest of laboratories.
For those with only a small laboratory, this capacity is simply superfluous to requirements. The commercial packages are very capable and immensely powerful. They can be coupled to powerful and secure servers, but at a price - both in terms of equipment requirements and in raw costs. Such greatness is fundamentally ill-suited to the average academic or student, believes Rzepa. Additionally, the proprietary software packages, for all their power, often come with a severe limitation, in that they are not always readily extensible to local user requirements.
Rzepa and Williamson wanted to change all that. To this end, they turned to open standards, open source programming tools, and the protocols of the Worldwide Web Consortium (W3C) to create a new inventory system aimed directly at the smaller lab.
ChemStock is the result. The system is web-based, and as such can be fine tuned using the standard tools available to web programmers. Indeed, Rzepa claims it is almost as easy to adjust and tailor to personal requirements as a web page. The program relies on widely-used web-server software for its functioning, including the Apache web server. Security is through openSSL.
MySQL is the internal database engine. The Lightweight Directory Access Protocol (LDAP) system is used for directory enquiries, while the so-called 'Hypertext Preprocessor' (bizarrely PHP, for short) provides ChemStock with its scripting front end. PHP is a general-purpose scripting language for web developers and can usefully be embedded directly into HTML. The package will readily crunch from 4 to 45,000 chemical entries, with queries taking just a few seconds, and even a full database export will take just seconds now that the team has added more memory.
ChemStock provides a lesson to the wise in terms of economy of code, in that it is a mere 1,200 lines of PHP and has no cumbersome hardcore 'code' that has to be installed from a packet of CD-Roms. Philosophically, such a small package represents a great step back to a time when programmers had very limited space in which to run their code and so kept the writing terse rather than verbose. The program took only four weeks to write and, according to Rzepa, is easily maintainable. The package should be universally useful, since it can run on any Web browser capable of interpreting XHTML, which is most probably all of the modern browsers. Small fry to compete with the big boys.