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.

λ3−RAAλ2−(RABA2+RHBH2)λ+RAARHBH2−RAHBA3=0 RAA=c1SA∗α2,RABA=c2c5SA∗α2k,RHBH=c4c6SH∗α1k,RAHBA=c2c3c6SA∗SH∗α1α2k3
Closed form returned by R0Calc
R0=na2c1c2c56α22k+c13na327α23−c1c4c6nanh3α1α2k+c2c3c6nanh2α1α2k−na2α1k(9α1α2c1c2c5na+2c13na2α1k+9α22c6nh(−2c1c4+3c2c3))2−4(3α1α2c2c5na+c12na2α1k+3α22c4c6nh)354α132α23k323+na2c1c2c56α22k+c13na327α23−c1c4c6nanh3α1α2k+c2c3c6nanh2α1α2k+na2α1k(9α1α2c1c2c5na+2c13na2α1k+9α22c6nh(−2c1c4+3c2c3))2−4(3α1α2c2c5na+c12na2α1k+3α22c4c6nh)354α132α23k323+c1na3α2

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:

SymbolMeaningTypical unit
c1Infection rate of animals by contact with infectious animals1/(animal · year)
c2Infection rate of animals by contact with the bacteria1/(bacteria unit · year)
c3Infection rate of humans by contact with infectious animals1/(animal · year)
c4Infection rate of humans by contact with the bacteria1/(bacteria unit · year)
c5Shedding rate of bacteria by an infected animalbacteria units/(animal · year)
c6Shedding rate of bacteria by an infected humanbacteria units/(person · year)
kDecay rate of free bacteria; 1/k is their mean survival in the environment1/year
α1Recovery rate of humans; 1/α1 is the mean duration of infection1/year
α2Death rate of animals1/year
βBirth rate of animals. Here β is not a transmission rate1/year
NA, NHNumber of animals and of humansanimals, 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:

dSAdt=−(c1IA+c2B)SA+βNA−α2SAdIAdt=(c1IA+c2B)SA−α2IAdSHdt=−(c3IA+c4B)SH+α1IHdIHdt=(c3IA+c4B)SH−α1IHdBdt=c5IA+c6IH−kB

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:

TermWhere it appearsKindArrow in the diagram
c1 IA SA+ in dIA/dtNew infection (animal to animal)Dashed loop, IA → IA, label c1 SA*
c2 B SA+ in dIA/dtNew infection (environment to animal)Dashed, B → IA, label c2 SA*
c3 IA SH+ in dIH/dtNew infection (animal to human)Dashed, IA → IH, label c3 SH*
c4 B SH+ in dIH/dtNew infection (environment to human)Dashed, B → IH, label c4 SH*
c5 IA+ in dB/dtNew infection (shedding by animals)Dashed, IA → B, label c5
c6 IH+ in dB/dtNew infection (shedding by humans)Dashed, IH → B, label c6
α2 IA− in dIA/dtOutflow (death)Solid, out of IA, label α2
α1 IH− in dIH/dtOutflow (recovery, returns to SH)Solid, out of IH, label α1
k B− in dB/dtOutflow (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.

Infection diagram of the leptospirosis model: three infectious nodes, infected animals I_A, infected humans I_H and free bacteria B. Dashed new-infection arrows: a loop from I_A to itself (c_1 S_A*), B to I_A (c_2 S_A*), I_A to I_H (c_3 S_H*), B to I_H (c_4 S_H*), I_A to B (c_5) and I_H to B (c_6). Outflow arrows: α_2 from I_A, α_1 from I_H and k from B. No transfer arrows. c1 SA* c5 c2 SA* c6 c4 SH* c3 SH* α2 α1 k IA IH B
Infection diagram of the human–animal leptospirosis model. Red: infectious nodes; dashed: new-infection arrows; solid: outflow arrows. There are no transfer arrows.

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.

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):

F=(c1SA∗0c2SA∗c3SH∗0c4SH∗c5c60),V=(α2000α1000k)

The characteristic polynomial of FV⁻¹ is

λ3−c1SA∗α2λ2−(c2c5SA∗α2k+c4c6SH∗α1k)λ+c6SA∗SH∗(c1c4−c2c3)α1α2k=0

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:

R0=c2c5naα2k+c12na24α22+c1na2α2

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

  1. 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).
  2. R₀ appears under the diagram as the closed form above. Open the cycle breakdown to see the four cycles and their terms.
  3. 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