MGSurvE: Mosquito Gene SurveillancE
Proof of Concept







Héctor M. Sánchez C.

[Press spacebar to move through the slides or arrows to explore the slides grid]




Structure

I. Mosquito Landscape Analysis
II. Migration Model Description
III. Trap Placement Optimization
IV. Current Status and Future Work


I. Mosquito Landscape Analysis


1) Mosquito-Borne Diseases

2) Gene Drives' Surveillance

3) Heterogeneity in Spatial Resources

4) Research Question

1) Mosquito-Borne Diseases



2) Mosquito Gene Drives' Surveillance



3) Heterogeneity in Spatial Resources



4) Research Question


Given a heterogeneous environment and a limited number of traps, where should we place them?



II. Migration Model Description


1) Objectives and Assumptions

2) Migration Network

3) Migration Network with Traps

4) Fitness Function

5) Ok, so why is useful?

1) Objective and Assumptions


  • O: To define a metric that allows us to optimize traps' locations in complex environments.
  • A: Mosquitos are Markov walkers in a network-based landscape.
  • A: The landscape is static over time.
  • A: Traps are fully absorbing.





2) Migration Network


Given a function that transforms distances into migration probabilities
$$\alpha(s_i\to s_j)= \kappa(D(s_i\to s_j), \rho_{bio}) * \lambda(\hat{s}_i, \hat{s}_j)$$

we can calculate the migration matrix of the whole landscape
$$ \overline{\overline{\tau_{[s_n,s_n]}}} = \begin{bmatrix} p_{s_1\to s_1} & p_{s_1\to s_2} & ... & p_{s_1\to s_{n-1}} & p_{s_1\to s_n} \\ p_{s_2\to s_1} & p_{s_2\to s_2} & ... & p_{s_2\to s_{n-1}} & p_{s_2\to s_n} \\ \vdots & & \ddots & & \vdots \\ p_{s_{n-1}\to s_1} & p_{s_{n-1}\to s_2} & ... & p_{s_{n-1}\to s_{n-1}} & p_{s_{n-1}\to s_n} \\ p_{s_n\to s_1} & p_{s_n\to s_2} & ... & p_{s_n\to s_{n-1}} & p_{s_n\to s_n} \end{bmatrix} = \begin{Vmatrix} \alpha({s_1\to s_1}) & \alpha({s_1\to s_2}) & ... & \alpha({s_1\to s_{n-1}}) & \alpha({s_1\to s_n}) \\ \alpha({s_2\to s_1}) & \alpha({s_2\to s_2}) & ... & \alpha({s_2\to s_{n-1}}) & \alpha({s_2\to s_n}) \\ \vdots & & \ddots & & \vdots \\ \alpha({s_{n-1}\to s_1}) & \alpha({s_{n-1}\to s_2}) & ... & \alpha({s_{n-1}\to s_{n-1}}) & \alpha({s_{n-1}\to s_n}) \\ \alpha({s_n\to s_1}) & \alpha({s_n\to s_2}) & ... & \alpha({s_n\to s_{n-1}}) & \alpha({s_n\to s_n}) \end{Vmatrix} $$

3) Migration Network with Traps


To incorporate the traps' effects we can follow a similar process but split in three parts
$$ \begin{align*} \delta(s_i\to t_j) &= \hat{\eta}(D(s_a\to t_b), \hat{\rho}_{trap}) &\Rightarrow \overline{\overline{\alpha_{[s_n,t_n]}}} & & \text{Distance-based trapping efficacy}\\ \delta(t_i\to s_j || t_i\to t_j |_{i\neq j}) &= 0 &\Rightarrow \overline{\overline{0_{[t_n,s_n]}}}& & \text{No migration out of the traps}\\ \delta(t_i\to t_i) &= 1 &\Rightarrow \overline{\overline{I_{[t_n,t_n]}}}& & \text{Stay traped!} \end{align*} $$
With this in hand, we assemble the traps' migration matrix
$$ \overline{\overline{\chi_{[s_n+t_n, s_n+t_n]}}} = \begin{bmatrix} \overline{\overline{\tau_{[s_n,s_n]}}} & \overline{\overline{\alpha_{[s_n,t_n]}}} \\ \overline{\overline{0_{[t_n,s_n]}}} & \overline{\overline{I_{[t_n,t_n]}}} \end{bmatrix} = \begin{bmatrix} \overline{\overline{B}} & \overline{\overline{A}} \\ \overline{\overline{0}} & \overline{\overline{I}} \end{bmatrix} $$
4) Fitness (or cost) Function


