PhyloXML

(Difference between revisions)
Jump to: navigation, search
(First draft, described the parser)
 
Line 1: Line 1:
 
This module handles the parsing and generation of files in the [http://www.phyloxml.org/ phyloXML] format.
 
This module handles the parsing and generation of files in the [http://www.phyloxml.org/ phyloXML] format.
  
Documentation has not been integrated into the Biopython Tutorial yet.
+
This code is not yet part of Biopython, and therefore the documentation has not been integrated into the Biopython Tutorial yet either.
  
 
==Usage==
 
==Usage==

Revision as of 10:36, 24 June 2009

This module handles the parsing and generation of files in the phyloXML format.

This code is not yet part of Biopython, and therefore the documentation has not been integrated into the Biopython Tutorial yet either.

Contents

Usage

(Coming soon: use cases)

Development

The source code for this module currently lives on the phyloxml branch in GitHub.

Parser

The XML parser used in this module is ElementTree, new to the Python standard library in Python 2.5. To use this module in Python 2.4, you'll need to install a separate package that provides the ElementTree interface. Two exist:

The module attempts to import each of these compatible ElementTree implementations until it succeeds. The given XML file handle is then parsed incrementally to instantiate an object hierarchy containing the relevant phylogenetic information. Existing Biopython classes will be reused for these objects wherever appropriate.

This parser is meant to be able to handle large files, meaning several thousand external nodes. (Benchmarks of relevant XML parsers for Python are here. To support this, the parser takes an open file handle, and the API will offer wrappers for loading compressed files, and perhaps pulling from a database or web URL, too.

Writer

The writer portion of this module hasn't been written yet, but presumably it will be based on ElementTree as well.

Integration

At some point this should be merged into the Biopython trunk, and it would be nice to have a common interface with Bio.Nexus and Newick. Should these three modules be reorganized to extract a common Bio.TreeIO interface? Let's discuss it at some point.


Summer of Code project

This module is being developed by Eric as a project for Google Summer of Code 2009, with NESCent as the mentoring organization and Brad as the primary mentor.

Main SoC project page: PhyloSoC:Biopython support for parsing and writing phyloXML

Other software

Christian Zmasek, author of the phyloXML specification, has released some software that uses this format:

  • Forester -- a collection of Java and Ruby libraries for working with phylogenetic data
  • Archaopteryx -- Java application for the visualization of annotated phylogenetic trees (also available in applet form)

Another list is maintained at phylosoft.org.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox