R₀ of a human–animal leptospirosis model: formula and derivation
In the leptospirosis model of Baca-Carrasco, Olmos and Barradas (2015), with infected animals, infected humans and free bacteria in the environment, R₀ is the largest root of λ³ − RAA λ² − (RABA² + RHBH²) λ + RAA RHBH² − RAHBA³ = 0. Each R is the contribution of one transmission route: animal to animal, animals through the environment, humans through the environment, and animals to humans to the environment and back. R₀ is not a single product because the routes share compartments.
Closed form returned by R0Calc
LaTeX:
R_0 = \sqrt[3]{\frac{n_{a}^{2} c_{1} c_{2} c_{5}}{6 \alpha_{2}^{2} k} + \frac{c_{1}^{3} n_{a}^{3}}{27 \alpha_{2}^{3}} - \frac{c_{1} c_{4} c_{6} n_{a} n_{h}}{3 \alpha_{1} \alpha_{2} k} + \frac{c_{2} c_{3} c_{6} n_{a} n_{h}}{2 \alpha_{1} \alpha_{2} k} - \frac{\sqrt{n_{a}^{2} \alpha_{1} k \left(9 \alpha_{1} \alpha_{2} c_{1} c_{2} c_{5} n_{a} + 2 c_{1}^{3} n_{a}^{2} \alpha_{1} k + 9 \alpha_{2}^{2} c_{6} n_{h} \left(- 2 c_{1} c_{4} + 3 c_{2} c_{3}\right)\right)^{2} - 4 \left(3 \alpha_{1} \alpha_{2} c_{2} c_{5} n_{a} + c_{1}^{2} n_{a}^{2} \alpha_{1} k + 3 \alpha_{2}^{2} c_{4} c_{6} n_{h}\right)^{3}}}{54 \alpha_{1}^{\frac{3}{2}} \alpha_{2}^{3} k^{\frac{3}{2}}}} + \sqrt[3]{\frac{n_{a}^{2} c_{1} c_{2} c_{5}}{6 \alpha_{2}^{2} k} + \frac{c_{1}^{3} n_{a}^{3}}{27 \alpha_{2}^{3}} - \frac{c_{1} c_{4} c_{6} n_{a} n_{h}}{3 \alpha_{1} \alpha_{2} k} + \frac{c_{2} c_{3} c_{6} n_{a} n_{h}}{2 \alpha_{1} \alpha_{2} k} + \frac{\sqrt{n_{a}^{2} \alpha_{1} k \left(9 \alpha_{1} \alpha_{2} c_{1} c_{2} c_{5} n_{a} + 2 c_{1}^{3} n_{a}^{2} \alpha_{1} k + 9 \alpha_{2}^{2} c_{6} n_{h} \left(- 2 c_{1} c_{4} + 3 c_{2} c_{3}\right)\right)^{2} - 4 \left(3 \alpha_{1} \alpha_{2} c_{2} c_{5} n_{a} + c_{1}^{2} n_{a}^{2} \alpha_{1} k + 3 \alpha_{2}^{2} c_{4} c_{6} n_{h}\right)^{3}}}{54 \alpha_{1}^{\frac{3}{2}} \alpha_{2}^{3} k^{\frac{3}{2}}}} + \frac{c_{1} n_{a}}{3 \alpha_{2}}
R0Calc solves the cubic with Cardano's formula. It writes SA* and SH* as their DFE values NA and NH, and prints Latin letters in lower case, so they appear as na and nh. When the cubic has three real roots, the square root in the formula is of a negative number: evaluate it with complex arithmetic and principal cube roots, as SymPy does, and the imaginary parts cancel. To get a number, it is simpler to find the largest root of the cubic numerically.
What the leptospirosis model describes
Leptospirosis is caused by Leptospira bacteria that infected animals shed in their urine and that survive for a while in water and soil. The model has five compartments: susceptible and infected animals (SA, IA), susceptible and infected humans (SH, IH), and the free bacteria in the environment (B). Animals are infected by other animals and by the bacteria; humans are infected by animals and by the bacteria, but not by other humans. Infected animals and infected humans both shed bacteria, so both are infectious. Infected animals stay infected until they die; humans recover and become susceptible again. Its parameters are:
| Symbol | Meaning | Typical unit |
|---|---|---|
| c1 | Infection rate of animals by contact with infectious animals | 1/(animal · year) |
| c2 | Infection rate of animals by contact with the bacteria | 1/(bacteria unit · year) |
| c3 | Infection rate of humans by contact with infectious animals | 1/(animal · year) |
| c4 | Infection rate of humans by contact with the bacteria | 1/(bacteria unit · year) |
| c5 | Shedding rate of bacteria by an infected animal | bacteria units/(animal · year) |
| c6 | Shedding rate of bacteria by an infected human | bacteria units/(person · year) |
| k | Decay rate of free bacteria; 1/k is their mean survival in the environment | 1/year |
| α1 | Recovery rate of humans; 1/α1 is the mean duration of infection | 1/year |
| α2 | Death rate of animals | 1/year |
| β | Birth rate of animals. Here β is not a transmission rate | 1/year |
| NA, NH | Number of animals and of humans | animals, people |
From the leptospirosis equations to the infection diagram
The infection diagram is read off the equations of the infected compartments. With NA = SA + IA, the model is:
The infected compartments are IA, IH and B. At the disease-free equilibrium (DFE) IA = IH = B = 0, and the R₀ formula uses the equilibrium values SA* and SH*. With β = α2 births balance deaths, the animal population stays constant and SA* = NA; humans have no births or deaths, so SH* = NH. Each term of the IA, IH and B equations becomes one arrow:
| Term | Where it appears | Kind | Arrow in the diagram |
|---|---|---|---|
| c1 IA SA | + in dIA/dt | New infection (animal to animal) | Dashed loop, IA → IA, label c1 SA* |
| c2 B SA | + in dIA/dt | New infection (environment to animal) | Dashed, B → IA, label c2 SA* |
| c3 IA SH | + in dIH/dt | New infection (animal to human) | Dashed, IA → IH, label c3 SH* |
| c4 B SH | + in dIH/dt | New infection (environment to human) | Dashed, B → IH, label c4 SH* |
| c5 IA | + in dB/dt | New infection (shedding by animals) | Dashed, IA → B, label c5 |
| c6 IH | + in dB/dt | New infection (shedding by humans) | Dashed, IH → B, label c6 |
| α2 IA | − in dIA/dt | Outflow (death) | Solid, out of IA, label α2 |
| α1 IH | − in dIH/dt | Outflow (recovery, returns to SH) | Solid, out of IH, label α1 |
| k B | − in dB/dt | Outflow (bacterial decay) | Solid, out of B, label k |
Shedding (c5, c6) is drawn as new infection because it increases the infected set without moving anyone: an infected animal that sheds bacteria stays in IA, and B grows. In c1 IA SA the cause and the receiver are the same compartment, so the arrow is a loop. There are no transfer arrows, and all three nodes are infectious because each one originates new infections. See how to build an infection diagram for the general rules.
The leptospirosis infection diagram
The diagram has three infectious nodes: IA, IH and B, which is not a population of hosts but causes new infections directly. Six dashed new-infection arrows connect them: a loop on IA, animals and humans infected by B, humans infected by animals, and shedding from IA and IH into B. Each node has one outflow: animal deaths α2, human recovery α1 and bacterial decay k. Nothing points from IH to IA: humans reach animals only through the environment.
How R₀ is derived
R0Calc finds four infection cycles in the diagram and computes the term of each: the product, over the nodes of the cycle, of the rate coming in divided by the rate going out, with the k-th root for a cycle through k infectious nodes.
- IA → IA (animal to animal): RAA = c1SA*/α2.
- IA → B → IA (animals through the environment): RABA = √(c2c5SA*/(α2k)).
- IH → B → IH (humans through the environment): RHBH = √(c4c6SH*/(α1k)).
- IA → IH → B → IA (animals to humans to the environment and back): RAHBA = ∛(c2c3c6SA*SH*/(α1α2k)).
The cycles share infectious nodes, so their terms cannot simply be added. R0Calc combines them into the cubic at the top of the page and returns its largest root. The constant term pairs the two cycles that do not touch, IA → IA and IH → B → IH, against the cycle through all three nodes.
The next-generation matrix method (Diekmann, Heesterbeek and Metz, 1990; van den Driessche and Watmough, 2002) gives the same result. With infected compartments (IA, IH, B):
The characteristic polynomial of FV⁻¹ is
which is the cubic above written in the parameters, since c6SA*SH*(c1c4 − c2c3)/(α1α2k) = RAARHBH² − RAHBA³. R₀ is the spectral radius of FV⁻¹, its largest eigenvalue. R0Calc's closed form agrees with it: checked with SymPy on 340 random sets of positive parameters, covering cubics with one and with three real roots, with relative differences below 10⁻³².
Worked example
Take NA = 1,000 animals that live two years on average (α2 = 0.5 per year) and NH = 2,000 people who recover in about a month (α1 = 12 per year), bacteria that survive about a week (k = 52 per year), infection rates c1 = 4 × 10⁻⁴, c2 = c3 = c4 = 10⁻⁴ and shedding rates c5 = 100 and c6 = 50, all per year. The cycle terms are RAA = 0.8, RABA² ≈ 0.385, RHBH² ≈ 0.016 and RAHBA³ ≈ 0.003, and the largest root of the cubic is R₀ ≈ 1.143. Neither route alone reaches the threshold (RAA = 0.8, RABA ≈ 0.62), but together they do. These are illustrative values, not estimates from Baca-Carrasco et al. or for a real setting.
Several weak routes can add up to R₀ > 1: the infection persists if the routes combined replace each case, even when no single route does. Control measures have to bring the combined value, the largest root, below 1.
Special case: no human transmission routes
If humans are left out (c3 = c4 = c6 = 0), the cubic has a root λ = 0 and the rest is a quadratic, so R₀ = (RAA + √(RAA² + 4RABA²))/2, with RAA = c1SA*/α2 and RABA² = c2c5SA*/(α2k). R0Calc returns it as:
LaTeX: R_0 = \sqrt{\frac{c_{2} c_{5} n_{a}}{\alpha_{2} k} + \frac{c_{1}^{2} n_{a}^{2}}{4 \alpha_{2}^{2}}} + \frac{c_{1} n_{a}}{2 \alpha_{2}}
Without the human routes, R₀ depends only on the cycles animal–animal and animal–environment–animal; the difference with the general case measures how much humans add to transmission. In the worked example it falls from 1.143 to 1.138: humans add little there because they are infectious for only about a month.
Compute it in R0Calc
- Open the calculator, paste the YAML below into the YAML panel and choose Apply the YAML to the diagram (the ← button between the YAML and the diagram).
- R₀ appears under the diagram as the closed form above. Open the cycle breakdown to see the four cycles and their terms.
- Delete the arrows into and out of IH to get the special case without humans, or set c6 to 0 to make humans dead-end hosts.
Labels in R0Calc cannot contain an asterisk, so the YAML writes SA* and SH* as their DFE values NA and NH. R0Calc prints Latin letters in lower case, so these appear as na and nh in the result.
non_infectious_infested: []
infectious_infested:
- I_A
- I_H
- B
new_infections_arrows:
- from: I_A
to: I_A
param: c_1 N_A
- from: B
to: I_A
param: c_2 N_A
- from: I_A
to: I_H
param: c_3 N_H
- from: B
to: I_H
param: c_4 N_H
- from: I_A
to: B
param: c_5
- from: I_H
to: B
param: c_6
transfer_arrows: []
outs_arrows:
- from: I_A
param: \alpha_2
- from: I_H
param: \alpha_1
- from: B
param: k
Frequently asked questions
What is R₀ for leptospirosis in this model?
The largest root of λ³ − RAA λ² − (RABA² + RHBH²) λ + RAA RHBH² − RAHBA³ = 0, where RAA = c1SA*/α2, RABA² = c2c5SA*/(α2k), RHBH² = c4c6SH*/(α1k) and RAHBA³ = c2c3c6SA*SH*/(α1α2k). It is the spectral radius of the next-generation matrix.
Why are bacteria in the environment a node of the infection diagram?
Because free bacteria cause new infections directly: contact with contaminated water or soil infects animals and humans at rates c2 and c4. A variable belongs to the infection diagram because of its role in transmission, not because it is a population of hosts. Shedding (c5, c6) adds to B without moving anyone, so it is drawn as new-infection arrows into B.
Do humans affect R₀ of leptospirosis?
Yes, if infected humans shed bacteria (c6 > 0). Humans enter R₀ through two cycles: IH → B → IH and IA → IH → B → IA. Both need c6; with c6 = 0 humans are dead-end hosts and R₀ depends only on the animal cycles.
References
- Baca-Carrasco D., Olmos D., Barradas I. (2015). A mathematical model for human and animal leptospirosis. Journal of Biological Systems, 23(Suppl. 1), S55–S65. doi:10.1142/S0218339015400057
- Diekmann O., Heesterbeek J. A. P., Metz J. A. J. (1990). On the definition and the computation of the basic reproduction ratio R₀ in models for infectious diseases in heterogeneous populations. Journal of Mathematical Biology, 28, 365–382.
- van den Driessche P., Watmough J. (2002). Reproduction numbers and sub-threshold endemic equilibria for compartmental models of disease transmission. Mathematical Biosciences, 180, 29–48.