Cargo validation: index PCR
Protocol 5 of 7, and one of two ways to read every well back — do this one or Cargo validation: barcode ligation, not both. Comes after Cargo creation. Next is Library assembly in rounds.
Take the archived designs to clonal wells, mark each well so sequencing says which well it came from, and call a pass or a fail per well.
Have in hand
- cargo archive plate one well a design, polyclonal, sealed and frozen
- Barcoded index primer plate the lab's own index primers, prepared once and called for by a run · 1 µM each
Leaves you with
- clonal picked plate one well a picked colony, each well one clone
- well calls a pass or a fail a well, and which design each well holds
Materials
| Name | Supplier | Catalogue | Storage | Per run | Note | Source |
|---|---|---|---|---|---|---|
| 25 cm BioAssay plate | Corning | 431111 | one spot a design | 50 µg/mL kanamycin; about 2,500 colonies a plate | [1] | |
| 384-well culture plate | Beckman Coulter | c74290 | 1, one a 384 wells | 60 µL low-salt LB with 50 µg/mL kanamycin a well | [1] | |
| 96-well half-skirted PCR plate | USA Scientific | 1402-9700 | 3, one a quarter of a picked plate | [2] | ||
| Barcoded index primer plate | -20 °C | 2 µL a well at 1 µM each, 96 forward and 96 reverse | prepared once as lab stock, by its own protocol; a run calls for it. The SI's plate preparation ends at 0.1 µM, where its own protocol and the article both stamp 1 µM, which is what this takes | [2] | ||
| ThermoPol Reaction Buffer | NEB | B9004 | -20 °C | 1 µL a reaction, 10X | [2] | |
| dNTP mix | NEB | N0447 | -20 °C | 0.2 µL a reaction, 10 mM each | [2] | |
| Taq DNA Polymerase | NEB | M0267 | -20 °C | 0.05 µL a reaction | 5 U/µL, so one reaction takes 0.25 units | [3] |
| DMSO, molecular biology grade | MP Biomedicals | 194819 | 0.4 µL a reaction, 4% (v/v) in the well | [2] |
Equipment: QPix XE Microbial Colony Picker, multichannel pipette on 96-well spacing, Thermocycler taking a 96-well plate, Incubator at 37 °C, A sequencer, and a demultiplexer that can check an address
Caution: Keep the polymerase on ice.
Plates
- quarter 1
- quarter 2
- quarter 3
Array and pick
Expected result
- One spot a design, at about 2,500 colonies a plate, which is the density picking wants.
Troubleshooting
- A spot grows nothing
- That design has no clone to read. Re-transform it from the archive before anyone re-synthesises it.
Notes
- This run reads back every design, which a floor of zero does: 72 designs. The rest stay polyclonal and are never read one design at a time.
- The archive is untouched: this reads a copy of it.
Expected result
- 288 wells over 1 plate: 288 picked.
- Every colony of one design sits on one plate.
Troubleshooting
- A design in many fragments gives no clean colony
- The chances above say which designs that is likeliest for. Pick more colonies of those designs before the plates are poured, not after.
Notes
- 4 colonies a design is the only count measured: four gave a clean copy of 343 of 458 genes.[4]
- 1 fragment: 40 designs, 100.0% of picks clean
- 2 fragments: 16 designs, 100.0% of picks clean
- 3 fragments: 6 designs, 93.8% of picks clean
- 4 fragments: 9 designs, 89.2% of picks clean
- 5 fragments: 1 design, 84.6% of picks clean
- A quarter at a time is what makes a part-filled plate give full plates downstream, and what keeps a mark off a plate that is mostly empty.
Mark every well
96 moves
| From | To | µL |
|---|---|---|
| picked 1 A1 | index 1 A1 | 1 |
| picked 1 A3 | index 1 A2 | 1 |
| picked 1 A5 | index 1 A3 | 1 |
| picked 1 A7 | index 1 A4 | 1 |
| picked 1 A9 | index 1 A5 | 1 |
| picked 1 A11 | index 1 A6 | 1 |
| picked 1 A13 | index 1 A7 | 1 |
| picked 1 A15 | index 1 A8 | 1 |
| picked 1 A17 | index 1 A9 | 1 |
| picked 1 A19 | index 1 A10 | 1 |
| picked 1 A21 | index 1 A11 | 1 |
| picked 1 A23 | index 1 A12 | 1 |
| picked 1 C1 | index 1 B1 | 1 |
| picked 1 C3 | index 1 B2 | 1 |
| picked 1 C5 | index 1 B3 | 1 |
| picked 1 C7 | index 1 B4 | 1 |
| picked 1 C9 | index 1 B5 | 1 |
| picked 1 C11 | index 1 B6 | 1 |
| picked 1 C13 | index 1 B7 | 1 |
| picked 1 C15 | index 1 B8 | 1 |
| picked 1 C17 | index 1 B9 | 1 |
| picked 1 C19 | index 1 B10 | 1 |
| picked 1 C21 | index 1 B11 | 1 |
| picked 1 C23 | index 1 B12 | 1 |
| picked 1 E1 | index 1 C1 | 1 |
| picked 1 E3 | index 1 C2 | 1 |
| picked 1 E5 | index 1 C3 | 1 |
| picked 1 E7 | index 1 C4 | 1 |
| picked 1 E9 | index 1 C5 | 1 |
| picked 1 E11 | index 1 C6 | 1 |
| picked 1 E13 | index 1 C7 | 1 |
| picked 1 E15 | index 1 C8 | 1 |
| picked 1 E17 | index 1 C9 | 1 |
| picked 1 E19 | index 1 C10 | 1 |
| picked 1 E21 | index 1 C11 | 1 |
| picked 1 E23 | index 1 C12 | 1 |
| picked 1 G1 | index 1 D1 | 1 |
| picked 1 G3 | index 1 D2 | 1 |
| picked 1 G5 | index 1 D3 | 1 |
| picked 1 G7 | index 1 D4 | 1 |
| picked 1 G9 | index 1 D5 | 1 |
| picked 1 G11 | index 1 D6 | 1 |
| picked 1 G13 | index 1 D7 | 1 |
| picked 1 G15 | index 1 D8 | 1 |
| picked 1 G17 | index 1 D9 | 1 |
| picked 1 G19 | index 1 D10 | 1 |
| picked 1 G21 | index 1 D11 | 1 |
| picked 1 G23 | index 1 D12 | 1 |
| picked 1 I1 | index 1 E1 | 1 |
| picked 1 I3 | index 1 E2 | 1 |
| picked 1 I5 | index 1 E3 | 1 |
| picked 1 I7 | index 1 E4 | 1 |
| picked 1 I9 | index 1 E5 | 1 |
| picked 1 I11 | index 1 E6 | 1 |
| picked 1 I13 | index 1 E7 | 1 |
| picked 1 I15 | index 1 E8 | 1 |
| picked 1 I17 | index 1 E9 | 1 |
| picked 1 I19 | index 1 E10 | 1 |
| picked 1 I21 | index 1 E11 | 1 |
| picked 1 I23 | index 1 E12 | 1 |
| picked 1 K1 | index 1 F1 | 1 |
| picked 1 K3 | index 1 F2 | 1 |
| picked 1 K5 | index 1 F3 | 1 |
| picked 1 K7 | index 1 F4 | 1 |
| picked 1 K9 | index 1 F5 | 1 |
| picked 1 K11 | index 1 F6 | 1 |
| picked 1 K13 | index 1 F7 | 1 |
| picked 1 K15 | index 1 F8 | 1 |
| picked 1 K17 | index 1 F9 | 1 |
| picked 1 K19 | index 1 F10 | 1 |
| picked 1 K21 | index 1 F11 | 1 |
| picked 1 K23 | index 1 F12 | 1 |
| picked 1 M1 | index 1 G1 | 1 |
| picked 1 M3 | index 1 G2 | 1 |
| picked 1 M5 | index 1 G3 | 1 |
| picked 1 M7 | index 1 G4 | 1 |
| picked 1 M9 | index 1 G5 | 1 |
| picked 1 M11 | index 1 G6 | 1 |
| picked 1 M13 | index 1 G7 | 1 |
| picked 1 M15 | index 1 G8 | 1 |
| picked 1 M17 | index 1 G9 | 1 |
| picked 1 M19 | index 1 G10 | 1 |
| picked 1 M21 | index 1 G11 | 1 |
| picked 1 M23 | index 1 G12 | 1 |
| picked 1 O1 | index 1 H1 | 1 |
| picked 1 O3 | index 1 H2 | 1 |
| picked 1 O5 | index 1 H3 | 1 |
| picked 1 O7 | index 1 H4 | 1 |
| picked 1 O9 | index 1 H5 | 1 |
| picked 1 O11 | index 1 H6 | 1 |
| picked 1 O13 | index 1 H7 | 1 |
| picked 1 O15 | index 1 H8 | 1 |
| picked 1 O17 | index 1 H9 | 1 |
| picked 1 O19 | index 1 H10 | 1 |
| picked 1 O21 | index 1 H11 | 1 |
| picked 1 O23 | index 1 H12 | 1 |
96 moves
| From | To | µL |
|---|---|---|
| picked 1 A2 | index 2 A1 | 1 |
| picked 1 A4 | index 2 A2 | 1 |
| picked 1 A6 | index 2 A3 | 1 |
| picked 1 A8 | index 2 A4 | 1 |
| picked 1 A10 | index 2 A5 | 1 |
| picked 1 A12 | index 2 A6 | 1 |
| picked 1 A14 | index 2 A7 | 1 |
| picked 1 A16 | index 2 A8 | 1 |
| picked 1 A18 | index 2 A9 | 1 |
| picked 1 A20 | index 2 A10 | 1 |
| picked 1 A22 | index 2 A11 | 1 |
| picked 1 A24 | index 2 A12 | 1 |
| picked 1 C2 | index 2 B1 | 1 |
| picked 1 C4 | index 2 B2 | 1 |
| picked 1 C6 | index 2 B3 | 1 |
| picked 1 C8 | index 2 B4 | 1 |
| picked 1 C10 | index 2 B5 | 1 |
| picked 1 C12 | index 2 B6 | 1 |
| picked 1 C14 | index 2 B7 | 1 |
| picked 1 C16 | index 2 B8 | 1 |
| picked 1 C18 | index 2 B9 | 1 |
| picked 1 C20 | index 2 B10 | 1 |
| picked 1 C22 | index 2 B11 | 1 |
| picked 1 C24 | index 2 B12 | 1 |
| picked 1 E2 | index 2 C1 | 1 |
| picked 1 E4 | index 2 C2 | 1 |
| picked 1 E6 | index 2 C3 | 1 |
| picked 1 E8 | index 2 C4 | 1 |
| picked 1 E10 | index 2 C5 | 1 |
| picked 1 E12 | index 2 C6 | 1 |
| picked 1 E14 | index 2 C7 | 1 |
| picked 1 E16 | index 2 C8 | 1 |
| picked 1 E18 | index 2 C9 | 1 |
| picked 1 E20 | index 2 C10 | 1 |
| picked 1 E22 | index 2 C11 | 1 |
| picked 1 E24 | index 2 C12 | 1 |
| picked 1 G2 | index 2 D1 | 1 |
| picked 1 G4 | index 2 D2 | 1 |
| picked 1 G6 | index 2 D3 | 1 |
| picked 1 G8 | index 2 D4 | 1 |
| picked 1 G10 | index 2 D5 | 1 |
| picked 1 G12 | index 2 D6 | 1 |
| picked 1 G14 | index 2 D7 | 1 |
| picked 1 G16 | index 2 D8 | 1 |
| picked 1 G18 | index 2 D9 | 1 |
| picked 1 G20 | index 2 D10 | 1 |
| picked 1 G22 | index 2 D11 | 1 |
| picked 1 G24 | index 2 D12 | 1 |
| picked 1 I2 | index 2 E1 | 1 |
| picked 1 I4 | index 2 E2 | 1 |
| picked 1 I6 | index 2 E3 | 1 |
| picked 1 I8 | index 2 E4 | 1 |
| picked 1 I10 | index 2 E5 | 1 |
| picked 1 I12 | index 2 E6 | 1 |
| picked 1 I14 | index 2 E7 | 1 |
| picked 1 I16 | index 2 E8 | 1 |
| picked 1 I18 | index 2 E9 | 1 |
| picked 1 I20 | index 2 E10 | 1 |
| picked 1 I22 | index 2 E11 | 1 |
| picked 1 I24 | index 2 E12 | 1 |
| picked 1 K2 | index 2 F1 | 1 |
| picked 1 K4 | index 2 F2 | 1 |
| picked 1 K6 | index 2 F3 | 1 |
| picked 1 K8 | index 2 F4 | 1 |
| picked 1 K10 | index 2 F5 | 1 |
| picked 1 K12 | index 2 F6 | 1 |
| picked 1 K14 | index 2 F7 | 1 |
| picked 1 K16 | index 2 F8 | 1 |
| picked 1 K18 | index 2 F9 | 1 |
| picked 1 K20 | index 2 F10 | 1 |
| picked 1 K22 | index 2 F11 | 1 |
| picked 1 K24 | index 2 F12 | 1 |
| picked 1 M2 | index 2 G1 | 1 |
| picked 1 M4 | index 2 G2 | 1 |
| picked 1 M6 | index 2 G3 | 1 |
| picked 1 M8 | index 2 G4 | 1 |
| picked 1 M10 | index 2 G5 | 1 |
| picked 1 M12 | index 2 G6 | 1 |
| picked 1 M14 | index 2 G7 | 1 |
| picked 1 M16 | index 2 G8 | 1 |
| picked 1 M18 | index 2 G9 | 1 |
| picked 1 M20 | index 2 G10 | 1 |
| picked 1 M22 | index 2 G11 | 1 |
| picked 1 M24 | index 2 G12 | 1 |
| picked 1 O2 | index 2 H1 | 1 |
| picked 1 O4 | index 2 H2 | 1 |
| picked 1 O6 | index 2 H3 | 1 |
| picked 1 O8 | index 2 H4 | 1 |
| picked 1 O10 | index 2 H5 | 1 |
| picked 1 O12 | index 2 H6 | 1 |
| picked 1 O14 | index 2 H7 | 1 |
| picked 1 O16 | index 2 H8 | 1 |
| picked 1 O18 | index 2 H9 | 1 |
| picked 1 O20 | index 2 H10 | 1 |
| picked 1 O22 | index 2 H11 | 1 |
| picked 1 O24 | index 2 H12 | 1 |
96 moves
| From | To | µL |
|---|---|---|
| picked 1 B1 | index 3 A1 | 1 |
| picked 1 B3 | index 3 A2 | 1 |
| picked 1 B5 | index 3 A3 | 1 |
| picked 1 B7 | index 3 A4 | 1 |
| picked 1 B9 | index 3 A5 | 1 |
| picked 1 B11 | index 3 A6 | 1 |
| picked 1 B13 | index 3 A7 | 1 |
| picked 1 B15 | index 3 A8 | 1 |
| picked 1 B17 | index 3 A9 | 1 |
| picked 1 B19 | index 3 A10 | 1 |
| picked 1 B21 | index 3 A11 | 1 |
| picked 1 B23 | index 3 A12 | 1 |
| picked 1 D1 | index 3 B1 | 1 |
| picked 1 D3 | index 3 B2 | 1 |
| picked 1 D5 | index 3 B3 | 1 |
| picked 1 D7 | index 3 B4 | 1 |
| picked 1 D9 | index 3 B5 | 1 |
| picked 1 D11 | index 3 B6 | 1 |
| picked 1 D13 | index 3 B7 | 1 |
| picked 1 D15 | index 3 B8 | 1 |
| picked 1 D17 | index 3 B9 | 1 |
| picked 1 D19 | index 3 B10 | 1 |
| picked 1 D21 | index 3 B11 | 1 |
| picked 1 D23 | index 3 B12 | 1 |
| picked 1 F1 | index 3 C1 | 1 |
| picked 1 F3 | index 3 C2 | 1 |
| picked 1 F5 | index 3 C3 | 1 |
| picked 1 F7 | index 3 C4 | 1 |
| picked 1 F9 | index 3 C5 | 1 |
| picked 1 F11 | index 3 C6 | 1 |
| picked 1 F13 | index 3 C7 | 1 |
| picked 1 F15 | index 3 C8 | 1 |
| picked 1 F17 | index 3 C9 | 1 |
| picked 1 F19 | index 3 C10 | 1 |
| picked 1 F21 | index 3 C11 | 1 |
| picked 1 F23 | index 3 C12 | 1 |
| picked 1 H1 | index 3 D1 | 1 |
| picked 1 H3 | index 3 D2 | 1 |
| picked 1 H5 | index 3 D3 | 1 |
| picked 1 H7 | index 3 D4 | 1 |
| picked 1 H9 | index 3 D5 | 1 |
| picked 1 H11 | index 3 D6 | 1 |
| picked 1 H13 | index 3 D7 | 1 |
| picked 1 H15 | index 3 D8 | 1 |
| picked 1 H17 | index 3 D9 | 1 |
| picked 1 H19 | index 3 D10 | 1 |
| picked 1 H21 | index 3 D11 | 1 |
| picked 1 H23 | index 3 D12 | 1 |
| picked 1 J1 | index 3 E1 | 1 |
| picked 1 J3 | index 3 E2 | 1 |
| picked 1 J5 | index 3 E3 | 1 |
| picked 1 J7 | index 3 E4 | 1 |
| picked 1 J9 | index 3 E5 | 1 |
| picked 1 J11 | index 3 E6 | 1 |
| picked 1 J13 | index 3 E7 | 1 |
| picked 1 J15 | index 3 E8 | 1 |
| picked 1 J17 | index 3 E9 | 1 |
| picked 1 J19 | index 3 E10 | 1 |
| picked 1 J21 | index 3 E11 | 1 |
| picked 1 J23 | index 3 E12 | 1 |
| picked 1 L1 | index 3 F1 | 1 |
| picked 1 L3 | index 3 F2 | 1 |
| picked 1 L5 | index 3 F3 | 1 |
| picked 1 L7 | index 3 F4 | 1 |
| picked 1 L9 | index 3 F5 | 1 |
| picked 1 L11 | index 3 F6 | 1 |
| picked 1 L13 | index 3 F7 | 1 |
| picked 1 L15 | index 3 F8 | 1 |
| picked 1 L17 | index 3 F9 | 1 |
| picked 1 L19 | index 3 F10 | 1 |
| picked 1 L21 | index 3 F11 | 1 |
| picked 1 L23 | index 3 F12 | 1 |
| picked 1 N1 | index 3 G1 | 1 |
| picked 1 N3 | index 3 G2 | 1 |
| picked 1 N5 | index 3 G3 | 1 |
| picked 1 N7 | index 3 G4 | 1 |
| picked 1 N9 | index 3 G5 | 1 |
| picked 1 N11 | index 3 G6 | 1 |
| picked 1 N13 | index 3 G7 | 1 |
| picked 1 N15 | index 3 G8 | 1 |
| picked 1 N17 | index 3 G9 | 1 |
| picked 1 N19 | index 3 G10 | 1 |
| picked 1 N21 | index 3 G11 | 1 |
| picked 1 N23 | index 3 G12 | 1 |
| picked 1 P1 | index 3 H1 | 1 |
| picked 1 P3 | index 3 H2 | 1 |
| picked 1 P5 | index 3 H3 | 1 |
| picked 1 P7 | index 3 H4 | 1 |
| picked 1 P9 | index 3 H5 | 1 |
| picked 1 P11 | index 3 H6 | 1 |
| picked 1 P13 | index 3 H7 | 1 |
| picked 1 P15 | index 3 H8 | 1 |
| picked 1 P17 | index 3 H9 | 1 |
| picked 1 P19 | index 3 H10 | 1 |
| picked 1 P21 | index 3 H11 | 1 |
| picked 1 P23 | index 3 H12 | 1 |
Expected result
- 3 index plates, 288 reactions in all.
Notes
- One well in four lines up under a head built for the smaller format, so a quarter moves in one pass.
Caution: Keep the polymerase on ice.
| Component | Stock | Final | 1 rxn (µL) | Mix for 288 (µL) |
|---|---|---|---|---|
| ThermoPol Reaction Buffer[2] | 10X | 1X | 1 | 432 |
| dNTP mix[2] | 10 mM each | 0.2 mM each | 0.2 | 86.4 |
| Taq DNA Polymerase[2] | 5 U/µL | 0.25 units | 0.05 | 21.6 |
| DMSO[2] | 100% | 4% (v/v) | 0.4 | 173 |
| Nuclease-free water[2] | 5.35 | 2,311 | ||
| Barcoded primer mix[2] | 1 µM each | 0.2 µM each | 2 | each tube |
| Overnight culture[2] | 1 | each tube | ||
| Total | 10 | 3,024 mix only |
Put 7 µL of mix in each tube, then add 2 µL Barcoded primer mix, 1 µL Overnight culture.
| Step | Temperature | Time | Cycles |
|---|---|---|---|
| Initial denaturation | 95 °C | 5 min | 1 |
| Denature | 95 °C | 20 s | ×10 |
| Anneal | 68 → 63.5 °C -0.5 °C a cycle | 20 s | |
| Extend | 68 °C | 2 min | |
| Denature | 95 °C | 20 s | ×25 |
| Anneal and extend | 68 °C | 2 min | |
| Final extension | 68 °C | 5 min | 1 |
| Hold | 4 °C | ∞ | 1 |
- IDX1 no sourced number — index PCR, the pair marking one well: no index mark set is named for the barcoded primer pairs. Waiting on the lab's own stock. Filled by the prepared primer plate the lab holds.
Explore the mapClose the map
Open it in a new tabExpected result
- One barcoded amplicon a well. A well's own place in the plate names its forward mark — the first well the first mark — and every well of one plate takes that plate's own reverse mark.
- One band a well, the design plus about 100 bp: the two marks, and the stretch between the primer sites and the reading frame.
Troubleshooting
- A plate reads back far fewer wells than the others
- LevSeq traces that to the amplification, not the sequencing: on a run of ten plates three returned under 60% of their variants. Check each pool on a gel before the library prep.
Notes
- 96 forward marks and 96 reverse reach 9,216 wells, so the pairs already held cover far more than this run needs.
- The primer plate is built once as lab stock and a run calls for it; this protocol does not build one.
- The first 10 cycles touch down from 68 to 63.5 °C, 0.5 °C a cycle, and 25 more run at 68 °C.
- Extension is 2 minutes, what the authors ran for a gene below 1 kb. The published rule is at least one minute a kilobase, so a longer design wants it raised.
- The mix is made 1.5 times what the wells take, which is what LevSeq's own per-plate table spells out. Nothing says what the surplus is for.
Expected result
- Reads for 288 wells, every well told from the rest by the marks it carries.
Notes
- This read pools 3 plates. One axis of the address is the plate, so the marks tell 96 plates apart on one flow cell.
Call the wells
Expected result
- A well read more than 20 times is called; the index PCR route tolerates 10 reads and warns between the two.
- A pass matches across the whole designed region: both entry overhangs, the fragment, the stuffer and the barcode.
Troubleshooting
- A well's call is the right protein and the wrong barcode
- It fails. A barcode that no longer names its member cannot be put right by the linkage read later.
Notes
- A well read too thinly carries no verdict and is not a failure, so reformatting does not compact it out.
- More than one consensus is mixed, and mixed fails.
- A design with no passing well is picked again from the same archive spot before anyone re-synthesises it.
Holes
1 number this protocol would otherwise have to invent. None is filled with a guess, and each says below what it waits on: a bench, a shelf, a price, or a number nobody has published.
- IDX1 no sourced number — index PCR, the pair marking one well: no index mark set is named for the barcoded primer pairs. Waiting on the lab's own stock. Filled by the prepared primer plate the lab holds.
Sources
- Qian et al. 2026, Supplementary Information · Nat. Commun. 10.1038/s41467-026-76740-9 · held under reference_docs/ · 2026-10-06 https://doi.org/10.1038/s41467-026-76740-9 cited at Day 2 · Day 3
- Long, Y. et al. 2025, LevSeq, Supporting Information · held under reference_docs/ · 2026-10-06 https://doi.org/10.1021/acssynbio.4c00625 cited at step 2 · step 3 · step 1 · step 4 · thermal cycler table
- New England Biolabs, Product Specification: Taq DNA Polymerase with ThermoPol Buffer · PS-M0267S/L/X/E v2.0, effective 12 Feb 2020 · plain curl · 2026-10-08 · docs/research/route-b-index-pcr.md https://www.neb.com/en/-/media/catalog/specifications/m/0/m0267s_l_x_e_v2.pdf cited at Concentration
- Lund, S. et al. (2024) Highly parallelized construction of DNA from low-cost oligonucleotide mixtures using Data-optimized Assembly Design and Golden Gate. ACS Synth. Biol. 13, 745-751 · docs/research/synthesis-and-assembly.md https://doi.org/10.1021/acssynbio.3c00694 cited at colonies screened per gene
- liulab-mbio, Figure sources for four designs · docs/research/figure-sources.md cited at section 3, DMX