As of the beginning of last week, my second plugin was capable of repositioning the labels of nodes. However, thereafter, whenever I introduced a new node or new edges to the graph, all the labels will move back to their original position. After speaking with my mentors, Gary suggested that I look up the bypass methods and bypass the VizMapper once I’ve changed the positions of my labels.
So for the latter half of last week and yesterday, I continued wrestling with the Cytoscape source code. I’ve found a few ways of repositioning labels, but everytime I tested my plugin, instead of repositioning the labels, the code turned the circle nodes into squares.
Thankfully, I found an old post made by Mike Smoot on the cytoscape-discuss group. With the help of this post, my plugin can finally relocate the labels of nodes and make them stay there!
Throughout this summer, Greg has encouraged us to blog about our progress and solutions to problems we’ve encountered. One important reasons behind this idea is to save others some time if they happen to encounter the same problem. I certainly hope that others will not have to go through all the trouble I did to change the visual properties of nodes and edges.
Now, I can finally start learning some graph drawing algorithms and hopefully work my way towards a layout algorithm for my actual label plugin!
This week, I’ve spent the majority of my time going through the source code that is needed in order for me to proceed with my second plugin. Unfortunately, most of these classes had very little, if any, documentation. So I’ve spent most of my week going through them and figuring out what exactly each method did.
It wasn’t until last week that I realized how the Cytoscape community would most definitely benefit from the documentation that I could add to the source code! Thanks to Greg (my mentor) who actually pointed that out. So instead of simply going through each class and jotting down what each class does and how it would be useful to me, I started taking the code apart myself and adding documentation (Javadoc) to it.
This week I also managed to get svn access to the Cytoscape repository, with the help of Mike Smoot who kindly helped me create an account. Also, if anyone else was wondering how to access the Cytoscape repository, there’s some instructions here. By the end of today, I should have most of the source code that I’ve worked on so far committed to the Cytoscape repository.
As for my second subtask, I’ve written the layout/template of the plugin. So what’s left is to fill in the plugin to make it do what it is supposed to do. However, I spent most of yesterday trying to figuring out what was wrong with my Eclipse configuration when my second plugin wouldn’t run with the other Cytoscape code. It turns out that the svn project I created through Subclipse in Eclipse was in Java 6. And I haven’t found a way to change the JRE version of svn projects in Eclipse yet. The JRE version can be changed in Java Projects in Eclipse, but I don’t see that option available for svn projects. So I’ve made my plugins compile using Java 5, but run in JRE 6. But since it is only the Cytoscape project that is using Java 6 at the moment, I don’t think this will be problematic since all the Cytoscape code was built in Java 5. Others that will be using the plugin will still be able to compile and run everything in Java 5.
Lastly, just a list of the upcoming events that I will be attending in the next few months:
- June 19th – Greg’s “Beautiful Code” talk at Jonah
- July 15th – DemoCamp Toronto!
- July 16th to July 18th – Cytoscape Retreat 2008 in Toronto
- August 4th to August 8th – Agile Conference (Volunteering)
By the way, just a follow up on my last post, it looks like the hippo with the hat and the scarf wins!
The two candidates for our Summer 2008 Hippo (and their votes so far)!
Hippo with Wings: 4
Hippo with Hat & Scarf: 15
Still waiting for votes from: Eran, Xuan, Ming, Dmitri, Nicole, Matt, Chris, Hardeep.
Sorry if I missed anyone!
As the title of this post suggests, I’ve completed my first subproject (Grid Layout). I found a few bugs today, but I’ve managed to fix them. :)
It has taken me some time to navigate through all the classes in the Cytoscape project that was needed for my layout algorithm. However, through this subproject, I’ve definitely gained a better understanding of the Cytoscape source code, and I’ve acquired greater control over it as well! Most importantly, this subproject has gave me a heads up as to what I should be expecting when I start my Label Layout plugin project.
For the rest of this week, I will continue testing my Grid Layout Subproject and I will also be starting my second subproject. Please see the About page for more detail on this second subproject.