Predation is a major cause of mortality.
An understanding of predation is necessary to interpret simultaneous measurements of, e.g., phyto- and zooplankton densities and trophic pyramids in general.
Predation is typically but not necessarily linked to cyclic dynamics, i.e. oscillations of species abundances.
We consider predation of the heterotrophic nano-flagellate Poteriospumella lacustris on the bacterium Pseudomonas putida.
Several parameters were adopted from a case study.
The example does not consider predation defense or predator-prey co-evolution for the sake of simplicity.
name | unit | description | default |
---|---|---|---|
R | µg / mL | resource for bacterial growth | 1e+00 |
B | cells / mL | abundance of prey bacteria | 1e+06 |
F | cells / mL | abundance of flagellates | 1e+03 |
name | unit | description | rate | R | B | F |
---|---|---|---|---|---|---|
grB | cells/mL/h | growth of bacteria | muB * (R / (R+hR)) * B | -R_per_B | 1 | 0 |
grF | cells/mL/h | growth of flagellates | muF * max(0, (B-minB) / (B-minB+hB)) * F | 0 | -B_per_F | 1 |
exR | µg/mL/h | export of resources | 1/tau * R | -1 | 0 | 0 |
exB | cells/mL/h | export of bacteria | 1/tau * B | 0 | -1 | 0 |
exF | cells/mL/h | export of flagellates | 1/tau * F | 0 | 0 | -1 |
imR | µg/mL/h | import of resources | 1/tau * Rin | 1 | 0 | 0 |
name | unit | description | default |
---|---|---|---|
muB | 1 / h | max. growth rate constant of bacteria | 1.0e+00 |
muF | 1 / h | max. growth rate constant of flagellates | 1.0e-01 |
hR | µg / mL | half saturation const. in bacterial growth | 5.0e-01 |
hB | cells / mL | half saturation const. in flagellate growth | 1.0e+05 |
R_per_B | µg / cell | resource consumed per bacterial reproduction | 1.0e-06 |
B_per_F | cells / cell | bacteria consumed per flagellate reproduction | 3.0e+02 |
Rin | µg / mL | resource concentration in inflow | 1.0e+00 |
tau | h | residence time | 4.8e+01 |
minB | cells / mL | min. bacterial abundance for flagellate growth | 1.0e+03 |
name | code |
---|---|
max | # intrinsic function |
State variables and legend arranged in 2 x 2 layout.
Axes with log-scaling and pretty labels.
custom.plot <- function(x) {
oma <- par("mar")
par(mar=c(4,4,1,1))
par(mfrow=c(2,2), cex=1.3)
cc <- show.scenarios(x, "B", ylog=TRUE)
cc <- show.scenarios(x, "F", ylog=TRUE)
cc <- show.scenarios(x, "R", ylog=TRUE)
plot(0, 0, type="n", ann=F, axes=F)
legend("center", bty="n", lty=1, col=cc,
legend=names(cc), title="Scenario")
par(mfrow=c(1,1), cex=1)
par(mar=oma)
}
Very low: Even bacteria go extinct
Low: Predator does not survive
Moderate: Classic steady-state
High & beyond: Stable oscillations
# long-term simulation
x <- run.scenarios(m, times=c(0, 10^seq(0, 4, 0.01)), plot.vars=FALSE)
# state-space plot with color coding for time
col <- colorRampPalette(c("cyan","steelblue"))(nrow(x))
omar <- par("mar"); par(mar=c(4,4,1,1))
plot(x$B, x$F, ylim=range(x$F)*c(0.7,1),
type="p", pch=20, col=col, log="xy",
xlab="Bacteria (cells/mL)", ylab="Flagellates (cells/mL)")
legend("bottomleft", bty="n", pch=20, col=c("cyan","steelblue"),
legend=c("Initial state", "Steady state"), horiz=TRUE)
par(mar=omar)
The attractor is no longer a fixed point.
The closed trajectory corresponding to the steady state is known as a limit cycle.