The Bioinformatics Template Library—generic components for biocomputing

Abstract
Motivation: The efficiency of bioinformatics programmers can be greatly increased through the provision of ready-made software components that can be rapidly combined, with additional bespoke components where necessary, to create finished programs. The new standard for C++ includes an efficient and easy to use library of generic algorithms and data-structures, designed to facilitate low-level component programming. The extension of this library to include functionality that is specifically useful in compute-intensive tasks in bioinformatics and molecular modelling could provide an effective standard for the design of reusable software components within the biocomputing community. Results: A novel application of generic programming techniques in the form of a library of C++ components called the Bioinformatics Template Library (BTL) is presented. This library will facilitate the rapid development of efficient programs by providing efficient code for many algorithms and data-structures that are commonly used in biocomputing, in a generic form that allows them to be flexibly combined with application specific object-oriented class libraries. Availability: The BTL is available free of charge from our web site http://www.cryst.bbk.ac.uk/~classlib/ and the EMBL file server http://www.embl-ebi.ac.uk/FTP/index.html Contact: d.moss@mail.cryst.bbk.ac.uk; m.williams@biochemistry.ucl.ac.uk * To whom correspondence should be addressed. 3 Present address: Celltech Chiroscience, Granta Park, Great Abingdon, Cambridge CB1 6GS, UK. 4 Present address: Department of Biochemistry & Molecular Biology, University College London, Gower Street, London WC1E 6BT, UK.