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.
mod <- compute_VC(mod, tol=1e-7)
mod$outputs$VCThe 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_initsto 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