This repository has been archived by the owner. It is now read-only.
Tool to convert phylogenies to OWL ontologies
Clone or download
Pull request Compare This branch is 12 commits behind phyloref:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status


phylo2owl [input.(tre|nex|xml|...)] [-f format] [-o output.owl]

Command line options

  • Default: read a Newick tree from standard input, write an OWL representation of the tree to standard output.
  • Input files: Tree files to convert.
  • Output (-o): Where the output ontology should be written. The base name of this file (e.g. 'output' in 'output.owl') is used as the short prefix for nodes in this ontology in the output file.
  • Output name (-n or --name): A short name for the ontology. Defaults to the name of the output file.
  • Format (-f or --format): Currently, 'newick', 'nexus' and 'nexml' are supported.
  • Help (-h or --help): Describes the usage of the program and every command line option.


  • Read single tree in Newick format
    • Read multiple trees in Newick format?
  • Should be easy to modify outputs -- we’re going to spend a lot of time iterating on the best way to represent trees in OWL!
  • Phyloreferences will not be represented at this stage: we’ll write another tool to write phyloreferences in OWL, and then a third tool to query a phyloreference (in OWL) on a tree (in OWL).
    • A separate test suite will test the outputs. Alternatively, we could include a owl2phylo file, and then test to see if we can convert files in one direction and then the other.



We use the py.test testing framework. You can run the tests by running py.tests tests from this directory.

Library options

We currently use DendroPy. Some other libraries we considered include: