Learn R Programming

MGDrivE: Mosquito Gene Drive Explorer

Brief Description

MGDrivE is a framework designed to serve as a testbed in which gene-drive releases for mosquito-borne diseases control can be tested. It is being developed to accommodate various mosquito-specific gene drive systems within a population dynamics model that allows migration of individuals between nodes in a spatial landscape.

How does it work?

The main idea behind this model is to consider genetic inheritance a three-dimensional cube in which each element determines the probability of a specific offspring genotype (z axis) given a certain combination of male-female parent genotypes (x and y axis). This allows us to use tensors as the basis for computation which has many advantages, some of them being: computational speed, model transparency and extendability.

The second novel idea in our framework is to consider the spatial layout as a network of inter-connected breeding habitats. By performing this abstraction we are able to transform these landscapes into distances matrices, and then into transition probabilities matrices. This allows our framework to be able to model arbitrary topologies in which we can simulate mosquito populations mating and migrating in realistic geographical settings.

For more details, please read the vignettes accompanying this package!

Demonstration

In this demo, we release 100 mosquitoes homozygous for the CRISPR/Cas-9 homing drive system, and one with a mutation that makes the mosquito resistant to the construct. Each node in the network represents a mosquito population laid down in a spatial scenario (this could be though of as a household, house block or even city if needed). We simulate how the genetic construct would propagate across the nodes of the network if mosquitoes were slowly migrating between populations with a probability based on proximity.

To watch more videos please take a look at our youtube playlist!

Copy Link

Version

Install

install.packages('MGDrivE')

Monthly Downloads

175

Version

1.6.0

License

GPL-3

Maintainer

H<c3><a9>ctor Manuel S<c3><a1>nchez Castellanos

Last Published

October 5th, 2020

Functions in MGDrivE (1.6.0)

calcAquaticStageSurvivalProbability

Calculate Aquatic Stage Survival Probability
basicBatchMigration

Make List of Batch Migration Parameters
Patch

Patch Class Definition
basicRepeatedReleases

Make List of Modified Mosquito Releases
MGDrivE-Cube

MGDrivE: Inheritance Cube
aggregateOutput

Aggregate Output Over Landscape
MGDrivE

MGDrivE: Mosquito Gene Drive Explorer
aggregateFemales

Aggregate Female Output by Genotype
Network

Network Class Definition
MGDrivE-Model

MGDrivE: Model's Mathematical Description
calcLarvalPopEquilibrium

Calculate Equilibrium Larval Population
calcLarvalStageMortalityRate

Calculate Larval Stage Mortality Rate
calcOmega

Solve for Omega (additional genotype-specific mortality)
calcLognormalKernel

Calculate Lognormal Stochastic Matrix
calcGammaKernel

Calculate Gamma Stochastic Matrix
calcDensityDependentDeathRate

Calculate Density-dependent Larval Mortality
cubeMendelian

Inheritance Cube: Mendelian
eraseDirectory

Erase all files in a directory
cubeModifiers

Generate and Modify Default Genotype-specific Parameters
generateReleaseVector

Make List of Modified Mosquito Releases
get_conF_Network

Get conADF
get_timeAq_Network

Get timeAq
multRun_Network

Run Simulation
get_tau_Network

Get Female Viability Mask (tau)
normalise

Normalise a Numeric Vector
get_conM_Network

Get conADM
calcHaversine

Calculate Geodesic Distance - Haversine Method
calcExpKernel

Calculate Exponential Stochastic Matrix
calcPopulationGrowthRate

Calculate Generational Population Growth Rate
get_alpha_Network

Get alpha
cubeHomingDrive

Inheritance Cube: CRISPR (Clustered Regularly Interspaced Short Palindromic Repeats) with 2 Resistance Alleles and maternal deposition
cubeHoming1RA

Inheritance Cube: Homing Drive with 1 Resistance Allele
get_beta_Network

Get beta
cube2csv

Export a Cube to .csv
calcZeroInflation

Calculates the zero-inflation part of a hurdle exponential kernel.
calcHurdleExpKernel

Calculate Zero-inflated Exponential Stochastic Matrix
get_drivecubeindex_Network

Get Element(s) of Drive Cube by Index
oneDay_eggReleases_Patch

Release Eggs in a Patch
oneDay_releases_Patch

Release Male/Female/Mated-Female Mosquitoes in a Patch
oneDay_pupation_stochastic_Patch

Stochastic Pupation
oneDay_initOutput_Patch

Initialize Output from Focal Patch
reset_Patch

Reset Patch to Initial Conditions
get_eta_Network

Get eta
get_nPatch_Network

Get nPatch
get_omega_Network

Get omega
calcLarvalDist

Calculate Distribution of Larval Population
calcQuantiles

Summary Statistics for Stochastic MGDrivE
moveMatIndependent3

