New version of tree, APIs

We have just released a new version of the synthetic tree, along with new versions of the APIs.

Tree

The biggest change in this version is that we have completely replaced the synthesis method used to produce the tree. We are still using neo4j to serve the tree, but have moved synthesis out of the graph database and into a make-based pipeline that uses a C++ library.  This new method is improves efficiency, reproducibility, and allows us to more clearly connect input sources with edges in the tree. In addition to support statements, the new pipeline also produces conflict statements about the inputs that do not support a given edge (we are working to get these displayed on the properties panel for each node).

You can view the new version here and read the release notes. We want to particularly highlight the self-documenting nature of the new method. Primary credit for the new method goes to Mark Holder and Ben Redelings – paper coming soon!

APIs

The largest change is the node IDs. We have previously mentioned issues with node stability, and in this version of the tree & APIs, we use either Open Tree Taxonomy IDs for taxa nodes or mrca statements for non-taxa nodes rather than unstable neo4j node IDs which will transfer (or fail gracefully) for new versions of the tree. We have also made input and output parameters more stable across methods.

We also make public the verbose subtree format that we use to build the tree browser – rather than simply a newick string, you can obtain the tree with all provenance information, including support and conflict.

All v2 methods should continue to work, but we plan to deprecate the v2 methods in June 2016.

Take a look at the API docs  and release notes for more information.

Advertisements

2 responses

  1. Reblogged this on Hibbett lab news and commented:
    the latest from Open Tree of Life

    Like

    April 8, 2016 at 1:34 pm

  2. Keilor Rojas

    I’ve trying to access the tree but got this result:

    Whoops! The call to get the tree around a node did not work out the way we were hoping it would. Show details

    [parsererror] SyntaxError: Unexpected token E

    ERROR

    Do you know what is happening? I will appreciate you support.

    Like

    April 26, 2016 at 3:12 pm