FelixAkk / synthbio

Synthetic Biology project (Group 5/E, TU Delft, 2012)
4 stars 0 forks source link

Fix simulation output #81

Closed nielsAD closed 12 years ago

nielsAD commented 12 years ago

Make sure the simulation output is correct.

nielsAD commented 12 years ago

@atennapel Are you sure the concentrations are correct in the SBML? I think the unit definition of substance should be millimole, not mole (or the initial values should be 0,500 instead of 500)?

EDIT: When I try to simulate in http://www.copasi.org/, the changing to millimole doesn't seem to help much, but changing 500 to 0,500 does seem to help. Also, simulation in Copasi is done for a total of 1 second in 100 ticks.

EDIT2: Never mind, this doesn't seem to work for our solver.

jieter commented 12 years ago

My quick and dirty approach to the problem: write a solver:

https://github.com/FelixAkk/synthbio/tree/jieter-solver Currently the delta-t is 1, so the signals oscillate to much. If we decide we want to use this approach, we can enhance the precision... NOT gate simulation

atennapel commented 12 years ago

I played around with the standalone version of SBMLsimulator and look into the source code, and validated the SBML, but I couldn't find anything. If Alexey hasn't found anything then this is probably the way to go...

jieter commented 12 years ago

hacked in smaller t-steps, 10 per tick: delta-t = 0.1

jieter commented 12 years ago

Note that mX degradates, but not to zero.

Another issue: there is a huge scale difference between the inputs and the generated proteins... The graph makes no sense if the input signals are on.

nielsAD commented 12 years ago

Looking good!

atennapel commented 12 years ago

The solver now seems to work, the trick was to add individual reactions for the degradation. The output value's are kind of low though, but by setting high level to 6 it seems to be correct. Please take a look at it.

atennapel commented 12 years ago

Nevermind the setting high level to 6 part, 600 seems to work bigger altough the output is a different scale then. Also putting two not gates behind eachother doesn't seem to give correct results.

jieter commented 12 years ago

So what's the plan?

atennapel commented 12 years ago

Ok I found a mistake in my code and it works pretty good. NOT-NOT, NAND, OR, XOR all gave good results and the multiplexer and latch roughly gave the right results (I believe we can get better results if we play with the timing). Also if you set the high level to about 200, there are no scaling differences! I think we can continue to work with the library solver.