Skip to contents

In 1952, Macdonald published a threshold condition for endemic malaria based on a formula that is now known as the basic reproductive number, \(R_0.\) In taking a more general approach, we are guided by the general formula: \[R_0 = b V D\] where:

  • \(b\) is the number of infections per infective bite in an immunologically naive population;

  • \(V\) is vectorial capacity, the number of infective bites arising from all the mosquitoes blood feeding on a single person in a single day;

  • \(D\) is human transmitting capacity, the net infectious of a human to mosquitoes over the course of a simple infection, expressed as a number of fully infectious days.

In autonomous models with spatial dynamics (i.e., nPatches > 1), we also output the patch vec torial capacity (denoted \(V\)) and the vectorial capacity matrix, \([V]\); human transmitting capacity; human transmitting by residency, and the human transmitting matrix; and local reproductive numbers. Threshold conditions (or quasi-threshold conditions for models with some malaria importation) are computed as the spectral average.

ramp.xds has built-in functions to compute threshold conditions for autonomous models. Thresholds for non-autonomous systems are handled in ramp.control.

Vectorial Capacity

Vectorial capacity (VC) describes potential transmission by mosquitoes, defined as the number of infective bites arising from all the mosquitoes blood feeding on a single fully infectious human on a single day. In spatial models, vectorial capacity is the average for the whole system, but it is sometimes useful to understand VC by patch (the number of infective bites arising from all the mosquitoes biting in a single patch…) the VC matrix (the number of infective bites arising in each patch from all the mosquitoes biting in a single patch…). In spatial models, the VC matrix is used to compute threshold conditions, \(R_0,\) and to describe connectivity.

In ramp.xds, the function compute_VC is for autonomous systems. The function accepts an xds model object. Inside the function, a copy is made and modified.

Each adult mosquito module supplies a set of functions to set up tracking variables and compute the vectorial capacity matrix.

To compute the VC in a general way, we thus compute the VC matrix. VC is the number of bites arising from each patch, summing across bites arising in all patches.

In some models, a formula for the VC matrix can be computed analytically. It is:

\[fq \Omega^{-1} \cdot e^{-\Omega \tau} \cdot \mbox{diag}\left( \frac{fqM}W\right)\] For models where the VC matrix can be computed analytically, it is computed at setup and attached as xds_obj$analysis$VC.

devtoolk::load_all()
mod <- xds_setup(MYname = "GeM")
mod <- make_VC(mod)
mod$analysis$VC
mod <- compute_VC(mod, tol=1e-7)
mod$outputs$VC

The algorithm for computing VC for any model is through a call to compute_VC_matrix which:

  • derives a new model that has has set emergence rate to zero;

  • calls setup_VC_inits to set the initial conditions: the number of infected mosquitoes in the cohort is \(fqM/W\) at the steady state (or its equivalent);

  • sets up a new set of variables, the VC matrix, that add up infectious biting \(fqZ\);

  • solves the system of equations long enough for the number of mosquitoes in the cohort to be less than tol (an argument).

  • parses the VC matrix and attaches it as xds_obj$outputs$VC

For a longer explanation, see

Local Reproductive Numbers

The Spatial and Temporal Dispersion of a Parasite Generation

The Spectral Radius