Team:Berkeley Software/JoannaNotebook
From 2009.igem.org
Back to Berkeley Software notebook index
Joanna's iGEM 2009 Notebook
Hi there, my name is Joanna Chen. Welcome to my notebook for iGEM 2009. I am on the UC Berkeley Computational Tools team. This summer we will be working on improving and adding to Clotho, a tool last year's team started making. I'm excited to be working on this project, and hope the team will have plenty to show by the end of iGEM. When school starts in the fall, I will be a senior majoring in Bioengineering at UC Berkeley.
Contents |
Week of June 1, 2009
Monday was the first day of iGEM. We met as a team at 9am. Then, we went to a lab safety training, so we can go into the wet lab to work with the Berkeley experimental iGEM team when necessary. Following that, we had a pizza lunch with (almost) everyone at Berkeley involved with iGEM this summer. There, the computational and wetlab teams got to meet each other and hear both team leaders talk briefly about plans for the upcoming weeks. In the afternoon, Doug gave the computational team a brief overview of EDA (Electronic Design Automation) - his area of research - before showing us two webpages about Clotho and having each of us get an account on Bugzilla, the bug tracking tool we will be using. He then gave an overview of projects we could work on this summer to improve Clotho. We ended the day by setting up CVS with Netbeans so we could download the current source code for Clotho.
Tuesday morning, we had a long team meeting where Doug introduced us to editing this wiki, gave us a Clotho tutorial, and briefly discussed the Ptolemy coding standards which we will be using. Doug also assigned each of us a Clotho help file or two to be in charge of and edit by the end of the week. Mine was the Features Library. I spent the afternoon playing with Clotho, finding bugs in Clotho, and improving the help file.
Wednesday Doug gave us a tutorial on the Clotho Data Model. Later, I had my meeting with Doug to talk about my project area for the summer. I will be working on Visualization with Richard. We also decided my short term project would be to make a plugin with drag and drop functionality for icons (more on these shortly). Afterward, I spent a little more time playing with Clotho and looking for bugs.
Project description: Visualization
3 Areas we could work on:
- Design
- Several levels of abstraction, from DNA sequence to icons of features (which ideally can be dragged and dropped in the window) to parts and even systems(??)
- Data Management
- Be able to visually represent the relationships between data
- Simulation
Some existing visualization tools to look at:
Tool | Location | Area |
[http://gcat.davidson.edu/VizABrick/ Viz-a-brick] | Davidson | Data Management |
[http://web.mit.edu/jagoler/www/biojade/ BioJADE] | MIT | Design |
[http://www.tinkercell.com/Home TinkerCell] | UW | Simulation/Design |
GeneDesigner | DNA 2.0 | Design |
[http://www.genocad.org/genocad/ GenoCAD] | VA Tech | Design |
[http://endy.openwetware.org/Notebook/BioBrick_Open_Graphical_Language.html BOGL] | OpenWetWare | Icons |
Short-Term Task - 1st Plugin: Drag and Drop Icons
- Create a new plugin in Views menu of Clotho's Main Toolbar
- Have some icons and some connectors
- Allow user to drag icons around and connect them
- Talk to Richard about plugins
- First assess what is already available with regard to Java and GUIs
- [http://platform.netbeans.org/tutorials/nbm-visual_library.html NetBeans Visual Library]?
- Take a look at BioJADE and ProMoT source code
Thursday
- More playing with Clotho and bug-finding, including testing the Parts Manager by adding random (and malformed) information for parts
- Committed the changes I made in the Features Library help file
- Looked into BioJADE (haven't found much that was useful)
- Group meeting
- Decided on meeting times for each of the project areas
- Everyone reported the bugs they found to Doug
Friday
- Adding more content to this page
- Followed the [http://platform.netbeans.org/tutorials/nbm-visual_library.html NetBeans Visual Library tutorial] to learn the basics about the NetBeans Visual Library API and to create a NetBeans module with drag and drop functionality
Week of June 8, 2009
Monday
- Group meeting in the morning
- Project area presentations next week, 10-15 minutes long
- Visualization is on Monday 6/15
- Tried to do something similar to Friday's NetBeans module exercise in a JFrame in a Java Application
- Not as easy at it sounds, didn't get it to work yet
- Tried to run BioJADE to reference what they did (maybe easier alternative??)
- Not working either
- Clotho Plugin Tutorial by Doug and Richard
Tuesday
- Still messing around with BioJADE, still not working
- Checked Clotho Features Library again, closed bugs are indeed gone
- Set up the framework for my plugin
Wednesday
- Went back to modifying the NetBeans module exercise to try to get it to work as a Java plugin to Clotho
- Possibly just need to copy org-netbeans-api-visual.jar into the library
- Need more work here
- Early this afternoon, the campus wireless internet stopped working and I couldn't reconnect... annoying...
- Movie social tonight with the team, we watched Goonies
Thursday
- Still trying to get NetBeans module exercise to work as a Java plugin to Clotho
- Visualization meeting with Doug and Richard
- Still not much luck getting any drag and drop things to work
- Things to look into:
- Me:
- Dig through BioJADE source to see what they did -> hard to pinpoint the useful pieces
- AWT canvas (in Java) -> nope, it's just a rectangular area to paint stuff on
- Icons in Swing -> maybe: icons can be inserted into labels, labels can be moved by writing handling code for mouse actions, labels not moving as I want them to though, also seems like it would be tedious to write an entire GUI this way
- Richard:
- Jython Tk
- JavaFX -> might work
- QT with Java
- Me:
- Group meeting
Friday
- Trying some more things with moving icons in labels
- Using JavaFX in Java demo that Richard found online runs successfully
- Trying to modify to work as a Clotho plugin to see if we would be able to use JavaFX with Clotho
- Not successful yet, Richard and I are still trying to track down the source of the problem(s)
- Some key piece may be missing or somehow Clotho can't access it
Sunday
- Prepare slides for visualization presentation with Richard
- Useful link: http://syntheticbiology.org/Abstraction_hierarchy.html
Week of June 15, 2009
Monday
- Group meeting - presentations from Data Model, Plug-ins, and Visualization (Richard and me!)
- Richard discovered there was a new Substance.jar library (for the skins) that might possibly work with JavaFX
- We spent the afternoon trying to get Clotho to work with the new Substance.jar
- Got Clotho working
- But JavaFX plugin still crashes Clotho
Tuesday
- Did some searching for other toolkits for making drag and drop GUI's in Java
- Turned up an example of a drag and drop GUI made with Java AWT at http://www.java2s.com/Code/Java/Swing-JFC/Draganddrop.htm
- Drag and drop GUI definitely doable in Java AWT, but cumbersome
- We (Doug, Richard, and I) decided at the end of the day that we would just make the visualization piece as a standalone using JavaFX and somehow connect it to Clotho
Wednesday
- Learning JavaFX
- GUI applications with JavaFX tutorial: http://java.sun.com/javafx/1/tutorials/ui/
- Got an icon to drag and drop
- Designing the layout of our visualization piece
Thursday
- Visualization meeting
- Concluded that connecting a JavaFX piece to Clotho would be more troublesome that it is worth
- Richard discovered that the NetBeans Visual Library API could be used outside of a NetBeans Module
- Concluded that would be the best way to go, keeps the visualization piece as a Clotho plugin
- Things to work on
- Thumbnail drag (me)
- Grid scheme (Richard)
- Listeners (for mouse events)
- Object to picture relationships
- Visual library as plugin to Clotho
- Group meeting - presentations from Language, Robot, and Kepler
Thursday & Friday
- Working on drag and drop from a thumnail to a workspace
- Reference code from [http://platform.netbeans.org/tutorials/nbm-visual_library.html NetBeans Visual Library tutorial] and [http://bluemarine.tidalwave.it/ BlueMarine]
Back to Berkeley Software notebook index