Team:Berkeley Software/ThienNotebook/Notes

From 2009.igem.org

Revision as of 02:09, 22 June 2009 by Thien.nguyen (Talk | contribs)

This is my iGEM work journal. I will update this a few times per week

Back to Thien's Notebook


Contents

Week 1

Tasks for this week:
. Make this wiki, add introduction and wacky nice pictures!
. Learn about Clotho, fix help files and find bugs
. Plan our main projects and short-term tasks
. Adding the oligos design tool as a Clotho plug in
. Play with Kepler, try creating simple workflow to read from our database and draw some diagram
. Have fun working

June 2nd 2009

Second day of iGEM! We have a short tutorial for Clotho and coding styles, then we start working on our subprojects.

June 3rd 2009

We went over the data model of Clotho today. I worked on the oligos design tool, as I already wrote a small tool to make construction file for the iGEM application, and Christ Anderson also wrote his oligos design tool. After discussing with Christ & Doug, we decided to leave the oligos plug in for now, and I concentrate on getting familiar with Kepler and finish other tasks of this week.

June 4th 2009

I play with Kepler without success, the database connection actor somehow didn't work for me. I'm still confused about the director & actor relationship in Kepler. I'm also fixing the help file on Clotho Part Navigator, and try to find bugs.

June 5th 2009

We decided to still add oligos design tool as a plug-in to Clotho, so I will learn how to make a Clotho plug-in. Next week I will learn and "take over" the Clotho's Part Manager from Nade. For today I will read about Clotho plug-in and connect Christ's oligo design tool. This tool already provides output as multiple construction files, assembly file for the robot and other files, so it can stand on it own. Ideally, it really improve as a plug-in for Clotho if we can connect the tool to the database connection, and use the tool's output to add new parts to the database. However, what we concern now is the way Clotho handle temporary information and features, since the current datamodel may not fully support what we need, and the implementation of the tool is not very modular also. At least Clotho will only launch the tool like Notepad plug-in and the tool run separately. --Thien.nguyen 19:26, 5 June 2009 (UTC)

Week 2

Task for this week
. Learn and manage Cotho's Part Manager, including improving the helper file
. Finish making the oligos design plugin
. Write basic Kepler actors
. Have fun working

June 8th

I learn the details of Clotho's Part Manager from Nade, since I will take over the role of managing this part of Clotho from him. This also helps me understand more about Clotho's inner structure. I will improve the Part Manager's help file this week, along with finishing the oligos design plug in.

June 9th

We have the Ptolemy lunch today with the CHESS research group, and I attend a design/code review of Ptolemy actors. I'm looking into the code of available Kepler actors this week and try to write some basic ones.--Thien.nguyen 23:21, 9 June 2009 (UTC)

June 10th

For Clotho, I made the new Part Manager help file, along with adding Anderson's oligos design tool as a plug-in. Right now, this tool only get launched by Clotho and operate seperately but ideally it should connect with Sequence View more so we don't need to copy&paste often, and after we make new part it could save the part to the database. Currently Oligo Design return some files in the working folder, but later it should have some user's options about output. I will spend rest of the day with Kepler.--Thien.nguyen 23:07, 10 June 2009 (UTC)

June 12th

Finally, get database connection actor to work. Installed jdbc driver (copy the .jar file to the JRE lib folder and hardcode the name to the environmental var CLASSPATH) and enter the URL of the database. Now I can make simple workflow that read from our part database and do some calculations & view. I still cannot built & run Kepler with ant, so HelloWorld actor doesn't work also.--Thien.nguyen 03:42, 13 June 2009 (UTC)

Week 3

Task for this week
Write Kepler's actors
Have fun working

June 16th

Yes, the Hello World actor finally works.--Thien.nguyen 20:21, 16 June 2009 (UTC)

June 18th

I had my first workflow presentation: Kepler intro
We talked about the role of Kepler in future Clotho's development. Kepler workflows are powerful in designing and sharing computational process, so having Kepler actors that connect to Clotho can increase Clotho's productivity.

We also discussed about the line between Kepler actors and Clotho plug-in, since there are operations that we can either code as part of Clotho, or Kepler actors that separate from Clotho. I have some sample workflows from Christ that relevant to the wetlab needs.

June 20th

After long hours of looping through Googling-fix bugs-new bugs-tea, I can implementing a Java RMI Client actor in Kepler, that when firing send input & get output from my Java server program. I was debating between using Java RMI or implementing in a lower level with Sockets, so I'm trying RMI first with simple scenarios. For basic methods, Java RMI works fine in Kepler actor classes, I hope it's ok when talking with Clotho. Tomorrow we gonna brainstorm the new Clotho plug-in interface, which will include the network interface and running RMI server. Live from DOP Center, it's Saturday niiiiight...--Thien.nguyen 02:12, 21 June 2009 (UTC)

June 21th

Yes, Sunday in Cory Hall...I have some further reading about the current version of Java RMI in Java 6. To set up the server-client, we need an interface that extends from java.rmi.remote, using in both server&client programs. A *simple* way I'm doing now is code the interface in my plug in package in Clotho, then I use jar command line to generate a jar file that have packagename.interfacename class file. I copy this jar file to the lib folder of my kepler actor and do an "include packagename.*;" in my actor code, so it can use this interface as well. An improvement from previous version of RMI is that I don't need to pregenerate stub file of my server implementation anymore, and it will be downloaded from my server in runtime, so if I don't change my interface, I can modify my Clotho server and not recopy to kepler source.
I made a simple server Clotho plug-in to use with my simple Kepler actor-client, and it seems to work well. The next step will be coding the remote methods so it can call Clotho tools, and I have the 1st version of Clotho-connection actor. It feel so good to see "Hello from Clotho" popped up in Kepler display after this whole weekend.
Some other serious research topics: the rate of Oreos & berries consumption here. Current it is almost one package per day. --Thien.nguyen 02:09, 22 June 2009 (UTC)