MGDrivE-Model.Rd
The original version of this model was based on work by (Deredec et al. 2011; Hancock and Godfray 2007) and adapted to accommodate CRISPR homing dynamics in a previous publication by our team (Marshall et al. 2017) . As it was described, we extended this framework to be able to handle a variable number of genotypes, and migration across spatial scenarios. We did this by adapting the equations to work in a tensor-oriented manner, where each genotype can have different processes affecting their particular strain (death rates, mating fitness, sex-ratio bias, et cetera).
To allow the extension of the framework to an arbitrary number of genotypes, we transformed traditional inheritance matrices into inheritance cubes, where each of the axis represents the following information:
x: female adult mate genotype
y: male adult mate genotype
z: proportion of the offspring that inherits a given genotype (slice)
The 'cube' structure gives us the flexibility to apply tensor operations to the elements within our equations, so that we can calculate the stratified population dynamics rapidly; and within a readable, flexible computational framework. This becomes apparent when we define the equation we use for the computation of eggs laid at any given point in time: $$\overline{O(T_x)} = \sum_{j=1}^{n} \Bigg( \bigg( (\beta*\overline{s} * \overline{ \overline{Af_{[t-T_x]}}}) * \overline{\overline{\overline{Ih}}} \bigg) * \Lambda \Bigg)^{\top}_{ij}$$ In this equation, the matrix containing the number of mated adult females (\(\overline{\overline{Af}}\)) is multiplied element-wise with each one of the slices containing the eggs genotypes proportions expected from this cross (\(\overline{\overline{\overline{Ih}}}\)). The resulting matrix is then multiplied by a binary 'viability mask' (\(\Lambda\)) that filters out female-parent to offspring genetic combinations that are not viable due to biological impediments (such as cytoplasmic incompatibility). The summation of the transposed resulting matrix returns us the total fraction of eggs resulting from all the male to female genotype crosses (\(\overline{O(T_{x})}\)).
Note: For inheritance operations to be consistent within the framework, the summation of each element in the 'z' axis (this is, the proportions of each one of the offspring's genotypes) must be equal to one.
During the three aquatic stages, a density-independent mortality process takes place: $$\theta_{st}=(1-\mu_{st})^{T_{st}}$$ Along with a density dependent process dependent on the number of larvae in the environment: $$F(L[t])=\Bigg(\frac{\alpha}{\alpha+\sum{\overline{L[t]}}}\Bigg)^{1/T_l}$$ where \(\alpha\) represents the strength of the density-dependent process. This parameter is calculated with: $$\alpha=\Bigg( \frac{1/2 * \beta * \theta_e * Ad_{eq}}{R_m-1} \Bigg) * \Bigg( \frac{1-(\theta_l / R_m)}{1-(\theta_l / R_m)^{1/T_l}} \Bigg)$$ in which \(\beta\) is the species' fertility in the absence of gene-drives, \(Ad_{eq}\) is the adult mosquito population equilibrium size, and \(R_{m}\) is the population growth in the absence of density-dependent mortality. This population growth is calculated with the average generation time (\(g\)), the adult mortality rate (\(\mu_{ad}\)), and the daily population growth rate (\(r_{m}\)): $$ g=T_{e}+T_{l}+T_{p}+\frac{1}{\mu_{ad}}\\R_{m}=(r_{m})^{g}$$
As it was briefly mentioned before, we are including the option to release both male and/or female individuals into the populations. Another important t hing to emphasize is that we allow flexible releases sizes and schedules. Our ] model handles releases internally as lists of populations compositions so, it is possible to have releases performed at irregular intervals and with different numbers of mosquito genetic compositions as long as no new genotypes are introduced (which have not been previously defined in the inheritance cube). $$ \overline{\nu} = \bigg\{ \left(\begin{array}{c} g_1 \\ g_2 \\ g_3 \\ \vdots \\ g_n \end{array}\right)_{t=1} , \left(\begin{array}{c} g_1 \\ g_2 \\ g_3 \\ \vdots \\ g_n \end{array}\right)_{t=2} , \cdots , \left(\begin{array}{c} g_1 \\ g_2 \\ g_3 \\ \vdots \\ g_n \end{array}\right)_{t=x} \bigg\} $$ So far, however, we have not described the way in which the effects of these gene-drives are included into the mosquito populations dynamics. This is done through the use of various modifiers included in the equations:
\(\overline{\omega}\): Relative increase in mortality (zero being full mortality effects and one no mortality effect)
\(\overline{\phi}\): Relative shift in the sex of the pupating mosquitoes (zero biases the sex ratio towards males, whilst 1 biases the ratio towards females).
\(\overline{\overline{\eta}}\): Standardized mating fitness (zero being complete fitness ineptitude, and one being regular mating skills).
\(\overline{\beta}\): Fecundity (average number of eggs laid).
\(\overline{\xi}\): Pupation success (zero being full mortality and one full pupation success).
To simulate migration within our framework we are considering patches (or nodes) of fully-mixed populations in a network structure. This allows us to handle mosquito movement across spatially-distributed populations with a transitions matrix, which is calculated with the tensor outer product of the genotypes populations tensors and the transitions matrix of the network as follows: $$ \overline{Am_{(t)}^{i}}= \sum{\overline{A_{m}^j} \otimes \overline{\overline{\tau m_{[t-1]}}}} \\ \overline{\overline{Af_{(t)}^{i}}}= \sum{\overline{\overline{A_{f}^j}} \otimes \overline{\overline{\tau f_{[t-1]}}}} $$ In these equations the new population of the patch \(i\) is calculated by summing the migrating mosquitoes of all the \(j\) patches across the network defined by the transitions matrix \(\tau\), which stores the mosquito migration probabilities from patch to patch. It is worth noting that the migration probabilities matrices can be different for males and females; and that there's no inherent need for them to be static (the migration probabilities may vary over time to accommodate wind changes due to seasonality).
This table compiles all the parameters required to run MGDrivE clustered in six categories:
Life Stages: These deal with the structure of mosquito population.
Bionomics: This set of parameters is related to the behavior of the specific mosquito species being modeled.
Gene Drive: Genotype-specific vectors of parameters that affect how each gene-drive modifies the responses of populations to them.
Releases: List of vectors that control the release of genetically-modified mosquitoes.
Population: General mosquito-population parameters that control environmentally-determined variables.
Network: Related to migration between nodes of population units
MGDrivE allows stochasticity to be included in the dynamics of various processes; in an effort to simulate processes that affect various stages of mosquitoes lives. In the next section, we will describe all the stochastic processes that can be activated in the program. It should be noted that all of these can be turned on and off independently from one another as required by the researcher.
Deredec A, Godfray HCJ, Burt A (2011).
“Requirements for effective malaria control with homing endonuclease genes.”
Proceedings of the National Academy of Sciences of the United States of America, 108(43), E874--80.
ISSN 1091-6490, doi: 10.1073/pnas.1110717108
, https://www.pnas.org/content/108/43/E874.
Hancock PA, Godfray HCJ (2007).
“Application of the lumped age-class technique to studying the dynamics of malaria-mosquito-human interactions.”
Malaria journal, 6, 98.
ISSN 1475-2875, doi: 10.1186/1475-2875-6-98
, https://malariajournal.biomedcentral.com/articles/10.1186/1475-2875-6-98.
Marshall J, Buchman A, C. HMS, Akbari OS (2017).
“Overcoming evolved resistance to population-suppressing homing-based gene drives.”
Nature Scientific Reports, 1--46.
ISSN 2045-2322, doi: 10.1038/s41598-017-02744-7
, https://www.nature.com/articles/s41598-017-02744-7.