-
Notifications
You must be signed in to change notification settings - Fork 0
/
NottinghamPhageN3PIIVIIODE.m
74 lines (60 loc) · 2.57 KB
/
NottinghamPhageN3PIIVIIODE.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
function dy = NottinghamPhageN3PIIVIIODE(t, y, sP)
% ODEs for a prey and two predators system
% Equations represent a batch system with an abiotic resource, single prey
% demonstrating monod kinetics and two predators both exhibiting a Holling
% type II functional response and each with a seperate bdelloplast stage.
% simMode = 1
%
% function dy = NottinghamPhageN3PIIVIIODE(t, y, sP)
%
% dy - the rate equations
%
% t - time series
% y - initial species values
% sP - simulation parameters
% Version Author Date Affiliation
% 1.00 J K Summers 11/09/16 Kreft Lab - School of Biosciences -
% University of Birmingham
%
% Initial numbers of individuals in species being modeled
sub = y(1); % substrate value in fg / ml
senPrey = y(2); % numbers of prey 1 in cells / ml
bdResPrey = y(3);
phResPrey = y(4);
resPrey = y(5);
bd = y(6); % numbers of predator 1 in cells / ml
bdplast = y(7); % amount of bdelloplast 1 in cells / ml
phage = y(8); % numbers of predator 2 in cells / ml
infCell = y(9); % amount of bdelloplast 2 in cells / ml
% Rates for processes
dSub = -(senPrey + bdResPrey + phResPrey + resPrey) * ...
sP.muMaxPrey * sub / ((sP.Ksn + sub) * sP.yieldNPerS);
dSenPrey = senPrey * sP.muMaxPrey * sub / (sP.Ksn + sub) - ...
bd * sP.muMaxPred1 * senPrey / ...
((sP.Knp + senPrey) * sP.yieldBPerN) - ...
phage * sP.muMaxPred2 * senPrey / ...
((sP.Knv + senPrey) * sP.yieldIPerN);
dBdResPrey = bdResPrey * sP.muMaxPrey * sub / (sP.Ksn + sub) - ...
phage * sP.muMaxPred2 * bdResPrey / ...
((sP.Knv + bdResPrey) * sP.yieldIPerN);
dPhResPrey = phResPrey * (sP.muMaxPrey * sub) / (sP.Ksn + sub) - ...
bd * sP.muMaxPred1 * phResPrey / ...
((sP.Knp + phResPrey) * sP.yieldBPerN);
dResPrey = resPrey * sP.muMaxPrey * sub / (sP.Ksn + sub);
dPred1 = sP.kP * bdplast - ...
bd * sP.muMaxPred1 * (senPrey + phResPrey) / ...
((sP.Knp + senPrey + phResPrey) * sP.yieldBPerP) - ...
sP.mortality * bd;
dBdelloplast1 = bd * sP.muMaxPred1 * (senPrey + phResPrey) / ...
(sP.Knp + senPrey + phResPrey) - ...
sP.kP * bdplast / sP.yieldPPerB;
dPred2 = sP.kV * infCell - ...
phage * sP.muMaxPred2 * (senPrey + bdResPrey) / ...
((sP.Knv + senPrey + bdResPrey) * sP.yieldIPerV);
dBdelloplast2 = phage * (sP.muMaxPred2 * (senPrey + bdResPrey)) / ...
(sP.kV + senPrey + bdResPrey) - ...
sP.kV * infCell / sP.yieldVPerI;
%write results
dy = [dSub; dSenPrey; dBdResPrey; dPhResPrey; dResPrey; dPred1; ...
dBdelloplast1; dPred2; dBdelloplast2];
end