root/trunk/promoterActivity.m

Revision 131, 2.2 KB (checked in by fboyer, 7 years ago)

MOD: GPL to LGPL License

  • Property svn:executable set to *
Line 
1function K = promoterActivity(well, mType, mName, absName, time)
2% Compute the promoeter activity for a measure defined by WELL, MTYPE
3% and MNAME, usin ABSNAME as the absorbance measure. TIME is optional and
4% is otherwise computed as the common part between the measure and the
5% absorbance curve.
6%
7%       dI(t)
8%      -------
9%        dt                I(t)
10% K = --------- + gammaR --------
11%      c A(t)             c A(t)
12%
13% well:     measure's well                                            [int]
14% mType:    measure's type (RLU or RFU)                            [string]
15% mName:    measure's name                                         [string]
16% absName:  absorbance measure name                                [string]
17% time:     (optional) sample computed                              [array]
18%
19% K:        reporter concentration computed                         [array]
20
21% Copyright 2006-2007 INRIA
22%
23% This file is part of WellReader
24%
25% WellReader is free software: you can redistribute it and/or modify
26% it under the terms of the GNU Lesser General Public License as published by
27% the Free Software Foundation, either version 3 of the License, or
28% (at your option) any later version.
29%
30% WellReader is distributed in the hope that it will be useful,
31% but WITHOUT ANY WARRANTY; without even the implied warranty of
32% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
33% GNU Lesser General Public License for more details.
34%
35% You should have received a copy of the GNU Lesser General Public License
36% along with WellReader.  If not, see <http://www.gnu.org/licenses/>.
37
38global WR;
39
40if nargin == 5
41    t = time;
42else
43    min1 = min(WR.wells{well}.(mType).(mName).time);
44    max1 = max(WR.wells{well}.(mType).(mName).time);
45    min2 = min(WR.wells{well}.Absorbance.(absName).time);
46    max2 = max(WR.wells{well}.Absorbance.(absName).time);
47    t = max(min1, min2):1:min(max1, max2);
48end
49
50dI = fnval(fnder(fit(well, mType, mName)), t); % signal derivative
51A = fnval(fit(well, 'Absorbance', absName), t); % absorbance level
52rC = reporterConcentration(well, mType, mName, absName, t);
53
54gammaR = WR.global_parameters.([mType '_default_gamma']);
55c = WR.global_parameters.plasmid_copies;
56
57K = dI ./ (c .* A) + gammaR .* rC;
58
59end
Note: See TracBrowser for help on using the browser.