Team:Groningen/Modelling/Characterization

From 2009.igem.org

(Difference between revisions)
m (Slight tweak)
(Now also support for experiments measuring equilibrium uptake)
Line 150: Line 150:
                                 0.361791516e-6,0.332907991e-6,0.320748614e-6],
                                 0.361791516e-6,0.332907991e-6,0.320748614e-6],
                           time:[60,300,600,1200,1800,3600]
                           time:[60,300,600,1200,1800,3600]
-
                             /*[1.127*60,4.993*60,9.986*60,20.159*60,30.181*60,60.035*60]*/}}};   
+
                             /*[1.127*60,4.993*60,9.986*60,20.159*60,30.181*60,60.035*60]*/}}/*,
 +
                  TODO:
 +
                  {constants:{TODO},time:Infinity,
 +
                    data:{AsinT:[TODO],AsT:[TODO]}}*/};   
var varsToMutate = ['v5_K5','v5','k8_K7','k8','tauBbeta4','beta4','tauR_tauB','beta1_beta4'];
var varsToMutate = ['v5_K5','v5','k8_K7','k8','tauBbeta4','beta4','tauR_tauB','beta1_beta4'];
Line 175: Line 178:
     for(var a in e[i].constants) nc[a] = e[i].constants[a];
     for(var a in e[i].constants) nc[a] = e[i].constants[a];
-
     // Simulate
+
     if (e[i].AsT!=undefined) { // Vary time, with fixed AsT
-
    x0 = arsenicModelInitialization(nc,e[i].AsT);
+
      // Simulate
-
    xt = simulate(x0,e[i].data.time,function(t,d){return arsenicModelGradient(nc,d);});
+
      x0 = arsenicModelInitialization(nc,e[i].AsT);
 +
      xt = simulate(x0,e[i].data.time,function(t,d){return arsenicModelGradient(nc,d);});
-
    // Sum (squares of) errors, divided by the average value
+
      // Sum (squares of) errors, divided by the average value
-
    var curcost = 0, n = 0;
+
      var curcost = 0, n = 0;
-
    for(var xn in e[i].data) {
+
      for(var xn in e[i].data) {
-
      if (xn=='time') continue;
+
        if (xn=='time') continue;
-
      var avgv = 0;
+
        var avgv = 0;
-
      for(var j in e[i].data[xn]) avgv += e[i].data[xn][j];
+
        for(var j in e[i].data[xn]) avgv += e[i].data[xn][j];
-
      avgv /= e[i].data[xn].length;
+
        avgv /= e[i].data[xn].length;
-
      for(var j in xt.timeKey) {
+
        for(var j in xt.timeKey) {
-
        curcost += Math.pow((e[i].data[xn][j]-xt[xn][xt.timeKey[j]])/avgv,2);
+
          curcost += Math.pow((e[i].data[xn][j]-xt[xn][xt.timeKey[j]])/avgv,2);
-
        n++;
+
          n++;
 +
        }
       }
       }
 +
      cost += Math.sqrt(curcost/n); // Compute the square root of the average of the squares (RMS)
 +
      weight++;
 +
    } else if (e[i].time==Infinity) { // Vary AsT, with equilibrium
 +
      var avgv = {};
 +
      for(var xn in e[i].data) {
 +
        avgv[xn] = 0;
 +
        for(var j in e[i].data[xn]) avgv[xn] += e[i].data[xn][j];
 +
        avgv[xn] /= e[i].data[xn].length;
 +
      }
 +
      var curcost = 0, n = 0;
 +
      for(var j in e[i].data.AsT) {
 +
        // Simulate
 +
        xt = arsenicModelEquilibrium(nc,e[i].data.AsT[j]);
 +
 +
        // Sum (squares of) errors, divided by the average value
 +
        for(var xn in e[i].data) {
 +
          if (xn=='AsT') continue;
 +
          curcost += Math.pow((e[i].data[xn][j]-xt[xn])/avgv,2);
 +
          n++;
 +
        }
 +
      }
 +
      cost += Math.sqrt(curcost/n); // Compute the square root of the average of the squares (RMS)
 +
      weight++;
     }
     }
-
    cost += Math.sqrt(curcost/n); // Compute the square root of the average of the squares (RMS)
 
-
    weight++;
 
     // Set last solution
     // Set last solution

Revision as of 13:53, 5 October 2009

Igemhomelogo.png


TODO: Talk about the devices we have and in what way we want to characterize them.

Uptake measurements

Sampling scheme
Time (min)
0 10 20 40 60
As(III)exT(0)
(µM)
0 x
10 x x x x x
20 x
50 x
100 x

To efficiently look at both time and concentration dependent processes we took samples as in the table on the right. Below we list all results, which have been used for fitting all necessary parameters.

TODO: List results. Take conversion from nmol/mg and mg/ml to µM and Vc/Vs into account.

best cur gradient solved
v5/K5
v5
K5
k8/K7
k8
K7
tauBbeta4
tauB
beta4
tauR
beta1
E

Loading graph...
Loading graph...