Saturday, May 28, 2011

Support for NeXML



Let me tell you what the problem is?
I can always add extra columns in the csv file and add this information to the kml. So far so good, but if now support for NeXML has to be provided, I should know the exact format of the NeXML data. It is important to note that both the csv file and the nwk file have to replaced by a single NeXML file. From the NeXML Manual page I got to know how a basic nwk file will be represented in NeXML format. I used the online converter from newick->nexml which can be found here. nexml.org.

Meanwhile, I have received my welcome package from google but there's some mistake in my name on the card. So bit of extra work here. :P


Sunday, May 22, 2011

Biology


What are cladograms?
Wikipedia is always the best friend for venturing in a totally unknown field. Cladogram. A cladogram is a diagram used in cladistics which shows ancestral relations between organisms. You can get them if you look for them carefully on wikipedia. I have got some I don't remember where I collected them from.

Here is a page on Phylogenetic trees which I had already looked at while preparing my proposal.

There is this another thing called the phyloXML format. There is a lot of work done on it. There is a sample phyloXML file taken from the same place.


What's a clade? A clade is grouping of an organism and all its descendants.

GeoPhylo Engine is actually something very similar to what I am building. It is different in the sense that it takes a PhyloXML file and not an NeXML file to generate the kml tree.




Saturday, May 21, 2011

Resources

I went through the following tutorials in the last few days. The project is still forked from the last year's repository. I will call this copy as v1.0 aka the starting point of my project.
Here is some good information of .nwk files.


Please don't overlook the See Also and References on the bottom of the page. They also have pretty good material. There is also an example of a large phylogram with its Newick format representation.

As far as the kml is concerned. Here is what I went through. The kml is actually quite easy to learn. Now I have to focus on how can JAK be used to create kml's with the various kind of rich features that kml supports



Sunday, May 15, 2011

First Run & Cleanup

First Run:

I have been successful in getting the project to run. The program accepts command line arguments so you can either enter the filenames as a command line parameter or temporarily hard code the name of the files in the testMain.java
On a windows platform you need to specify the paths as follows.


String intreeFile = "src\\testTree.nwk";
String coordFile = "src\\testCoords.csv";
String metadata = "n";

If you wish to use the metadata file, you will to specify "y" in metadata and use the file testCoordsMeta.csv
When you run the program after this, a kml file testfile.kml is generated.



Cleanup of the folder:


So finally I cleaned up the project folder. The following are the exact changes that I did. I will call this version 1.0 aka the starting point for my project.


  1. cd phyloGeoRef
  2. git rm -r .metadata (This will remove the metadata folder from version control)
  3. Now you can safely delete this folder.
  4. Modify the README, with the new instructions.
  5. git add . (This will stage all changes)
  6. Initially I was trying to add the extra packages as separater jars. But now I think that it is a good idea to include the relevant packages in the library itself so that the end user has minimum overhead of downloading extra jars. The jars required have been mentioned along with the sources in the README.
  7. cd phyloGeoRef (This is actually the netbeans project folder)
  8. git rm -r .settings/ (Deletes the .settings folder)
  9. git rm -r bin/        (Deleted the bin folder)
  10. cd src/
  11. git rm -r jak/        (This folder is not needed because we'll be including the JavaAPIforKml.jar)
  12. git rm -r javapaiforkml
  13. git rm -r NeXML/         (Will add the relevant packages instead of the whole folder)
  14. git rm -r opencsv-2.2/   ( "" )
  15. Now copy the following folders in src
  16. Copy the nexml folder to src/org (This package will provide support for nexml parsing)
  17. And copy folder au to src/ (This package will provide support for opencsv parsing)
  18. git add . (Stage the changes)
  19. git commit -m "first commit of the cleaned up folder"  (Do the first commit.)
  20. git tag -a v1.0 -m 'This is the version 1.0"
  21. Then push the changes to the github repo.

Now the folder looks a bit more clean. And it's still forked from the last year's project. So a bit of relief for me now !!!

Saturday, May 7, 2011

Hello World phyloGeoRef


Hi all,
I am an undergraduate Computer Science student at IIT Ropar - India.
So this was the beginning of my GSoC project "phyloGeoRef". Before coding formally I had to get acquainted with github. My mentor had sent me a couple of good links to get going with github easily. Here are they.


Forked the original repository, cloned it to my local machine and had a working copy of the project ready. There were some dependency problems which still held me back from running the project.