1 |
|
""" |
2 |
|
Christopher Lausted, Institute for Systems Biology |
3 |
< |
Last modified on 100413 (yymmdd) |
3 |
> |
Last modified on 100425 (yymmdd) |
4 |
|
Small script to test ba_class, io_module, etc. |
5 |
|
""" |
6 |
|
|
7 |
|
## Import modules. |
8 |
+ |
import numpy as np |
9 |
+ |
import ba_class as ba |
10 |
|
import vu_module as vu |
11 |
|
import io_module as io |
12 |
|
import cal_module as cal |
13 |
< |
## Reload in case code has changed. |
13 |
> |
import mdl_module as mdl |
14 |
> |
import fit_module as fit |
15 |
> |
from sys import exit |
16 |
> |
from copy import deepcopy |
17 |
> |
## Reload Osprai libraries in case code has changed. |
18 |
> |
reload(ba) |
19 |
|
reload (vu) |
20 |
|
reload(io) |
21 |
|
reload(cal) |
22 |
+ |
reload(mdl) |
23 |
+ |
reload(fit) |
24 |
+ |
|
25 |
+ |
print "Test the model module..." |
26 |
+ |
ba0 = ba.BiosensorArray(1,300) ## Create ba1 with one ROI and 300 datapoints. |
27 |
+ |
roi0 = ba0.roi[0] |
28 |
+ |
roi0.time = np.arange(300, dtype=float) ## Samples every 1 second. |
29 |
+ |
roi0.value = np.zeros(300, dtype=float) + 20 ## Baseline signal is 20 units. |
30 |
+ |
roi0.params = {'t1': {'value':30.0, 'min':30.0, 'max':30.0, 'fixed':True} } |
31 |
+ |
roi0.params['rmax'] = {'value': 100.0} |
32 |
+ |
roi0.params['conc'] = {'value': 1e-6} |
33 |
+ |
roi0.params['kon'] = {'value': 2e4} |
34 |
+ |
roi0.params['t2'] = {'value': 150.0} |
35 |
+ |
roi0.params['koff'] = {'value': 1e-3} |
36 |
+ |
roi0.params['t3'] = {'value': 270.0} |
37 |
+ |
roi0.model = mdl.simple1to1 |
38 |
+ |
roi0.value =roi0.model(roi0.time, roi0.value, roi0.params) |
39 |
+ |
vu.linegraph(ba0, "Simulation") |
40 |
+ |
|
41 |
+ |
print "Testing the fitting..." |
42 |
+ |
ba1 = deepcopy(ba0) |
43 |
+ |
roi0 = ba1.roi[0] |
44 |
+ |
roi0.params['koff'] = {'value':1.0e-2, 'min':1e-8, 'max':1e-1, 'fixed':False} |
45 |
+ |
roi0.params['kon'] = {'value':1.0e2, 'min':1e1, 'max':1e8, 'fixed':False} |
46 |
+ |
roi0.params['rmax'] = {'value':50, 'min':1, 'max':90, 'fixed':False} |
47 |
+ |
fit.clma(roi0) |
48 |
+ |
roi0.value =roi0.model(roi0.time, roi0.value, roi0.params) |
49 |
+ |
vu.dualgraph(ba0, ba1, "Fitted Data with an incorrect Rmax parameter") |
50 |
+ |
exit() |
51 |
+ |
|
52 |
|
|
53 |
|
print "Loading an SPR data file..." |
54 |
|
#ba1 = io.readbiosensor("example-biosensor.txt") |