Bio::NEXUS: a Perl API for the NEXUS format for comparative biological data.

Printer-friendly versionPrinter-friendly versionPDF versionPDF version
TitleBio::NEXUS: a Perl API for the NEXUS format for comparative biological data.
Publication TypeJournal Article
Year of Publication2007
AuthorsHladish, T, Gopalan, V, Liang, C, Qiu, W, Yang, P, Stoltzfus, A
JournalBMC Bioinformatics
Date Published2007
KeywordsChromosome Mapping, Computational Biology, Databases, Genetic, Evolution, Molecular, Information Storage and Retrieval, Programming Languages, Software, User-Computer Interface

BACKGROUND: Evolutionary analysis provides a formal framework for comparative analysis of genomic and other data. In evolutionary analysis, observed data are treated as the terminal states of characters that have evolved (via transitions between states) along the branches of a tree. The NEXUS standard of Maddison, et al. (1997; Syst. Biol. 46: 590-621) provides a portable, expressive and flexible text format for representing character-state data and trees. However, due to its complexity, NEXUS is not well supported by software and is not easily accessible to bioinformatics users and developers.

RESULTS: Bio::NEXUS is an application programming interface (API) implemented in Perl, available from CPAN and SourceForge. The 22 Bio::NEXUS modules define 351 methods in 4229 lines of code, with 2706 lines of POD (Plain Old Documentation). Bio::NEXUS provides an object-oriented interface to reading, writing and manipulating the contents of NEXUS files. It closely follows the extensive explanation of the NEXUS format provided by Maddison et al., supplemented with a few extensions such as support for the NHX (New Hampshire Extended) tree format.

CONCLUSION: In spite of some limitations owing to the complexity of NEXUS files and the lack of a formal grammar, NEXUS will continue to be useful for years to come. Bio::NEXUS provides a user-friendly API for NEXUS supplemented with an extensive set of methods for manipulations such as re-rooting trees and selecting subsets of data. Bio::NEXUS can be used as glue code for connecting existing software that uses NEXUS, or as a framework for new applications.

Alternate JournalBMC Bioinformatics
PubMed ID17559666
PubMed Central IDPMC1913543
Grant ListR01-LM07218 / LM / NLM NIH HHS / United States
RR03037 / RR / NCRR NIH HHS / United States