Team:Berkeley Software/ThienNotebook/Notes

'''This is my iGEM work journal. I will update this often'''

Back to Thien's Notebook

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. day. --Thien.nguyen 02:09, 22 June 2009 (UTC)

Week 4
We decided that I will spend time working on the new Clotho Core and making some functional API for Clotho sothat Clotho can communicate with Kepler.

Week 5
I continue to work on the new Clotho Core. With the new Clotho, there will be only one collection of plug-ins/tools derived from ClothoTool class. We will use the PluginManager to instantiate all the tools at run time, so everything will be a plug in in the new Clotho. We plan to have a simple working core by next Monday. I also talk with the wet team and we have some workflows, which non-Clotho actors. We look at BioJava with is a large computational package for bio, we will design some use for this package in the future.

Week 6
We have a basic working Core now, using PluginManager to instantiate ClothoTools packages at runtime. I made the new Notepad and simple Kepler RMI connection. Here is the overall picture of the new Clotho:

I also made some Kepler actors for changing spreadsheets. By this week I will have Google Spreadsheet connection and Excel file readers. I hope to make short workflows for wetlab spreadsheets.

Friday
We have a day at Stanford discussion and seminar.

Week 7
I partner up with Nina to make a Kepler workflow from her assembly automation plug-in. There will be RMI actors that connect to Clotho asembly manager to get the inital data, then some computational actors that produce the result files. And actor opening GUI user option. Didn't see it in Kepler. Why.

Week 8
Goal for this week Make the workflow for Nina assembly automation Have fun at the synthetic bio BBQ Have fun working

Tuesday July 28th
I made the first GUI actor that implement my approach to workflows: two ways of runtime user input. A user can put choices as parameters for the workflow before it run. If the user doesn't know what options to choose, run the workflow and there will be dialogs pop up and ask for options, along with displaying more information about the options so the user can choose.

Friday July 31th
Last day of July!!! Two months already passed, and my productive summer almost over. There is only almost a a month left. We say goodbye to Leisa today, she did awesome work and a great member of our group. I haven't finish the workflow yet, hopefully by next week I will have a working beta flow. We met with JBEI people yesterday, and we are interested in solving some of their current problems. We plan to analyze past sequencing and tracing files.

Friday August 7th
We met with Tim from JBEI yesterday and have a details project plan. My subproject will be writing tool for multiple sequencing with trace file analysis: +Build and save statistics from trace files ...Analyze each trace files for segments with low quality values, come up with an accurate estimation for the length of the segments. ...This statistics data will depend on some parameters: trace length, sequence length, DNA purity, GC content, sequencing company, and more +Use this data to help choosing the overlapping when designing multiple sequencing on one plasmid. Instead of sequencing one time and use result to determine the next one, we will estimate the low-confident and design the next sequence to overlap that low-confident segment. We would send all of the sequencing design at the same time. ...Oligo designer tool will have no "rule of thumb", but use temperature calculation. +Checking mismatch on the result, and update statistics data with the new result trace files.

Monday August 10th
We are porting the old Clotho tools to our new Clotho core. I made the new RMI Tool that get and send data to every tools. With this, I can complete the first workflow:

Friday August 11th
My JBEI oligo coverage project and current process : . Getting data - statistics from trace file: raw data, but not quality value. We may use Phred software to output quality value files and then read those files . From statistics, choose the parameters of oligo effectiveness length and non-effective length: not yet . Make multiple oligos that cover the whole sequence: coded the functions, not test yet. . Output the oligos . Analysis of the result, checking mismatch

Wednesday September 9th
9/9/09! School started, so I haven't make much process. I finished debugging my primer designer, input a long sequence and it will output the list of oligos that covered the whole sequence. My tool has effective length and "non effective" length of an oligos as input arguments, so the next step is to make a Kepler workflow/Clotho tool that calculate and save the statistics of past trace files. Today we have our first meeting in Fall after Doug returning from vacation. It's great to see everyone doing well, and ready for intensive Fall work.