This allows is to get the Markov fundamental matrix
$$\overline{\overline{F_{[s_n,s_n]}}}=(I-B)^{-1}$$
which tells us how much time we spend in any site, given that we started in any other site, before we fall into a trap.
Finally, we can calculate the average maximum time it would take for us to trap a mosquito from anywhere in the landscape

$$ \begin{align*} \overline{\varphi_{[s_n]}} &=Max^{j}(\overline{\overline{F(i, j)}})\\ \phi &= Mean(\overline{\varphi_{[s_n]}}) \end{align*} $$
5) Ok, so why is this useful?


5) More complexity, please?



III. Trap Placement Optimization


1) Fitness Function

2) Genetic Algorithm

3) Optimization Cycle

4) Demo Results

1) Fitness Function


Average maximum time it takes for mosquitoes to fall into traps from anywhere in the landscape (G).






2) Genetic Algorithm






3) Optimization Cycle






4) Benchmark Results




4) Demo Results





IV. Current Status and Future Work


1) Project's Status

2) Extensions and Neat Properties

3) The Future

1) Project's Status




       





Proof of concept is working and pypi package is under development!
(base code ~70%, docs ~50%, unit tests ~20%)




1) Example Code





# Sites information ------------------------------------------------------------
pts = (
	(0.0, 0.0, 0), 
	(2.0, 0.5, 0), 
	(2.5, 1.5, 0),
)
points = pd.DataFrame(pts, columns=('x', 'y', 't'))
# Traps settings ---------------------------------------------------------------
trp = (
	(2.5, 0.75, 0, 0),
	(0.0, 0.50, 0, 0)
)
traps = pd.DataFrame(trp, columns=('x', 'y', 't', 'f'))
tKernels = {0: {'kernel': srv.exponentialDecay, 'params': {'A': 0.5, 'b': 3}}}
# Generating and using landscape -----------------------------------------------
lnd = srv.Landscape(points, traps=traps, trapsKernels=tKernels)
lnd.calcFundamentalMatrix()
fitness = lnd.getDaysTillTrapped()
					



(fig, ax) = plt.subplots(figsize=(15, 15))
lnd.plotSites(fig, ax)
lnd.plotMigrationNetwork(fig, ax)
lnd.plotTraps(fig, ax)
lnd.plotTrapsNetwork(fig, ax)
fig.show()
					

2) Neat Properties and Extensions




  • Multiple trap types are straightforward.
  • Non-movable traps are simple.
  • Can use pre-computed migration matrices.
  • Can export migration matrices with traps for external use.
  • Easy to create new cost functions.
  • Matrices are being implemented in numpy for speed and memory.

  • [L] Repellency
  • [L] Better pseudo-landscape generators (Poisson)
  • [M] Male/Female migration kernels
  • [M] 3D Landscape
  • [M] Parallelization
  • [M] Take into account topological features.
  • [H] Multi-objective optimization

3) The Future


      

Team, and Questions




Héctor M. Sánchez C.
John Marshall, David L. Smith
(sanchez.hmsc@berkeley.edu | chipdelmal.github.io)

Thanks to Conversations with: Tomas León, Jared Bennett, Sean L. Wu, Eileen Jeffrey, Elijah Bartolome, Chris De Leon, Gaming Friends




Epilogue


Notebook Scribbles

Notebook Scribbles




Notebook Scribbles




Notebook Scribbles