Skip to content
Mark T. Holder edited this page Sep 6, 2016 · 22 revisions

Open Tree of Life has been supported NSF awards under the AVAToL solicitation. Current funding ends on May, 2017, though two of the organizations (Duke Univ., and the Univ. Kansas) will request no-cost extensions to continue work on the project after that date. Karen Cranston, Emily Jane McTavish and Mark Holder are submitting a proposal to NSF's ABI Development solicitation in September, 2016 to extend the project. A link to that proposal will be posted here when the proposal is completed. Because of the uncertainty associated with the long-term funding status of the project, we have developed two "roadmaps" for the project. The short-term roadmap covers the remainder of the funding period, and the long-term roadmap describes work that will take place after the current funding ends.

Short-term Roadmap

  1. Finish and submit paper describing how OTT is built (drafts in reference-taxonomy/doc/method on master and other branches of that repo. Primarily JAR and KAC.
  2. Finish and submit paper describing propinquity and otcetera-based synthesis. Draft in propinquity/doc in LyX format. BR and MTH.
  3. Finish migration to otindex and deployment of that tool using Ansible. Primarily KAC.
  4. Integrate tree-illustrator into the curator app. Jim Allman.
  5. Extend the otcetera tools to deal with incertae sedis taxa so that we can also include them and fossil taxa into the synthetic tree. Primarily BR and MTH.
  6. Revisit our storage of files uploaded during curation, so that is easier to deploy the curation app to a new server. Primarily JAR.
  7. Validation of the Physcraper tool. EJM.
  8. Refactoring JavaScript into modules to make it easier to share functionality between curator, tree browser and taxonomy browser. MTH and Jim Allman
  9. Document the current deployment requirements/process (may be OK now, I have not looked in a while). Primarily JAR.

Long-term Roadmap

Our ABI proposal describes 3 categories of enhancements for longer term work: (1) "low hanging fruit" that could increase the usability of the system without major structural changes, (2) new algorithms to improve the quality of OTT and the synthetic tree given our inputs, and (3) hardening/simplifying the code base to make it easier to maintain.

Infrastructure hardening/simplification

  1. Add more unit tests to peyotl (this will also get peyotl ready for publication). Primarily MTH.
  2. Move deployment system to Ansible. Primarily KAC.
  3. Fully script the synthesis and deployment of a new synthetic tree. Primarily KAC (BR and MTH may need to change propinquity outputs). This will include: a. scripts for pushing the synth tar ball, and loading it in the tmlite DB b. bolstering our monophyly tests c. perhaps extending the scripts that characterize what has changed between synth trees.
  4. migrate web apps from web2py to Pyramid (this will reduce us from 2 python frameworks down to 1). Primarily MTH.
  5. extend otindex and phylesystem-api to hide data in private data shards from unauthorized users. KAC and MTH.
  6. extend otcetera's tree annotation tool so that it can serve the tree of life parts of the API. This will reduce the memory footprint of the server and reduce the number of code repositories. MTH
  7. extend otindex to serve the taxonomy API. this will reduce the number of code repositories and technologies involved (e.g. this and the previous step will remove our dependence on maven and neo4j).
  8. integrate trees from Physcraper as synthesis inputs and tweak tree browser to differentiate between support from published and unpublished (Physcraper) trees. EJM and Jim Allman.