Tapestry: Compressed Sensing for Pooled Testing of COVID-19 Samples
Ajit Rajwade
In collaboration with:
Manoj Gopalkrishnan
Sabyasachi Ghosh, Rishi Agarwal, Mohammad Ali Rehan, Shreya Pathak, Yash Gupta, Pratyush Agarwal, Ritika Goyal, Sarthak Consul, Nimay Gupta, Prantik Chakraborty, Ritesh Goenka, Krishna Vemula, Akanksha Vyas
Interaction/collaboration with Profs. Dror Baron and Chau-Wai Wong (NCSU) , Chandra Murthy (IISc), Krishna Narayanan (TAMU)
Skeleton of the Talk
2
Introduction and Motivation
3
Introduction and Motivation
4
Computational problem
5
y
x
A
Vector of observed quantities proportional to viral loads in m pools
m << n
Known mixing matrix:
Aij = 1 if j-th sample contributes to i-th pool, and 0 otherwise
Sparse vector of unknown viral loads in the samples of n different people
m x 1
m x n, m << n
n x 1
Estimate x given y and A
η
Noise vector
m x 1
Designed pooling
RT-PCR Process
7
RT-PCR Process
8
RT-PCR Process
9
Noise Model: RT-PCR
10
zi is the noisy value of initial viral count of the i-th pool, 1 <= i <= m and noisy observed value (𝜏i) of time at which fluorescence is observed. The corresponding noiseless values are Aix and ti respectively where x is the sparse vector of initial viral loads.
x is the vector of n viral loads. If the viral loads are high, then w is approximately equal to x elementwise as the standard deviation of a Poisson distribution with large mean is relatively negligible (as it equals the square root of the mean)
Noise model: RT-PCR
11
y
x
A
Vector of observed quantities proportional to viral loads in m pools
m << n
Known mixing matrix:
Aij = 1 if j-th sample contributes to i-th pool, and 0 otherwise
Sparse vector of unknown viral loads in the samples of n different people
m x 1
m x n, m << n
n x 1
Estimate x given y and A
η
Noise vector
m x 1
log
log
RT-PCR: 0-valued measurements
12
RT-PCR: 0-valued measurements
13
Compressed Sensing Algorithms
14
y
x
A
m' x 1
m’ x n’
n’ x 1
η
m’ x 1
log
log
Compressed Sensing Algorithms
15
Mixing matrix design
16
(*) Abdolghosemi et al, “On the optimization of the measurement matrix for CS”
(#) L Wang et al, “Information-theoretic measurement matrix design”
($) Renna et al, “Reconstruction of Signals Drawn from a Gaussian Mixture via Noisy Compressive Measurements”
Mixing matrix design
17
Mixing matrix design: Expanders
18
Every sufficiently small subset of samples should participate in a sufficiently large number of pools
Mixing matrix design: Expanders
19
Mixing matrix design: deterministic matrices
20
(*) Devore, Deterministic constructions of compressed sensing matrices, 2007
(*) Naidu et al, Deterministic CS matrices: construction via Euler squares, 2016
Mixing matrix design: deterministic matrices
21
Results
22
Results: figures of Merit
23
24
k = # of infected samples out of n
25
Experiment in a lab at Harvard, using a liquid handling robot
Clinical Trials with COVID19 samples
A word about Dorfman Pooling
27
28
Comparing COMP-SBL (one-stage) with two-stage Dorfman pooling
k = # of infected samples out of n
Outputs
29
Summary of Tapestry
31
Summary of Tapestry
32
Discussion: Practical Aspects
33
Discussion: Practical Aspects
34
Discussion: Related Work
35
(#) N. Shental, S. Levy, S. Skorniakov, V. Wuvshet, Y. Shemer-Avni, A. Porgador, and T. Hertz, “Efficient high throughput SARS-CoV-2 testing to detect asymptomatic carriers”
(*) J. Yi, R. Mudumbai, and W. Xu, “Low-cost and high-throughput testing of covid-19 viruses and antibodies via compressed sensing: System concepts and computational experiments”
($) J. Zhu, K. Rivera, and D. Baron, "Noisy Pooled PCR for Virus Testing"
(&) Heiderzadeh and Narayanan, “Two-stage adaptive pooling with RT-qPCR for COVID-19 screening”
More prior knowledge: families
36
y
x
A
Vector of observed quantities proportional to viral loads in m pools
m << n
Known mixing matrix:
Aij = 1 if j-th sample contributes to i-th pool, and 0 otherwise
Sparse vector of unknown viral loads in the samples of n different people - divided into disjoint blocks (eg: families)
m x 1
m x n, m << n
n x 1
Estimate x given y and A
η
Noise vector
m x 1
log
log
Discussions with Dror Baron.
Group sparsity
37
L1 norm is a softened version of the L0 norm – which considers sparsity of x [we assumed that the number of infected individuals is small]
The group sparsity norm considers the number of infected families and assumes it to be small. Counting the number of infected families is called the group-L0 norm but it leads to NP-hard problems (just like the L0 norm). So we soften it to the group-L1 norm. NOTE: xGi is a vector that contains the viral load of all members of the i-th family. It is a subvector of x.
38
# infected people --> # infected families
Fully Infected Families
39
Partially Infected Families
Even more prior knowledge: contact tracing
40
y
x
A
Vector of observed quantities proportional to viral loads in m pools
m << n
Known mixing matrix:
Aij = 1 if j-th sample contributes to i-th pool, and 0 otherwise
Sparse vector of unknown viral loads in the samples of n different people - divided into blocks (eg: families) and you have contact tracing information
m x 1
m x n, m << n
n x 1
Estimate x given y and A
η
Noise vector
m x 1
log
log
A
B
D
C
E
F
G
Even more prior knowledge: contact tracing
41
More details about the contact tracing work
42
43
Thanks for listening! �Questions?�Website: http://www.cse.iitb.ac.in/~ajitvr