Team:UC Berkeley Tools/Notebook/Nade's Notebook
This is the notebook of Nade Sritanyaratana. I got involved in iGEM through word of my instructor. I am a 4th year undergraduate at UC Berkeley in Bioengineering with a concentration in imaging, and I hope to attend a PhD graduate program in the upcoming year. My prior research experience consists of working with bioengineering professor Steven Conolly in the summer and fall of 2007. Beyond imaging, my academic interests include biomechanics; signals and systems; circuit analysis; systems biology; and linear optimization.
Now that iGEM is over, my new role as a part of Dr. Douglas Densmore's lab is to solidify the tool, iron out any bugs, and make the Clotho Parts Manager user-customizable. My team roles during iGEM can be found here.
EDIT: As of after iGEM and the start of Spring 2009, the purpose of this notebook has now changed.
Name: Nade Sritanyaratana
Position: Team member, UC_Berkeley_Tools
Supervisor: Doug Densmore
Lab coworkers: Matthew Johnson, Anne Van Devender
Click here to access my old bio, archived iGEM logs, and my old wiki how-to.
January 8, 2009: This notebook's new purpose
For some time now, I have misplaced my iGEM (paper) notebook. I realize getting another notebook may only end up with me losing it once again. So I hereby declare that all my thoughts will go here, on my WIKI notebook.
The first thing I need to do is figure out this xml deal to give the parts manager more flexibility.
The second thing I must do it reconstruct what Anderson and Josh wanted me to do with the Parts Manager. I forgot their entire scheme with ctrl+click, shift+click, etc. I'll hold a meeting with them to do this.
That's all that comes to mind right now. Hopefully I finish the xml deal by the 15th. I'll keep posted.
January 14, 2009: Meeting with Doug. Archival. XML developments.
Short talk. Met with Doug today, back from Columbia. Has vision about plan for Spring semester with circular flow. Will talk about it on Friday with rest of team. Cleaned up my notebook; old entries are now on different page, changed up bio to better fit new semester. Now know how to write XML, validate XML documents, make a DTD, write XML documents via Java. Have to learn how to read XML via Java, which includes learning about different XML parsers. Do I sound like Rorschach? Hurmm.
I've decided. I'm going to use the SAX2 API, and the Xerces parser.
January 26, 2009: Parts Manager Plan - Prep for meeting 1 of new semester
The parts manager is an interface connection that is in charge of parts connected to a MySQL-PoBoL database. It gathers these parts and arranges them into a table by order of hierarchy. By default, this hierarchy is defined as: 1. Biobrick, 2. DNA, 3. Sample.
The flow for the Parts manager is as follows:
1. grab parts from database, including collections data
2. Dialog box pops up, asking if parts manager should be populated or empty (sidenote, there will be a "Remember this option" checkbox, so this box need not open every time)
3. Parts manager opens
3A. At this time, the user can optionally repopulate the parts manager table via a plug in. The plug in will tell the parts manager HOW to populate the table, i.e. how the hierarchy and columns should be organized. The user can define this order via an XML document.
3B. User can open up collections window to open up their own collection.
4. User will create a part. There is fortunately already some support I've built for this, but I need to debug it some.
4A. At this time, the user can create compound parts and define rules for compound part creation via a plug in.
5. Save back to DB
6. Close PM
The following work must be done to complete this workflow:
1. Dialog box for populated or empty PM, uses preferences for that checkbox
2. Parts repopulation Plug in. This requires a few substeps:
2a. Develop XML schema/DTD that defines the rules needed for a PM repop
2b. Write XML document for defaulted pop
2c. Cater the parser to correctly read Parts Manager XML documents. Will use SAX2 for API, and Xerces for parser.
2d. Create plug in that holds all this stuff. Will definitely need some help here.
3. Collection window. I already had a quickly hacked version of this for iGEM but I never got to complete it all the way. I'll just build on that.
4. Debugging of part creation
5. Saving back to Database
6. Compound parts plug-in. I have no idea how to start here, so I'm hoping to meet with Josh and Chris when I get to this.
February 2, 2009: Code update
- Thursday: Met with Roger, worked with plug-ins. Need to talk to Brian about XML DTDs.
- Sunday: Plug-in extension point for parts manager created. Enum for PM plug-in type created.
- Monday: Parts Manager can now open empty PM (vs prepopulated). ClothoHelpConnection can now support html. Search fixed. However search still does not work with html help documents. Has something to do with how JTextPane.getDocument() doesn't carry over line breaks(br tag) from html.
February 7, 2009: ToDo: Reorganizing Parts Manager
To create a plug-in customized displayable element for the Parts Manager, I need to do the following in the short term:
- Isolate RenderData and TreeModel/RowModel private classes in the frame class to public classes RENAMED DefaultRenderData and DefaultTreeModel/DefaultRowModel classes, with interfaces RenderData and TreeModel/RowModel so that plug-ins can use them.
- Make gui selectable item for choosing analyzers. This'd better be quick.
- Meet with Brian and design schema for Parts Manager.
February 9, 2009: ToDo: Requests from Clotho meeting
- Empty PM doesn't add parts right CHECK
- ClothoHelp: Highlighting (low priority).
- Find function should search for circular in sequenceview
- I should not be working on the plug-ins myself. Work with Roger. CHECK
- Make a "hello world" plug in
- ClothoHelp: Next/Previous should NOT browse through articles.
- Vector/Part sorted incorrectly in PM
- Triggering PM should open one dialog box asking for Empty or CHOOSE COLLECTION DROPDOWN (not fully prepopulated.)
- We are "voting" on separate Parts Managers. Matt thinks it should be one PM. Possibly tabs? Aesthetics.
- Delete TestPlugin from src code. Ask Doug to take it out of repository. (whoops)
February 18, 2009: Meeting with Roger
Met with Roger today. We decided on the following ToDo list with a 4 week window (til March 20th).
- XML format
- Parsing/defining schema
- Define configuration
- Fixing PM Frame
- Start grabbing fields by ROW
- Parser frame start
- GUI XML document chooser - collab
- Connection <--> XML document communication