JPhyloIO is an open source Java library for reading and writing phylogenetic file formats. The main aim is to provide a library that allows access to various formats using a single interface, while being independent of the concrete application data model, to achieve maximal flexibility. It supports event based reading and writing of the following alignment and tree formats:
- NeXML including its different types of metadata
- Nexus (including the
SETSblocks, as well as the
MIXEDdata type extension defined by MrBayes). In addition a Nexus API is offered that allows application developers to easily add support for additional (custom) blocks and commands.
- FASTA (including support for FASTA comments and column indices)
- Newick tree format
- Extended Phylip
- MEGA (including different types character set definitions, reading only)
- PDE (the format of the alignment editor PhyDE, reading only)
- XTG (the format of the phylogenetic tree editor TreeGraph 2, reading only)
Application developers are able to implement format-independent data processing by including event based readers from JPhyloIO via the abstract strategy pattern. All readers in JPhyloIO are designed to deal with large amounts of data (alignments with many and/or very long sequences, large trees) without using a great amount of resources (CPU or RAM).
We have several tutorials available that show how to use JPhyloIO for reading and writing phylogentic data step by step. Additionally the general documentation provides and overview and contains a detailed JavaDoc.
If you want to submit a bug report or feature request, please use our public bug tracking system at http://bioinfweb.info/JPhyloIO/Bugs. (We do not manage issues on GitHub directly.)
Binary releases and Maven code can be found at http://bioinfweb.info/JPhyloIO/Download.