Phylogenetic XML standards¶
New in version 2.1.
From version 2.1, ETE provides support for NeXML and PhyloXML phylogenetic XML standards, both reading and writing. These standards allow to encode complex phylogenetic data, and therefore they are not limited to trees. Although ETE is mainly focused on allowing transparent interaction with trees, it also provides basic I/O methods to data of different type.
Essentially, NexML and PhyloXML files are intended to encode collections of phylogenetic data. Such information can be converted to a collection Python objects sorted in a hierarchical way. A specific Python class exists for every element encoded documented by the NeXML and PhyloXML formats. This is possible thanks to the the general purpose Python drivers available for both formats (http://etetoolkit.org/phyloxml-and-nexml-python-parsers). ETE will use such drivers to access XML data, and it will also convert tree data into PhyloTree objects. In practice, conversions will occur transparently. NeXML and PhyloXML files are loaded using their specific root classes, provided by the main ETE module, and all the information will become available as a collection of Python objects internally sorted according to the original XML hierarchy.
NeXML and PhyloXML python parsers are possible thanks to Dave Kulhman and his work on the generateDS.py application. Thanks Dave! ;-)