Monday, July 18, 2011

The Midterm: On a philosophical note

I have reached a point in my project which is officially called as midterm evaluation of the project. The mentors seem to be as much as satisfied with my work as I have been.

Here is what has gone by in the project. The first and foremost step towards this construction was to capture the data in a kind of abstract entity. And this abstract entity was a Phylogeny.
The Phylogeny has been modeled as a Java class. Perhaps one of the boons of the object oriented design principle. Now the data which was to be used in the construction of such a phylogeny comes from various sources in a diverse formats. So it became customary to design a UniversalReaders for both the spatial and tree data files and then further unify both into a GrandUnifiedReader which would read everything and construct a Phylogeny out of it.
It could happen and it does happen that not all the data finds a spot in the design of the Phylogeny class in the forester library so a kind of containers or External moulds called "PhlyogenyMould" were associated with each entity capable of storing information.

So far so good. The next task ventured into the bio-geographical reconstruction of the tree or the processing and validation of the tree. After all we only know the position of the species that exist today. The interior hypothetical taxa need somehow be assigned their coordinates.
The method employed here was a simple one namely; taking the mean, (would be later changed to weighted mean for trees with time ratios given) with due consideration of taking the mean position that offers a minimum distance of migration from the child nodes.
This method however does present some weird patterns and can be further improved at the expense of computational cycles needed to complete the reconstruction. Indeed a scope for further improvement.

All the data has been abstractly embedded into a Phylogeny. Now in the visualization portion comes the part of something visually pleasing to the eyes, the drawing of the tree as a kml.
There are many kml features that I employed that lead to better visualization. Separating clades via colors, adding level of detail feature via regions, tessellating the lines even at an altitude above the earth. etc.

All this has begun to give a tangible form to the original idea from where the project began.
As far as my personal opinion is concerned the major portion of the project is over and I only need to polish things up. Patch a few undone things here and there. And then go on to incrementally improve it as much as time permits.

Perhaps of the most elusive incorporation's that can be done in this project are the animations but I don't know exactly how and where can they be placed to create the magic effect.