Team:USTC Software/Notebook
From 2009.igem.org
(→I/O Database (Yu He)) |
(→Sep. 2, 2009) |
||
(35 intermediate revisions not shown) | |||
Line 18: | Line 18: | ||
==Calendar and Events== | ==Calendar and Events== | ||
+ | ===Group Meetings: Slides and Records=== | ||
+ | {|- | ||
+ | |align = "left"| | ||
+ | |||
+ | ::Feb. 11, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/090211.txt (abstract)] | ||
+ | |||
+ | ::Feb. 12, 2009 | ||
+ | |||
+ | :::[http://home.ustc.edu.cn/~heyu3/090212.txt (abstract)] | ||
+ | |||
+ | ::Feb. 21, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/090221.txt (abstract)] | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/BioCADthought.ppt (slides)] | ||
+ | |||
+ | ::Feb. 28, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Virtual_E._coli.ppt (slides)] | ||
+ | |||
+ | ::Mar. 7, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/WholecellSimulation.pdf (slides)] | ||
+ | |||
+ | ::Mar. 15, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Dry_Week_4.txt (abstract)] | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Week4.pptx (slides)] | ||
+ | |||
+ | |||
+ | ::Mar. 29, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Onaviewpointofstochasticprocess.pdf (slides)] | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/info-week6.pdf (slides)] | ||
+ | |||
+ | ::Apr. 8, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/090408.txt (abstract)] | ||
+ | |||
+ | ::Apr. 18, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Software.ppt (slides)] | ||
+ | |||
+ | ::Apr. 21, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/Simuweek7.pptx (slides)] | ||
+ | |||
+ | ::Apr. 24, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/FlowChart.pptx (slides)] | ||
+ | |||
+ | ::May 16, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/090516.pptx (slides)] | ||
+ | |||
+ | ::May 22, 2009 | ||
+ | :::[http://home.ustc.edu.cn/~heyu3/SBML_zqliu.ppt (slides)] | ||
+ | |} | ||
==Work Distribution== | ==Work Distribution== | ||
Line 67: | Line 115: | ||
Wikiwikiwiki~ Fast learning needed to digest so much info... | Wikiwikiwiki~ Fast learning needed to digest so much info... | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
|- | |- | ||
Line 145: | Line 186: | ||
====Feb. 12, 2009==== | ====Feb. 12, 2009==== | ||
- | + | No matter what kind of software we will make, it is sure that one of the most important work is to find out the structure and functions of existing software. Preparing start from Athena and Tinkercell, two multi-function synthetic biological software. | |
+ | OMG!! these software are great! They can do not only some simulating works, but also other create job! Their GUI also performs well. It seems hard to beyond or even achieve them in simulating functions. We have to find other highlights. | ||
|- | |- | ||
| | | | ||
- | ===I/O Database and Miscellaneous(Yu He)=== | + | ====Mar. 14, 2009==== |
+ | Be aware of SBML, a standard structured file contains a certain chemical/biological system. The support of SBML related functions in Athena; Tinkercell and other software convince me the necessity of providing these functions in our software. It means our output can supply a standard interface to others. | ||
+ | |||
+ | ====May. 2, 2009==== | ||
+ | Start learning SBML and LibSBML. Well~~ download, unzip, install, OMG!! Quite a lot of codes, my teammates advise me to read the tutorial first. Yes, after reading, I realize the structure of SBML file and working process of LibSBML approximately. In terms of our software, some basic information of the SBML file is needed, such as amount of spceies and parameters, their names, information of each reaction, including the mathematical expressions of each kineticlaw. All these data need to extract from given SBML file. So it looks learning to use LibSBML is inevitable. | ||
+ | |||
+ | ====Jun. 6, 2009==== | ||
+ | Go on working with LibSBML, Successfully output the species names, parameters and other informations. | ||
+ | |||
+ | Need to face some problems when deal with the mathematical expressions, SBML uses ASTNode to store the formula, although it is not difficult to manage the "tree" data structure, I still need to make clear the functions in "class ASTNode". | ||
+ | My teammates need me to supply the information orderly, which means : | ||
+ | |||
+ | 1. The information of one reaction should be stored by categories. | ||
+ | |||
+ | 2. The terms(the formula related to one certain species) should be put together. | ||
+ | |||
+ | 3. The whole information need to be packaged for next step. | ||
+ | |||
+ | ====Aug. 15, 2009==== | ||
+ | The readSBMLFile part finished, in this part, I pick each species list in the file orderly, and search all reactions, if the species appeared in "ListOfReactants"; "ListOfProducts" or "ListOfModifiers", i'll push the informations of the reaction into the vertor<term>, the data structure of vector<term> has been decided as "class val_func". After the traversing, i'll package these vectors<term>, and sent to the next step. | ||
+ | |||
+ | ====Aug. 31, 2009==== | ||
+ | The writeSBMLFile part finished, the experience of making read part facilitates me to assemble this part. Besides some normal steps, I use "traversing binary tree" to make the mathematical expression fit each certain reaction. But there also some problems with open files from database part, I still need to work on this~~ | ||
+ | |||
+ | ====Sep. 2, 2009==== | ||
+ | Solving the problems in writing part, the varifying part works successfully. | ||
+ | [[Image:Readsbml.png|center|600px]] | ||
+ | [[Image:Model.png|center|600px]] | ||
+ | |||
+ | ====Sep. 15, 2009==== | ||
+ | Providing two functions adopt to calculate the value of an ASTNode tree, the initial value of all variables can be given from a vector<data_list> orderly. Still using "traversing binary tree" method. The only problem is when deal with the operator "power", despite SBML has define the "power" as "^", Some former version SBML still using the name "power" instead of using "^", I have to treat treat this kind of node as an operator. Some codes need to be rewrited... | ||
+ | |||
+ | ====Oct. 2, 2009==== | ||
+ | connecting to other parts of the ABCD... | ||
+ | |||
+ | ===PSO, I/O Database and Miscellaneous(Yuwei Cui, Yu He)=== | ||
====Apr. 3, 2009==== | ====Apr. 3, 2009==== | ||
{|- | {|- | ||
| | | | ||
- | Release of '''''bmptodat''''' plug-in<br /> | + | Release of '''''bmptodat''''' plug-in, in order to realize 'desire in, solution out'<br /> |
'''Source Code File:'''FuncExtractor.cpp<br /> | '''Source Code File:'''FuncExtractor.cpp<br /> | ||
'''Function:''' Extract function info from a .bmp file<br /> | '''Function:''' Extract function info from a .bmp file<br /> | ||
Line 169: | Line 246: | ||
|- | |- | ||
| | | | ||
- | [[Image:console.png|left| | + | [[Image:console.png|left|250px|thumb]][[Image:funcextractordat.png|left|250px|thumb]]<br /> |
|- | |- | ||
| | | | ||
Line 181: | Line 258: | ||
3.Function of ‘smoothing’<br /> | 3.Function of ‘smoothing’<br /> | ||
|} | |} | ||
+ | |||
====Apr. 15, 2009==== | ====Apr. 15, 2009==== | ||
Release of '''''matrixtoode''''' plug-in<br /> | Release of '''''matrixtoode''''' plug-in<br /> | ||
Line 202: | Line 280: | ||
|} | |} | ||
- | ====May | + | ====May 15, 2009==== |
+ | Today the core algorithm of reverse engineering is proposed. We discussed possible approaches to realize these system identification requirements. | ||
+ | The very first thing emerge in my mind is Metropolis method and Monte Carol sampling. If we define an error function which serves as 'judging criteria', and a random number generator used for 'correction' or 'exploration', then we can basically get it running from pure theoretical view. | ||
- | ==== | + | ====May 20, 2009==== |
- | + | Fourth order multi-dimensional Runge Kutta Method is realized. Tested also on Mathematica7.0 to precision of 6th. digits. | |
+ | ===='''Jul. 15, 2009'''==== | ||
+ | Hooray!!! Raw program of system identification on an colony-evolution system, whose behavior is damped oscillation realized.(3 functions, 6 parameters) | ||
+ | [[Image: heyu01.png|center|400px|thumb|Fast convergent to the targeted result]] | ||
+ | |||
+ | ===='''Aug. 5, 2009'''==== | ||
+ | Raw simulation of an oscillation example on substential level. (6 functions, 5 parameters, nonlinear model). | ||
+ | [[Image: heyu02.png|center|400px|thumb|Just 1000 steps will do the trick!]] | ||
+ | |||
+ | ===='''Sept. 1, 2009'''==== | ||
+ | Realizes multiple (13 functions, 11 parameters) targets identification with basic metropilis method and gradient decrease method. Yet, it is still a linear func array. I think it is a tradeoff between nonlinear complexity from equation term and increased number of linear functions. | ||
+ | [[Image: heyu03.png|center|400px|thumb|step by step, all 14 functions converges.]] | ||
+ | |||
+ | ====Sept. 3, 2009==== | ||
+ | Database in development. It's really a challenge to adopt SQLite now. I don't have that much confidence, since there's little time left. | ||
+ | |||
+ | ====Sept. 6, 2009==== | ||
+ | Today I finally make up my mind to realize the database from 'ab-initio' on. Since the schedule is so tight, I still feel safer to work with familiar C language. | ||
+ | |||
+ | ====Sept. 20, 2009==== | ||
+ | Okay, the very basic, essential, elementary database in .dat form is finished... | ||
+ | |||
+ | |||
+ | ====Sept. 28, 2009==== | ||
+ | Inter-database search and sort function completed. | ||
+ | |||
+ | ====Oct. 8, 2009==== | ||
+ | Thanks to Grapeot's timely suggestion and help. The new version of '''''bmptodat''''' plug-in is successfully upgraded by taking color-depth into consideration. This eliminates the x-axis 'triple folding' bug due to differnt color-depth of 8 bits and 24 bits. | ||
|} | |} |
Latest revision as of 04:00, 22 October 2009
About | Team and People | Project | Standard | Notebook | Demo | Safety | External Links |
---|
|
Opening RemarkIt's time to move from paper to website. We might recall the ever first plan and ambition when we first set feet on the software designing track. The following documentations record word by word the way how we are here. Calendar and EventsGroup Meetings: Slides and Records
Work Distribution
Future PlanOur detailed future plan about ABCD Suite is discussed in form of FAQ HERE. Closure - End or And?We hold in hands the same motivation to adventure, unfold and appreciate the secret of life via the way of virtual evolution and simulation. The seven of us major from automation to engineering, mathematics to physics, grading from freshman to PhD candidates. Though there had been hard times, we have a faith. More hopefully, we’d express our gratitude to the kind support from the School of Life Science of USTC, which makes all impossible possible. From the one-month brainstorm we collected our first proposal – construct virtual bacteria. Yet, for some practical reasons we then shifted to a second proposal, which narrowed to molecular level simulation and later on turned out to be the prototype of our present project. From the one-month brainstorm we collected our first proposal – construct virtual bacteria. Yet, for some practical reasons we then shifted to a second proposal, which narrowed to molecular level simulation and later on turned out to be the prototype of our present project. What do we desire to realize? In short, just tell us what you want your bio-device to behave, and we will return you with a list of eligible formation strategies for your design, of course, with bio-bricks. Turgidly as the idea might appear to be, this is basically an adoption of the gist of reverse engineering and evolution. By intake the custom-designated behaviors, we search, sometimes traverse, the solution space formed by nearly-inexhaustible combination of Biobricks. In order to make the simulative process applicable and practical, we employed a couple of algorithms widely used in computational sciences like Metropolis method and Dijkstra Algorithm to cut down the time cost and optimize the final result. Analysis on sensitivity and robustness has also been carried out to escort a reliable output of the final list of Biobrick combinations. Now we have an ABCD for reconstruction of bio-network, or rather, all ODE systems theoretically. But there still exist many more defects and more inspirations on a higher level. Therefore, instead of fixing 'The End' to the last line of our notebook, we'd rather define another 'and...' clause, claiming another start for greater good. See ya iGEM2010! |
|