Team:Groningen/Modelling/Characterization
From 2009.igem.org
(Difference between revisions)
(Different mutate, more general output function, more variables.) |
|||
Line 210: | Line 210: | ||
} | } | ||
- | function | + | function fitConstants() { |
- | + | // Construct plots | |
- | + | constructPlot('v5K5plot'); | |
- | + | constructPlot('k8K7plot'); | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | |||
// Show mathematica solution | // Show mathematica solution | ||
var orgC = arsenicModelConstants(); | var orgC = arsenicModelConstants(); | ||
Line 278: | Line 267: | ||
} | } | ||
},1); | },1); | ||
+ | } | ||
+ | |||
+ | function showOutputs(mode,E,c,dc) { | ||
+ | plotMin(v5K5plot,mutateFuncs.v5(c),mutateFuncs.K5(c),E); | ||
+ | plotMin(k8K7plot,mutateFuncs.k8(c),mutateFuncs.K7(c),E); | ||
+ | for(var a in c) { | ||
+ | setOutput(a+mode,c[a]); | ||
+ | } | ||
+ | for(var a in mutateFuncs) { | ||
+ | setOutput(a+mode,mutateFuncs[a](c)); | ||
+ | } | ||
+ | setOutput('E'+mode,E); | ||
+ | if (dc!=undefined) { | ||
+ | for(var a in dc) { | ||
+ | setOutput(a+mode+'gradient',dc[a]); | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function constructPlot(id) { | ||
+ | var width = 100, height = 100; | ||
+ | var t = document.getElementById(id); | ||
+ | t.minx = Number.NaN; | ||
+ | t.miny = Number.NaN; | ||
+ | t.maxx = Number.NaN; | ||
+ | t.maxy = Number.NaN; | ||
+ | t.points = []; | ||
+ | t.createCaption(); | ||
+ | t.style.width = width + 'px'; | ||
+ | t.style.width = height + 'px'; | ||
+ | t.style.border = 'solid 1px #000'; | ||
+ | t.style.borderCollapse = 'collapse'; | ||
+ | for(var r=0; r<height; r++) { | ||
+ | var newRow = t.insertRow(0); | ||
+ | for(var c=0; c<width; c++) { | ||
+ | var newCell = newRow.insertCell(0); | ||
+ | newCell.style.width = '1px'; | ||
+ | newCell.style.height = '1px'; | ||
+ | newCell.style.background = '#fff'; | ||
+ | newCell.style.padding = '0px'; | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function plotMin(t,x,y,v) { | ||
+ | if (x<0) return; | ||
+ | if (y<0) return; | ||
+ | var regrid = false; | ||
+ | t.points.push({'x':x,'y':y,'v':v}); | ||
+ | if (isNaN(t.minx) || x<t.minx) { t.minx = x/1.5; regrid = true; } | ||
+ | if (isNaN(t.maxx) || x>t.maxx) { t.maxx = x*1.5; regrid = true; } | ||
+ | if (isNaN(t.miny) || y<t.miny) { t.miny = y/1.5; regrid = true; } | ||
+ | if (isNaN(t.maxy) || y>t.maxy) { t.maxy = y*1.5; regrid = true; } | ||
+ | if (regrid==true) { | ||
+ | //alert('regridding' + [x,y,t.minx,t.miny,t.maxx,t.maxy,regrid]); | ||
+ | setCaption(t,'x = ['+t.minx+','+t.maxx+'], y = ['+t.miny+','+t.maxy+']'); | ||
+ | for(var r=0; r<t.rows.length; r++) { | ||
+ | var row = t.rows[r]; | ||
+ | for(var c=0; c<row.cells.length; c++) { | ||
+ | var cell = row.cells[c]; | ||
+ | cell.background = '#fff'; | ||
+ | } | ||
+ | } | ||
+ | for(var i in t.points) plotMinWork(t,t.points[i].x,t.points[i].y,t.points[i].v); | ||
+ | } else { | ||
+ | plotMinWork(t,x,y,v); | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function plotMinWork(t,x,y,v) { | ||
+ | var r = Math.floor((y-t.miny)/(t.maxy-t.miny)*t.rows.length); | ||
+ | var c = Math.floor((x-t.minx)/(t.maxx-t.minx)*t.rows[0].cells.length); | ||
+ | var cell = t.rows[r].cells[c]; | ||
+ | if (cell.value==undefined || v<cell.value) { | ||
+ | cell.value = v; | ||
+ | cell.style.background = 'rgb('+Math.max(0,100*v)+'%,'+Math.min(100,100*(1-v))+'%,0%)'; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | function setCaption(t,cap) { | ||
+ | if (!t) return; | ||
+ | var caps = t.getElementsByTagName('caption'); | ||
+ | if (caps.length>0) { | ||
+ | caps[0].innerHTML = cap; | ||
+ | return; | ||
+ | } | ||
+ | if (t.caption) { | ||
+ | t.caption = cap; | ||
+ | return; | ||
+ | } | ||
} | } | ||
</script> | </script> | ||
</html> | </html> | ||
+ | {| | ||
+ | | | ||
+ | {|id="v5K5plot" | ||
+ | |} | ||
+ | | | ||
+ | {|id="k8K7plot" | ||
+ | |} | ||
+ | |} |
Revision as of 12:12, 2 October 2009
[http://2009.igem.org/Team:Groningen http://2009.igem.org/wiki/images/f/f1/Igemhomelogo.png]
|
---|
- Modelling
- DetailedModel
- Characterization
- Downloads
TODO: Talk about the devices we have and in what way we want to characterize them.
Uptake measurements
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 |
|
|