No More Squares!

24 06 2008

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!

“Document Me!”

13 06 2008

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!

Summer 2008 Hippos!

5 06 2008

The two candidates for our Summer 2008 Hippo (and their votes so far)!

Hippo with Wings

Hippo with Wings: 4

Hippo with Hat & Scarf

Hippo with Hat & Scarf: 15

Still waiting for votes from: Eran, Xuan, Ming, Dmitri, Nicole, Matt, Chris, Hardeep.

Sorry if I missed anyone!

Subproject 1 – Completed!

4 06 2008

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.

Up and Running!

28 05 2008

After a few days of discussion on the cytoscape-discuss google group, I’ve finally managed to run a simple plugin in Eclipse (from a separate project) that will work with the other Cytoscape source code (Special Thanks to Piet Molenaar for the patience and assistance!). Now I can also debug plugins in Eclipse!

Now that I’ve got my programming environment correctly set up (hopefully), the next step will be to start on Subproject 1. For details on this subproject, please visit the About page.

Setting Up Eclipse

27 05 2008

In the last post, I mentioned that I was having trouble getting the Cytoscape source code to run in Eclipse because I was missing libraries. It turns out that the cytoscape.bookmarks library files are generated at runtime (this I learned from the cytoscape-discuss board). However, I was still unable to run the Cytoscape program on Eclipse. As a solution, I installed the Subclipse plugin for Eclipse which allows for subverision from within Eclipse. I created a Java Project from Subclipse, and installed Jakarta Ant (which is necessary to build Cytoscape, as mentioned in the README file that can be found in the repository), and I managed to get the source code up and running! :)

By the end of last week and Monday of this week, I started focusing on learning more about Ant. I’ve been reading:

Java Development with Ant – By Erik Hatcher and Steve Loughran

Ant – The Definitive Guide – By Steve Holzner

It turns out that Ant isn’t that hard to pick up if you know XML and Java (and Make for C and C++ projects).

Today, and for the next few days, I have and will continue to try to debug a simple plugin in Eclipse. I’ve followed the “Setting Up Eclipse For Plugin Development” tutorial, but I still have a few issues that I will have to work out before I can say I can entirely debug plugins in Eclipse.

By the way, I’ve added a “Progress” page to this blog to make tracking the progress of this project easier.

Getting Started

16 05 2008

This week is my first week working on this Cytoscape project. I’ve spent the majority of my week familiarizing myself with the Cytoscape program, and reading their Contents page to acquire a better understanding on the graph layout algorithms that it uses.

By the end of this week, I’ve started reading the source code of classes that are relevant to the plugin that I plan to program this summer. At the same time, I have attempted to try to run the source code on Eclipse. However, I have 100 errors (and yes, exactly 100) complaining about the missing cytoscape.bookmarks library. I am going to continue reading/asking on the cytoscape-discuss group, and hope to find a solution to this problem as soon as possible.