Movement Matrix: Independent 3
oneDay_Network

Run a Single Day on a Network
moveMatDie

Movement Matrix: Die
cubeOneLocusTA

Inheritance Cube: 1 Locus Maternal-Toxin/Zygotic-Antidote System
retrieveOutput

Retrieve Output
calcVinEll

Calculate Geodesic Distance - Vincenty Ellipsoid Method
calcVinSph

Calculate Geodesic Distance - Vincenty Sphere Method
cubeECHACRX

Inheritance Cube: ECHACRX
cubeECHACR

Inheritance Cube: ECHACR
get_femalePop_Patch

Get female Population
cubeRIDL

Inheritance Cube: RIDL (Release of Insects with Dominant Lethality)
cubeWolbachia

Inheritance Cube: Wolbachia
cubeTwoLocusTA

Inheritance Cube: 2 Locus Maternal-Toxin/Zygotic-Antidote System
get_s_Network

Get s
get_genotypesID_Network

Get genotypesID
oneDay_PopDynamics_Patch

Daily Population Dynamics for a Patch
get_tNow_Network

Get tNow
kernels

Kernels Parameters
ggColUtility

Utility to Imitate ggplot2 Colors
oneDay_adultDeath_deterministic_Patch

Deterministic Adult Survival
oneDay_migrationIn_Patch

Inbound Migration
oneDay_oviposit_deterministic_Patch

Deterministic Oviposition
oneDay_adultDeath_stochastic_Patch

Stochastic Adult Survival
get_patchReleases_Network

Get Patch Release Schedule
plotMGDrivEMult

Plot
parameterizeMGDrivE

parameterizeMGDrivE
plotMGDrivESingle

Plot
cubeTGD

Inheritance Cube: tGD
quantileC

Quantiles Function
setupMGDrivE

Setup MGDrivE
oneDay_pupaDM_stochastic_Patch

Stochastic Pupa Death and Pupation
oneDay_pupation_deterministic_Patch

Deterministic Pupation
get_malePop_Patch

Get male Population
cubeTGDX

Inheritance Cube: tGDX
get_genotypesN_Network

Get genotypesN
moveMatTaleOfTwoCities

Movement Matrix: Tale of Two Cities
get_phi_Network

Get phi
moveMatMixedSpil

Movement Matrix: Mixed Spill
calcAverageGenerationTime

Calculate Average Generation Time
rDirichlet

Dirichlet Distribution
splitOutput

Split Output by Patch
moveMatDiag

Movement Matrix: Diagonal
moveMatTriDiagonal

Movement Matrix: Tri-diagonal
reset_Network

Reset Network
set_NetworkPointer_Patch

Set Network Pointer
oneDay_writeOutput_Patch

Write Output from Focal Patch
oneDay_eggDM_deterministic_Patch

Deterministic Egg Death and Pupation
oneDay_eggDM_stochastic_Patch

Stochastic Egg Death and Pupation
oneRun_Network

Run Simulation
moveMatTriple

Movement Matrix: Triple
set_initialPopulation_Patch

Set Initial Population
calcCos

Calculate Geodesic Distance - Cosine Method
moveMatDiagOneCity

Movement Matrix: Diagonal One City
cubeClvR

Inheritance Cube: ClvR (Cleave and Rescue)
cubeClvR2

Inheritance Cube: 2-Locus ClvR (Cleave and Rescue)
oneDay_Migration_Deterministic_Network

Deterministic Inter-Patch Migration
cubeKillerRescue

Inheritance Cube: Killer-Rescue System
cubeReciprocalTranslocations

Inheritance Cube: Reciprocal Translocation
cubeMEDEA

Inheritance Cube: MEDEA (Maternal Effect Dominant Embryonic Arrest)
cubeSplitDrive

Inheritance Cube: Split CRISPR drive with 2 Resistance Alleles and male/female specific homing
get_muAd_Network

Get muAd
get_muAq_Network

Get muAq
oneDay_mating_deterministic_Patch

Deterministic Mating
oneDay_Migration_Stochastic_Network

Stochastic Inter-Patch Migration
get_xiF_Network

Get xiF
oneDay_mating_stochastic_Patch

Stochastic Mating
set_population_deterministic_Patch

Set Initial Population Deterministic
set_population_stochastic_Patch

Set Initial Population Stochastic
get_xiM_Network

Get xiM
moveMatAll2

Movement Matrix: All 2
oneDay_larvaDM_deterministic_Patch

Deterministic Larva Death and Pupation
oneDay_oviposit_stochastic_Patch

Stochastic Oviposition
oneDay_larvaDM_stochastic_Patch

Stochastic Larva Death and Pupation
oneDay_pupaDM_deterministic_Patch

Deterministic Pupa Death and Pupation
moveMatCascade3

Movement Matrix: Cascade 3