At the end of last week the NESCent SoCoders all met up in Durham, NC for a wrap up conference. It was really neat to see what others had been doing all summer long. The diversity of projects was to be expected, though there were some common threads between us.
One message that was hammered home to me was the need for file standards in evolutionary biology. The amount of time spent massaging your data into different formats to interface with interesting programs is many times prohibitive to actually using the programs. I was struck by all the development going on with NEXUS (ex: Nexplorer, NEXML, and libraries for NEXUS) in particular, and I feel like I need to jump on this bandwagon too! I was quick to realize that I'm part of the problem in that PhyloGeoViz currently doesn't accept NEXUS (or anything else for that matter besides my own special format). Well, being able to work with NEXUS files is now on the top of my list of priorities.
Another common theme of the meeting was the visualization of tree data. Multiple projects were coming at this problem using different languages and in different contexts.
A great meeting! I had a lot of fun hearing other students' and mentors' experiences. Hope to run into you again soon!
Showing posts with label thoughts. Show all posts
Showing posts with label thoughts. Show all posts
Monday, August 20, 2007
Monday, June 18, 2007
Meeting with David -- design doc changes
Met with David this week to go over my design document. Generally the comments were good, and we mostly talked about adding some features and how to pass data from page to page. Here are some notes and thoughts from the meeting:
Features to add:
From this meeting, it became clear what my next step should be: to build a skeleton application. The goals are to
Features to add:
- I should add a feature on the 'manage data' page to group haplotypes together.
- On the preview page there should be an expand option to make the preview map pane larger.
- Instead of having a special .pgv format for my application, can we fit everything within a .kml that our viewer can read as well?
- The next big design decision is how to pass the data from page to page. We have several options:
- All through form variables?
- By using a database server?
- By writing and accessing our own output files?
- What kind of data structure should be used to hold the data?
From this meeting, it became clear what my next step should be: to build a skeleton application. The goals are to
- be able to display pies on a map
- to link (and be able to pass data) from the input page to the display page.
Sunday, June 10, 2007
Overall flow chart for the application

In words:
The user starts by inputting their data. There are three options for data input. After the data has been input, we validate that the data is appropriate and interpretable. If not, we send an error message to the user, and ask them to resubmit their data. If the data input is successful, we display the data back to the user and allow the user to include/exclude any populations and/or haplotypes. Following data management, the user is taken to the preview visualization page. Here a google map is displayed showing a visualization of the data. There are various map and view options here that update the page. The user can also return to the data management screen and edit previous choices. Finally, the visualization can be exported in four formats.
Friday, May 18, 2007
Exploring PHP
I finished working through the simple PHP tutorial today. It was pretty helpful. Here are my notes:
Hint: "It's not working!?! Why?!?"
Hint: "It's not working!?! Why?!?"
- Check: Is Apache turned on? duh...
- <?php to start a php tag
- ?> to end the tag
- Use the tag within an html file to jump in and out of php.
- Can jump in and out of php/html within a php block even.
- Variables always start with a '$'.
- Can see all reserved variables through phpinfo().
- Variables can be pretty much the same types (bool, int, string, etc.) that they could be in C++, but you don't need to declare them that way. Also some mixed types and type casting is allowed.
- strpos($haystack, 'needle'); //finds the string needle within the variable haystack. Returns the position, or FALSE.
- int count (mixed $var [, int $mode] ); //Returns the number of elements in var, which is typically an array, since anything else will have one element.
- PHP can access html form info easily. See tutorial for help.
- It seems like you can use php alone as well, without html surrounding it. Is that true?
- For instance, <?php phpinfo(); ?> works fine in its own file.
- What is "Model View Controller"? It sounds like a way of organizing your code to make it more readable and understandable.
- The PHP manual is pretty helpful and has a lot of examples and documentation for functions, global variables, etc. I'm impressed with how easy it is to understand.
Sunday, May 13, 2007
Researching KML
So I'm on google earth's KML tutorial page. Some highlights and considerations:
Google Earth (GE) can draw some pretty cool polygons and such. However, the edges of these polygons are defined directly by lat/longs. I'm not sure how this will play into generating these coordinates per population as appropriate to the data. The pies would be defined by multiple points, not points all connected to some central point, so centering, etc may be tricky.
GE's KML seems pretty similar to html markup styles. I don't think it'll be too hard to learn. It looks like you can define global styles (<style id="">) that you then can call appropriately.
You can link to stuff on the network as well. Check out "Network Links" in the future. You can link to static stuff (images, another kml file, etc.), but you can link to dynamically generated stuff too. For instance, you can connect to a cgi script. Also, you can send info about the current use (page view, what's highlighted, etc.), then use that info to generate some new kml, then feed that back to the user's GE. This could be a way to incorporate user feedback into the system. But it sounds like it could be tricky.
Another trick: to add html markups, use the CDATA element. Example, add:
...all usual html coded stuff here...
]]>
Otherwise, you'll have to escape all the < and >.
Google Earth (GE) can draw some pretty cool polygons and such. However, the edges of these polygons are defined directly by lat/longs. I'm not sure how this will play into generating these coordinates per population as appropriate to the data. The pies would be defined by multiple points, not points all connected to some central point, so centering, etc may be tricky.
GE's KML seems pretty similar to html markup styles. I don't think it'll be too hard to learn. It looks like you can define global styles (<style id="">) that you then can call appropriately.
You can link to stuff on the network as well. Check out "Network Links" in the future. You can link to static stuff (images, another kml file, etc.), but you can link to dynamically generated stuff too. For instance, you can connect to a cgi script. Also, you can send info about the current use (page view, what's highlighted, etc.), then use that info to generate some new kml, then feed that back to the user's GE. This could be a way to incorporate user feedback into the system. But it sounds like it could be tricky.
Another trick: to add html markups, use the CDATA element. Example, add:
...all usual html coded stuff here...
]]>
Otherwise, you'll have to escape all the < and >.
Knowles recent paper
David sent me this recent paper from the Knowles camp that has some nice graphics associated with it. Judging from the pie chart designs, it looks like the graphics were created in Illustrator.
Monday, May 7, 2007
Google Earth Workshop - from CIT
Run by Andrea Novicki through the Center for Instructional Technology.
Interesting, inspiring workshop. Went over how to create placemarks, what polygon, paths, overlays are. Basically did a tour of the general functionality of Google Earth. Interesting features I didn't know about:
can do 3D polygons
can have timelines, show changes over time
can implement tours
has a "ruler" to measure distances along paths, etc
Most important new thing: can share maps through the google earth community. Lots of neat maps already available, you can share your work easily.
Interesting, inspiring workshop. Went over how to create placemarks, what polygon, paths, overlays are. Basically did a tour of the general functionality of Google Earth. Interesting features I didn't know about:
can do 3D polygons
can have timelines, show changes over time
can implement tours
has a "ruler" to measure distances along paths, etc
Most important new thing: can share maps through the google earth community. Lots of neat maps already available, you can share your work easily.
Subscribe to:
Posts (Atom)