BioMed Central Page 1 of 4 (page number not for citation purposes) BMC Bioinformatics Open Access Software libcov: A C++ bioinformatic library to manipulate protein structures, sequence alignments and phylogeny Davin Butt 1 , Andrew J Roger 2,3 and Christian Blouin* 1,2,3 Address: 1 Faculty of Computer Science, Dalhousie University, 6050 University Ave. Halifax, NS, B3H 1W5, Canada, 2 Dept. of Biochemistry and Molecular Biology, Dalhousie University, Tupper Medical Building, Halifax, NS, B3H 1X5, Canada and 3 Canadian Institute for Advanced Research (CIAR) Email: Davin Butt - davin@cs.dal.ca; Andrew J Roger - andrew.roger@dal.ca; Christian Blouin* - cblouin@cs.dal.ca * Corresponding author Background: An increasing number of bioinformatics methods are considering the phylogenetic relationships between biological sequences. Implementing new methodologies using the maximum likelihood phylogenetic framework can be a time consuming task. Results: The bioinformatics library libcov is a collection of C++ classes that provides a high and low-level interface to maximum likelihood phylogenetics, sequence analysis and a data structure for structural biological methods. libcov can be used to compute likelihoods, search tree topologies, estimate site rates, cluster sequences, manipulate tree structures and compare phylogenies for a broad selection of applications. Conclusion: Using this library, it is possible to rapidly prototype applications that use the sophistication of phylogenetic likelihoods without getting involved in a major software engineering project. libcov is thus a potentially valuable building block to develop in-house methodologies in the field of protein phylogenetics. Background With the development of genomics, research in biology and systems biology is becoming increasingly data-driven. The feedback between available data and hypotheses has accelerated the pace at which innovative ideas are gener- ated. Life scientists are in a position to design novel meth- odologies but do not necessarily have the in-house skills to produce software implementations. Simple methods, made of complex building blocks such as maximum like- lihood calculations, require major software development projects before they can be prototyped. The use of libraries can help to rapidly prototype software implementations. We present libcov, an object-oriented library to perform phylogenetic inference and the manipulation of protein sequences and structures. The library is written in C++, is compliant with the GNU standards and packaged as a dynamic library that can be installed on most Unix distri- butions (including MacOS X). There are other bioinformatic libraries available, many of which overlap with libcov in their functionalities. The PAL library, for example, [1] is a Java implementation which offers a versatile object set for nucleotide and protein phy- logeny. More generally, interested readers can visit the Open Bioinformatics Foundation [2] that links to a series of libraries written in various popular scripting languages Published: 06 June 2005 BMC Bioinformatics 2005, 6:138 doi:10.1186/1471-2105-6-138 Received: 05 November 2004 Accepted: 06 June 2005 This article is available from: http://www.biomedcentral.com/1471-2105/6/138 © 2005 Butt et al; licensee BioMed Central Ltd. This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0 ), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.