PhyloSoC:Build a Mesquite Package to view Phenex-generated Nexml files
For the guaranteed latest version, visit this project's Google code page.
Setup instructions are viewable on the wiki section of the same site.
Student: Kasia Hayden, Bennington College, email@example.com
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.
|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) Generate Grappa graph based on the cell clicked.||Yes|
|Week 12 (8/8 - 8/16)||(1) Get feedback on how the graph looks and make any recommended changes/tweaks. (2) Write unit tests. (3) Clean up code, improve documentation and wiki||Yes|
|Final Week (8/17 - 8/24)||Write final evaluation||Yes|
Finished Product Screenshots
Finally, here are some screenshots of steps through the finished product.
First you open a NeXML file and select the NeXML interpreter:
It is possible to zoom in or out of the graph by right-clicking or Ctrl-clicking on the graph.