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.