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