{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,5,2]],"date-time":"2026-05-02T06:19:30Z","timestamp":1777702770102,"version":"3.51.4"},"reference-count":14,"publisher":"Springer Science and Business Media LLC","issue":"1","content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["BMC Bioinformatics"],"published-print":{"date-parts":[[2006,12]]},"abstract":"<jats:title>Abstract<\/jats:title>\n          <jats:sec>\n            <jats:title>Background<\/jats:title>\n            <jats:p>A large number of bioinformatics applications in the fields of bio-sequence analysis, molecular evolution and population genetics typically share input\/ouput 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.<\/jats:p>\n          <\/jats:sec>\n          <jats:sec>\n            <jats:title>Results<\/jats:title>\n            <jats:p>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.<\/jats:p>\n          <\/jats:sec>\n          <jats:sec>\n            <jats:title>Conclusion<\/jats:title>\n            <jats:p>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 <jats:ext-link xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" xlink:href=\"http:\/\/kimura.univ-montp2.fr\/BioPP\" ext-link-type=\"uri\">http:\/\/kimura.univ-montp2.fr\/BioPP<\/jats:ext-link>.<\/jats:p>\n          <\/jats:sec>","DOI":"10.1186\/1471-2105-7-188","type":"journal-article","created":{"date-parts":[[2006,4,20]],"date-time":"2006-04-20T14:20:53Z","timestamp":1145542853000},"update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":93,"title":["Bio++: a set of C++ libraries for sequence analysis, phylogenetics, molecular evolution and population genetics"],"prefix":"10.1186","volume":"7","author":[{"given":"Julien","family":"Dutheil","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sylvain","family":"Gaillard","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Eric","family":"Bazin","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sylvain","family":"Gl\u00e9min","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Vincent","family":"Ranwez","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Nicolas","family":"Galtier","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Khalid","family":"Belkhir","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2006,4,4]]},"reference":[{"key":"927_CR1","doi-asserted-by":"publisher","first-page":"2325","DOI":"10.1093\/bioinformatics\/btg316","volume":"19","author":"K Thornton","year":"2003","unstructured":"Thornton K: Libsequence: a C++ class library for evolutionary genetic analysis. Bioinformatics 2003, 19: 2325\u20137. 10.1093\/bioinformatics\/btg316","journal-title":"Bioinformatics"},{"key":"927_CR2","first-page":"575","volume":"10","author":"W Chang","year":"1994","unstructured":"Chang W, Shindyalov IN, Pu C, Bourne PE: Design and application of PDBlib, a C++ macromolecular class library. Computer Applications In The Biosciences 1994, 10: 575\u201386.","journal-title":"Computer Applications In The Biosciences"},{"key":"927_CR3","doi-asserted-by":"publisher","first-page":"138","DOI":"10.1186\/1471-2105-6-138","volume":"6","author":"D Butt","year":"2005","unstructured":"Butt D, Roger AJ, Blouin C: libcov: a C++ bioinformatic library to manipulate protein structures, sequence alignments and phylogeny. BMC Bioinformatics 2005, 6: 138\u2013138. 10.1186\/1471-2105-6-138","journal-title":"BMC Bioinformatics"},{"key":"927_CR4","doi-asserted-by":"publisher","first-page":"729","DOI":"10.1093\/bioinformatics\/17.8.729","volume":"17","author":"WR Pitt","year":"2001","unstructured":"Pitt WR, Williams MA, Steven M, Sweeney B, Bleasby AJ, Moss DS: The Bioinformatics Template Library \u2013 generic components for biocomputing. Bioinformatics 2001, 17: 729\u201337. 10.1093\/bioinformatics\/17.8.729","journal-title":"Bioinformatics"},{"key":"927_CR5","volume-title":"Doxygen, a documentation system for C++","author":"D van Heesch","year":"2005","unstructured":"van Heesch D: Doxygen, a documentation system for C++.2005. [http:\/\/www.stack.nl\/~dimitri\/doxygen\/]"},{"key":"927_CR6","first-page":"275","volume":"8","author":"DT Jones","year":"1992","unstructured":"Jones DT, Taylor WR, Thornton JM: The rapid generation of mutation data matrices from protein sequences. Computer Applications In The Biosciences 1992, 8: 275\u201382.","journal-title":"Computer Applications In The Biosciences"},{"key":"927_CR7","doi-asserted-by":"publisher","first-page":"193","DOI":"10.1093\/molbev\/msi005","volume":"22","author":"C Kosiol","year":"2005","unstructured":"Kosiol C, Goldman N: Different versions of the Day-hoff rate matrix. Molecular Biology And Evolution 2005, 22: 193\u20139. 10.1093\/molbev\/msi005","journal-title":"Molecular Biology And Evolution"},{"key":"927_CR8","doi-asserted-by":"publisher","first-page":"306","DOI":"10.1007\/BF00160154","volume":"39","author":"Z Yang","year":"1994","unstructured":"Yang Z: Maximum likelihood phylogenetic estimation from DNA sequences with variable rates oversites: approximate methods. Journal Of Molecular Evolution 1994, 39: 306\u201314. 10.1007\/BF00160154","journal-title":"Journal Of Molecular Evolution"},{"key":"927_CR9","first-page":"406","volume":"4","author":"N Saitou","year":"1987","unstructured":"Saitou N, Nei M: The neighbor-joining method: a new method for reconstructing phylogenetic trees. Molecular Biology And Evolution 1987, 4: 406\u201325.","journal-title":"Molecular Biology And Evolution"},{"key":"927_CR10","volume-title":"Inferring Phylogenies","author":"J Felsenstein","year":"2004","unstructured":"Felsenstein J: Inferring Phylogenies. Sunderland, Massachusetts: Sinauer Associates; 2004."},{"key":"927_CR11","doi-asserted-by":"publisher","first-page":"1919","DOI":"10.1093\/molbev\/msi183","volume":"22","author":"J Dutheil","year":"2005","unstructured":"Dutheil J, Pupko T, Jean-Marie A, Galtier N: A model-based approach for detecting coevolving positions in a molecule. Molecular Biology And Evolution 2005, 22: 1919\u201328. 10.1093\/molbev\/msi183","journal-title":"Molecular Biology And Evolution"},{"key":"927_CR12","doi-asserted-by":"publisher","first-page":"221","DOI":"10.1534\/genetics.105.046524","volume":"172","author":"N Galtier","year":"2005","unstructured":"Galtier N, Bazin E, Bierne N: GC-biased segregation of non-coding polymorphisms in Drosophila. Genetics 2005, 172: 221\u20138. 10.1534\/genetics.105.046524","journal-title":"Genetics"},{"key":"927_CR13","doi-asserted-by":"publisher","first-page":"331","DOI":"10.1089\/10665270252935494","volume":"9","author":"N Friedman","year":"2002","unstructured":"Friedman N, Ninio M, Pe'er I, Pupko T: A structural EM algorithm for phylogenetic inference. Journal Of Computational Biology 2002, 9: 331\u201353. 10.1089\/10665270252935494","journal-title":"Journal Of Computational Biology"},{"key":"927_CR14","first-page":"555","volume":"13","author":"Z Yang","year":"1997","unstructured":"Yang Z: PAML: a program package for phylogenetic analysis by maximum likelihood. Computer Applications In The Biosciences 1997, 13: 555\u20136.","journal-title":"Computer Applications In The Biosciences"}],"container-title":["BMC Bioinformatics"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1186\/1471-2105-7-188.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2021,9,1]],"date-time":"2021-09-01T03:18:51Z","timestamp":1630466331000},"score":1,"resource":{"primary":{"URL":"https:\/\/bmcbioinformatics.biomedcentral.com\/articles\/10.1186\/1471-2105-7-188"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2006,4,4]]},"references-count":14,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2006,12]]}},"alternative-id":["927"],"URL":"https:\/\/doi.org\/10.1186\/1471-2105-7-188","relation":{},"ISSN":["1471-2105"],"issn-type":[{"value":"1471-2105","type":"electronic"}],"subject":[],"published":{"date-parts":[[2006,4,4]]},"assertion":[{"value":"6 December 2005","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 April 2006","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"4 April 2006","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}}],"article-number":"188"}}