PhyloSoC:Build a Mesquite Package to view Phenex-generated Nexml files

From Phyloinformatics
Revision as of 10:40, 6 July 2009 by Kasiahayden (talk) (Timeline)
Jump to: navigation, search

Authors

Student: Kasia Hayden, Bennington College, khayden@bennington.edu

Mentors: Peter Midford (primary), Jim Balhoff

Title

Build a Mesquite Package to view Phenex-generated Nexml files

Project Blog: Wordpress GSoC blog

Source Code: Google code

Abstract

Extend Mesquite's capabilities to represent character matrices by allowing for the addition of ontology terms produced by Phenex in the Nexml format. Mesquite currently supports the Nexml file format and by the end of this project would be able to display Phenex's files directly in Mesquite, and depending on the speed of development, would display chained ontology concepts in graphical format with the use of a library like GraphViz.


Timeline

Dates Description Completed
Week 1 (5/23 – 5/29) Investigate xml beam space parser (Dig it out of Nexml tree, figure out how it works) Yes
Week 2 (5/30 - 6/5) Validate that xml parser works with Phenoscape. Figure out how annotation panels work in Mesquite. Yes
Week 3 (6/6 - 6/12) Build a module in Mesquite (Take a tree or matrix and return the number of its fields). (1) Get my hyperlink.xml output looking the same as Rutger's. (What else to try besides adding the .properties file to classpaths.xml?) Yes
Week 4 (6/13 - 6/19) (1) Reviewing Mesquite tutorial on matrices and writing a description for how this works (both on the user side and code side) in preparation for getting a new dummy window to show up in Mesquite. (2) Use the code description to fill in Weeks 5 and 6. (3) Follow up with Peter for getting Rosil's rec on the best Phenoscape file to start with (perhaps the one used to train curators). Yes
Week 5 (6/20 - 6/26) (1) Test different Phenoscape files with Mesquite (2) Get files viewable in Mesquite that have been exported with Jim's Phenex_beta (put in new annotation format (3) Figure out what elements to pull from xml file for annotation (4) Alter footnotes in Mesquite through NexmlViewer Yes
Week 6 (6/27 - 7/3) (1) Get changes to show up in module without altering Mesquite Project code (2) Start another module OboManager, which will subclass FileInit and be responsible for pulling URIs and making a hashmap of the URIs' human-readable labels (3) Step through nexml code to figure out how/where nodes are stored and accessed to be able to pull URIs Yes
Week 7 (7/4 - 7/10) (1) Pull URIs from project from OboManager and put in a hashmap element. (2) Read in obo ontology files line by line and fill in the labels corresponding to the ids in the hashmap (3) Call hashmap from NexmlViewer to add URI human-readable label as footnote (fail gracefully: display id if can't find corresponding label) (4) Write manual for testers (5) Test manual (6) First release, user testing, collect/prioritize bug list. (7) Midterm evaluations No
Week 8 (7/11 - 7/17) (1) Check out OBO-Edit2 and Protege to get a sense of ontology editors. (Protege easier to understand so start here, but OBO-Edit more relevant, since it's what's used in Phenoscape. (2) Get Graphviz for Linux and work through the documentation. (3) Propose visual representations using Graphviz and dummy data. No
Week 9 (7/18 - 7/24) (1) Refine chosen Graphviz representation if any changes are recommended, and then integrate this design with real data set. (2) What changes might be necessary once our real data is incorporated? Issues of readability or clarity? No
Week 10 (7/25 - 7/31) Fall-overs from the previous two weeks, since not sure if I'm begin too ambitious with the scheduling. No
Week 11 (8/1 - 8/7) If finished with Graphviz, could potentially use this time to adopt more of Rutger's code that wasn't added because of the July software release. No
Week 12 (8/8 - 8/16) Finish coding, improve documentation and wiki No
Final Week (8/17 - 8/24) Write final evaluation No