Bio++: a set of C++ libraries for sequence analysis, phylogenetics, molecular evolution and population genetics.
BACKGROUND
A large number of bioinformatics applications in the fields of bio-sequence analysis, molecular evolution and population genetics typically share input/output methods, data storage requirements and data analysis algorithms. Such common features may be conveniently bundled into re-usable libraries, which enable the rapid development of new methods and robust applications.


RESULTS
We present Bio++, a set of Object Oriented libraries written in C++. Available components include classes for data storage and handling (nucleotide/amino-acid/codon sequences, trees, distance matrices, population genetics datasets), various input/output formats, basic sequence manipulation (concatenation, transcription, translation, etc.), phylogenetic analysis (maximum parsimony, markov models, distance methods, likelihood computation and maximization), population genetics/genomics (diversity statistics, neutrality tests, various multi-locus analyses) and various algorithms for numerical calculus.


CONCLUSIONS
Implementation of methods aims at being both efficient and user-friendly. A special concern was given to the library design to enable easy extension and new methods development. We defined a general hierarchy of classes that allow the developer to implement its own algorithms while remaining compatible with the rest of the libraries. Bio++ source code is distributed free of charge under the CeCILL general public licence from its website http://kimura.univ-montp2.fr/BioPP.
Dutheil
Julien
J
CNRS UMR 5171--Génome, Populations, Interactions, Adaptation (GPIA), Université Montpellier 2, France. Julien.Dutheil@univ-montp2.fr
Gaillard
Sylvain
S
Bazin
Eric
E
Glémin
Sylvain
S
Ranwez
Vincent
V
Galtier
Nicolas
N
Belkhir
Khalid
K
D000465:Algorithms; D000595:Amino Acid Sequence; D000818:Animals; D019295:Computational Biology / Q000295:instrumentation / Q000379:methods*; D019143:Evolution, Molecular; D005828:Genetics, Population / Q000379:methods; D006801:Humans; D015233:Models, Statistical; D008969:Molecular Sequence Data; D010802:Phylogeny; D011381:Programming Languages; D017386:Sequence Homology, Amino Acid; D012984:Software