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

From Phyloinformatics
Revision as of 12:47, 3 August 2009 by Kasiahayden (talk) (Timeline)
Jump to: navigation, search


Student: Kasia Hayden, Bennington College,

Mentors: Peter Midford (primary), Jim Balhoff


Build a Mesquite Package to view Phenex-generated Nexml files

Project Blog: Wordpress GSoC blog

Source Code: Google code


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.


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) Midterm evaluations Yes
Week 8 (7/11 - 7/17) (1) Write manual for testers (2) Test manual (3) First release, user testing, collect/prioritize bug list. (4) Work through bugs as they come up. Yes
Week 9 (7/18 - 7/24) (1) Continue testing with a student tester, as she was tied up for most of last week, so testing was between my mentor and I

(2) 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. (3) Get Graphviz for Linux and work through the documentation. || Yes

Week 10 (7/25 - 7/31) (1) Finish with testing. (2) Get Grappa (Java graph drawing package) working in Eclipse (3) Work on getting a Graphviz window opening and displaying a dummy graph when a cell is clicked on. Yes
Week 11 (8/1 - 8/7) (1) Finish getting a window opening and displaying a Grappa graph. (Make graph a component and add it to window. Then replace dummy graph with graph generated based on the cell clicked.) (2) Get feedback on how the graph looks and make any recommended changes/tweaks. (3) Write unit tests. No
Week 12 (8/8 - 8/16) Finish coding, improve documentation and wiki No
Final Week (8/17 - 8/24) Write final evaluation No