An semi-adaptive design is a design that requires a fixed number of rounds of tests more than one. A one round test is non-adaptive, while an open ended design is fully adaptive.

Semi-adaptive designs were first popularized by Dorfman in 1943 for screening for syphilis in blood in military recruits. Since then, numerous variants have been developed. Below we provide a listing and description of some of these methods.

#### Dorfman Pooling

Dorfman pooling involves two steps:
1. 1-pass pooling: All of the samples are divided into a specific number of pools based on the expected prevalence of a positive test. Each sample is tested only once. The pool size (s) is determined by a function that minimizes the expected total number of assays given the expected prevalence (p).
$- (1-p)^s \ln (1-p)-\frac{1}{s^2}=0$
Broder and Kumar in 2020 provide a closed form solution to this expression that uses the Lambert W function:
$s=\frac{2W(- \frac{1}{2} \sqrt{- \ln (1-p)}) }{ \ln (1-p)}$
Example pool sizes are shown below:
Prevalence
(p)
Pool size
(s)
0.001 32
0.005 15
0.01 10
0.02 8
0.03 6
0.04 5
0.05 5
0.07 4
0.1 4
0.12 3
0.18 3
Optimal Pool Size for Dorfman Design

2. 1:1 retest of positive pool: Each pool that tests positive is then individually retested.

#### BK Double Pooling

Broder and Kumar in 2020 suggested an improved double pooling first step which uses larger pool sizes. This design is described below.
1. 2-pass pooling: The first step is to test each sample twice in a nonadaptive test using larger pool sizes. Broader and Kumar identify the optimal pool size (s) given the prevalence (p) as the smallest pool size that best satisfies the following expression:

$\frac{2}{s^2} = - 2(1-p)^s (1-(1-p)^{s-1}) \ln (1-p)$
This expression does not have a clean closed form solution but is readily solved numerically to yield the following pool sizes:
Prevalence
(p)
Pool size
(s)
0.001 106
0.005 38
0.01 25
0.02 16
0.03 13
0.04 11
0.05 10
0.07 8
0.1 7
0.12 6
0.18 5
Optimal Pool Size BK-Double Design

#### Triple Pooling

Following the pattern in BK-double Broder and Kumar in 2020 we can extend the logic to three pools:
1. 3-pass pooling: The first step is to test each sample three times in a nonadaptive test using larger pool sizes. The optimal pool size (s) given the prevalence (p) as the smallest pool size that best satisfies the following expression:
$(p-1)^3+(1-p)^s(p-1+(1-p)^s)^2s^2 \ln(1-p)$
This expression does not have a clean closed form solution but is readily solved numerically to yield the following pool sizes:
Prevalence
(p)
Pool size
(s)
0.001 196
0.005 62
0.01 39
0.02 24
0.03 18
0.04 15
0.05 13
0.07 11
0.1 9
0.12 8
0.18 6
Optimal Pool Size Triple Design

#### Divide and test (DT)

In contrast to the previous design, divide and test (DT) is a multi-step pooling design. In this design the set of n samples is first divided up into pools, and then the positive pools are themselved run as sub-pools. In general, this multi-step design results in fewer total assays.

As with the other designs, the pool size (s) is dictated by the prevalance (p) assuming p<0.5: $s= 2^{ \log_{2}( 1/p -1)}$ If a pool is positive, then divide the pool in half (binary search) and retest each subpool to identify the positive samples

Note that this method can be further refined as in Hwang's generalized binary splitting (GBS). In GBS, the prevalance is defined as a fixed number of positive cases (D+), so the prevalance is estiamted as N/D+. After each round of screening, the total number of samples (N) and positive samples (D+) are adjusted so as to progressively improve their estiamte of the resulting population. This strategy is akin of card counting where the composition of the deck is already assumed to be known. Unfortunately in practice we only have the prevalence and not D+, so GBS can fail if we incorrectly assume D+.

### TO DO

• add in additional post processing methods such as listed in this paper including: sub-pool halving, Sterrett's procedure, or Matrix testing
• Discussion of square arrays (i.e. "array testing" or "matrix testing" )here . This talks about array testing where rows and columns are tested individually (a 2 replicate pre-screen)
• Discussion of streaming process vs batch of streaming process vs batch