It started with one frog egg: does it look “normal”?
Kat TittertonCofounder, CSO, San Francisco
my cells, lab 2DMSO, 20 µm bar
Do my cells look “normal”?
“normal”=published images+past data
asked @ five benches … answered @ none“Normal” compared with whom? Each lab’s own checks can pass while labs still disagree (slides 03 and 04, archive A13).
Each lab judges “normal” alone.
$28B a year of US lab research others cannot reproduce [6]
36% ≈ $10B, cells and reagents
64%, other causes
search
U2OS “normal”?
Doil 2009
Gustafsdottir 2013
Stadler 2012
Rohban 2017
Bray 2017
JUMP 2023
six papers, six “normals”negative-control wells, IDR idr0010, idr0036, idr0025, idr0033, idr0016 (results/search-tiles.json); JUMP [7]; Doil and Rohban CC BY 4.0, Gustafsdottir and Bray CC0, Stadler CC BY-SA 3.0
ask
To: authors, U2OS paperSubject: do my U2OS cells look right?
Hoechst, DNA
screenshot.png
one opinion
guess
run it$100,000sat riskabout $50k a run, 3 runs a week, in the author’s experience [28]
waitmonthslostasking or re-running to be sure, the author’s estimate [28]
1
lab 2
3
5
6
7
8
9
10
11
15
nuclei (DNA)cell body (actin, membrane)20 µm
what it costs
$100,000sa screen on changed cells [28]: about $50k a run, 3 runs a week
monthsasking around, or re-running [28]
why now20231.8B public cells2025$30M per cell mapnowAI reads cells
why now: 1.8B public cells, JUMP [7, 25]; FDA: fewer animal tests [9]; $30M per cell map, Roche to Recursion, Q3 2025 results [11]; AI reads cells (A3)
03The game
One lab, or eleven? Guess out loud.
tap a tile to check
same cellssame protocolno drug
Could anyone tell? A classifier can.
nuclei (DNA)cell body (actin, membrane)
1
100 µm
2
100 µm
3
100 µm
5
100 µm
6
100 µm
7
100 µm
8
100 µm
9
100 µm
10
100 µm
11
100 µm
15
100 µm
same cells
U2OS: human bone cancer cellsosteosarcoma (bone cancer) from a 15-year-old’s tibia, described in 1967 [26]the one line in JUMP’s full dataset, so every lab here grew it [27]chosen over A549 by a slim margin, for its public data [27]named in 11 of the Cell Painting Gallery’s 28 datasets [17]a cancer line: “normal” means its DMSO baseline, not healthy tissue
same protocol
Cell Painting, one protocol at every site [7, 27]
no drug
DMSO only, the drugs’ solvent [7]
99.9%right lab, 93,228 wells chance: 1 in 11
noneall of a lab’s wells
shade: the share of a row’s wells, light grey none to dark all; 93,228 wells, results/e1
9%chance
Biosecurity: labels can lie, cells cannot. Good actors can prove what they test. A7
fig 1 Cell Painting, images: DNA channel, classifier: 3,773 numbers per well from all channels, 93,228 wells, 11 labs (a lab = one JUMP data source, its data-generating centre), plates held out, bars 100 µm, JUMP [7], archive A2, A1, archive A5
Send the controls. Know it’s “normal” before the screen.
Controls catch drift before any drug is read.
flag012JunJulAugSepOctlab 2’s controls, drift1 = as far as another labdrug answers, 118 batchesagainst the lab’s usual−0.40+0.2controls’ drift−0.71rank correlationa batch, June to October (13)flaggeda batchknown drugs failedmore drift,weaker answers
fig 2 dots: DMSO wells, 8 per plate, one in three drawn; PCA of 15,352 wells, for the eye (distances use all 3,773 numbers); plates: 384 wells, 1,536 in labs 1 and 9; 6×: two labs’ centres sit 6.2 plate spreads apart on average, a plate spread being a well’s mean distance from its own plate’s centre, all 3,773 numbers (results/e13); JUMP [7]; archive A2, A1, archive A13
fig 3 the member check, replayed on public data; closest lab in all 3,773 numbers: lab 6, 4.4 within-plate spreads away; known drugs worked; agreement with other labs 0.70 measured, 0.77 on the map; 188 cells per well, in its usual range; JUMP [7], results/e9, e11, e12; archive A11, A5
fig 4 lab 2, 13 batches; drift: control wells’ distance from the first batch, in within-plate spreads; drift: distance from the first batch over distance to the nearest other lab’s centre, so 1 is the flag line (most plates nearer another lab than the first batch, e9); right: every batch’s drift and match minus its lab’s mean, Spearman over all labs, permutation p = 0.0005, crosses: positive controls failed (results/e10); archive A6; JUMP [7]
The product is the data. One drug: nuclei ×1.7 to 2.4 in all 11 labs.
AMG900, 5 µM: cells can’t divideDMSOAMG90012356789101115nuclei (DNA)cell body (actin, membrane)20 µmnuclear area, over own DMSOone bar a lab: the median of 60 to 195 nuclei, 3 plates1× = DMSOmean ×2.1
AMG900, an Aurora kinase inhibitor and JUMP’s strongest positive control, 5 µM; per lab, three plates from batches whose known answer came out; each crop is the cell of median nuclear area, 90 µm across; DNA (Hoechst) pink, AGP green; bars 20 µm; one bar a lab, dashed the mean (results/e18); agreement across labs: A4; JUMP [7]
11 labs’ public images, plus yours. Only control wells are shared.
sources
public imagesJUMP, 11 labs, open
your raw imagesbacked up free, off-sitethe copy insurers ask for
one repository
sharedcontrol wells, on one map
privateeverything else, yours alone
members
screening teamsa check on every batch
AI teamsaligned images, by API
Proposed, except the public map (JUMP, CC0 [7]). Raw images backed up free, off-site and immutable: cold storage costs about $1 per TB a month [36]; one cyber insurer asks for a weekly offline or immutable backup [37]. Only control wells are shared, by choice; the rest is encrypted and read by no one else. A5, A10
06The standard
Every lab that joins sharpens “normal”: error 6.2 with one lab, 2.8 with five.
1611labs on the maperror in “normal”lower: a screen sees smaller drug effects, a model learns cells, not labsmean of 400 draws10th to 90th percentilering: the error6.22.8measuredlabs todayexpectedLabs own their data, earn a share.1/√n
go-to-market3 partner labs join(A8)screening labs subscribe(A9)AI teams subscribe by API(archive A15)
fig 5 error: distance between two maps from different labs, in within-plate spreads; dot: mean of 400 draws, bar: 10th to 90th percentile; measured to five labs, dashed beyond; 1,871 plates; JUMP [7]; results/e13
07The market
Every likely buyer: $84M/year. Five-year target: a tenth, $8.4M/year.
five-year plan, revenue a year$01$0.1M2$0.4M3$1.9M4$8.4M5yearassumed: about ×4 a year from year 2the targetwho pays, every likely buyera tenth: $8.4M/yearscreening labs$10k/line/quarter$64Mbuyers of cell data$25k/dataset$15Mbig screening panels$150k/year$3.75Mbenchmark partners$100k/year$1M
fig 6 base case of A9: every count and price an assumption until a count replaces it; low case $9.7M/year; academic labs join free and are the map, not the revenue; AI usage by API not priced; beyond the base case, AI cell data is a $1.8B push [12] and irreproducible research costs $28B/year [6]; why now is on 02, go-to-market on 06
Each tool sees one lab. Datum Line sees every lab.
measure cellsnormalise platesreference dataevery lab, over time
CellProfilerimage analysis, open source [32]
HarmonyRevvity’s Opera Phenix software [33]
pycytominerprofiles, each plate to its own DMSO [34]
Genedata Screenerscreen QC and normalisation [35]
JUMP, Recursionreference data at scale [7, 11]
Datum Lineevery lab’s controls, one repository
Datum Line hosts every lab’s raw control images, and runs on them.
tools as a phenotypic screen runs them: CellProfiler [32]; Harmony, Revvity [33]; pycytominer [34]; Genedata Screener [35]; JUMP [7], Recursion [11]. A check: the tool does the step, from its own documentation. The wider landscape (cell-line checks, vendor certificates): docs/landscape.html
Raising $1.8M pre-seed for 18 months: first paying members, then the seed.
a leader to run it$180kscientific lead (me)$180kML engineer$160kpayroll overhead$104kbenchmark data, ~60 plates$120kdata from 3 partners$30kcompute, legal, travel$110k
peopledatarunning
$884k plan + $884k contingency = $1.77M (A8)
today
11 labs, 129 batches mappedfrom public data (JUMP [7], results/e9); no revenue yet
by month 18
1first data outside JUMPdata from three partner labs, the first outside JUMP
2first paying memberfirst paying member
3benchmark playgroundbenchmark playground
4model for any cellmodel for any cell
seed round
proposed; milestones in order, not dated; every line an assumption (A8)
your lab
There’s a tile for your lab. Let’s map “normal” together.
$1.8M
pre-seed for 18 months; a leader, three partner labs, two benchmark partners; A8
Why not batch-correct it away?erases most of the lab fingerprint
A2
Does it change the result?same drug, different answer
A3
Does it work without stains?bet on brightfield
A4
What does the map buy?same drug, closer between labs
A5
What is private?control wells shared, nothing else is
A6
What is the machine learning?image in, position and correction out
A7
What about biosecurity?cells show their lab, labels can lie
A8
How much, and what for?planned $0.9M × 2 = $1.8M asked
A9
How big?count × price, three streams
A10
Why would a lab share?owned by the lab, verified by anyone
A1, from slide 03results/e1-redteam
The usual correction erases most of the lab’s fingerprint.
JUMP records the left column; nobody records the middle.
Recorded in JUMP
labbatch dateplateplate typewell positionmicroscopeconfocal or widefieldlaser or LEDobjective NAfields per wellfilter setpixel sizebrightfield planesCellProfiler version
in every image file too: image size, stored bit depth
Not in its public metadata
DMSO % per wellDMSO lotDMSO water uptakestock freeze–thawserum lotmedia lotpassagethaw dateseeding densityconfluence at dosingdosing to fixationstain and dye lotsoperatorincubator shelfedge evaporationmycoplasma statusCO2 and humiditycompound dose
not required to publish today in our own data: tracked, every one
can a model tell which lab? higher = clearer lab fingerprint
no correction
99.8%
subtract each plate’s controls
24%
subtract and rescale per plate
19%
chance, 1 in 11 labs
9%
29,943 DMSO wells, 16 per plate tested on plates it never saw
Batch correction is built to remove this signal [18], variables: JUMP metadata [7]
A2, from slide 05results/e16, e8
The same drug looks less alike in another lab.
Darker = more alike.
What a drug screen reports
drug wells − DMSO wells, same plate
RSL3 AT 10 µM, EVERY WELL AGAINST EVERY OTHERWELLSSAME LABOTHER LABSlab 5lab 520.890.54lab 9lab 940.910.36lab 11lab 111—0.5701agreement, 1 = same effect, 0 = unrelated
same 7 plates, each well against its own plate’s DMSO
same labother labsRSL3, 10 µM0.900.498 known drugs, 5 µM, median0.740.26DMSO vs DMSO0.000.00
does it change the number?Which lab ran it explains 20% to 71% of how strong a drug’s effect looks.
Seven wells: an example, not proof, lab 7, dosed at a sixteenth, left out, agreement = cosine of two wells’ effects, each well minus its own plate’s DMSO wells, 8 drugs at full scale: 1,829 plates, 11 labs, JUMP [7]
A3, from slide 09results/e17, e9
One brightfield image already names the lab.
Evidence: six dyes. Product: no dye.
CAN ONE WELL TELL WHICH OF 8 LABS IT CAME FROM?0255075100%six-dye profilesame wells98.8%DNA stain imagesame wells96.3%brightfield imagesame wells99.5%labels shuffledcontrol12%random guess, 1 in 8DOES BRIGHTFIELD SEE LAB 2 DRIFT?, EACH LINE SCALED TO ITS PEAKdye profilebrightfieldJunJulAugSepOctρ = 0.6712 batchesafter the firstNot yet the whole map: beyond each lab’s usual neighbour, brightfield and dye profile agree batch by batch no more than luck (45 of 102 against 41).
why the bet is fairNo dye: fewer things can go wrong
stain lotdye lotstaining stepA1
brightfield
DNA stain
same spot in one well, lab 2
% named right, each lab counted equally, unseen batches, one DMSO well per plate, 1,338 plates, the same wells and model for every row, median of 20 splits of the batches, profile without its 8 frame-size columns, shuffled: 5 seeds per input, image model never trained on cells, JUMP [7]
A4, from slide 05results/e12
On the map, labs agree a little more on the same drug.
Seven known drugs, 125 batches.
Do labs agree on what a drug does?
0.75raw
→
0.76usual fix
→
0.78on the map
1 = every lab sees the same effect
107 of 125 batches higher on the map than with the usual fixthan raw: 121 of 125
Can you still tell the drugs apart?
0.52raw
→
0.56usual fix
→
0.59on the map
gap to the nearest wrong drug, higher is easier
111 of 125 batches higher on the map than with the usual fixthan raw: 125 of 125
Nothing lostRight drug recognised: 0.92 → 0.94 Matches its own past: 0.88 → 0.88
HoldsLabs agree more: 5 of 5 ways of checking Drugs stay apart: 4 of 5
Not fixed yet, drug strengthVaries batch to batch, lower is better raw 6% → usual fix 20% → map 12%: steadier than the usual fix, not yet as steady as raw
usual fix: each batch set against its own “normal”, its DMSO wells, map: against every other lab’s, 1,829 plates, JUMP [7]
A5, from slide 06results/e9, e12, proposed where marked
Only control wells are shared.
A free backup of the rest is yours alone.
What is shared
control wells only: DMSO and known drugsgreen: 64 of 384 wells shared, JUMP [7]
images, or numbers from themproposed: images deleted once measured
a plate map and the batch datewhich wells, and when they were imaged
What Datum Line does with it
builds the mapscale set by the other labs, never its own
the map holds DMSO wells only82,319for lab 2: DMSO wells of 10 other labs 0 treated
answers“normal” or not, how far it moved, nearest lab
What it never reads
your treated wellsdark: 320 of 384 wells stay yours
your resultscorrected in your building, by you
your name, unless you chooseproposed: a number until you opt in
your backupproposed, free: encrypted with your key
In every analysis here, the map and the correction see DMSO wells only, github.com/kat-titter/datum-line/analysis, JUMP [7]
A6, from slide 09results/e1, e12, e17
An image goes in; a position and a correction come out.
1, an image
brightfield
DNA stain
one DMSO well, JUMP [7]
2, numbers
3,773numbers per well
standard software today: size, shape, brightness, texture
3, the map
lab 2
each lab placed on the other labs’ scale, never its own
4, the correction
your batchthe map
one per batch, fitted on your DMSO wells, sketch, A4
AI image model next, A3brightfield, 8 labs99.5%DNA stain, 8 labs96.3%right lab, from one picture
Correction, per batch on 200 components: x′ = Cfield½ Cbatch−½ (x − mbatch), every script: github.com/kat-titter/datum-line/analysis
A7, from slide 03results/e1, e9, e11, proposed where marked
Every lab leaves a fingerprint, so a wrong label stands out.
Two work today, three are proposed.
provenancetoday99.9%of 93,228 DMSO wells get the right lab, on unseen plates: cells and microscope together.
1 square = 1 batch solid: every well right, 119
integritytoday4 batchesLabel: known drug in these wells.Cells: almost no effect, on 65 plates.
lab 3, drug effect per batch dark: failed, archive A8
unknown originproposed9×Farthest of 129 real batches from its nearest other lab.
suspectfarthest real batch0510distance to nearest other lab 1 line = 1 real batch
early warningproposed30 Aug2021: lab 2’s DMSO wells moved; its cell count did not.
lab 2, since batch 1 filled: flagged, archive A13
declared vs observedproposed, opt-inA company that wants the good-actor mark sends treated wells and says what is in them. The map flags cells that look like a known toxic class [7]. Only what a lab sends is seen.
Integrity check uses each plate’s known-drug wells (archive A8), × = times the usual spread of wells within one plate, JUMP [7]
A8, from slide 10proposed, every line an assumption
compute and storageimages, models, hosting, API$45k
legal, IP, insurance, accountingincorporation to first contract$45k
travel and partner visits2 benchmark partners, 3 labs$20k
plannedsum$884k
+ contingencymost things take 2–3× the time and money planned, we plan for 2×$884k
asked, 18 months$1.77M
No in-house labPartner labs or a contract lab. Own lab: costs more, proves less.
What the money must show1 data from three partner labs, the first outside JUMP, paid in this round 2 first paying member 3 benchmark playground 4 model for any cell → seed
salaries below market, leader and scientific lead paid, nothing here committed
A9, from slide 07every count and price an assumption
About $84M a year, if every likely buyer joined.
assumptionlowbasehigh
organisations testing drugs on a few cell lines200400800
cell lines each one uses per quarter248
price per cell line per quarter, $k51015
organisations testing drugs on hundreds to thousands of cell lines102550
site licence per year, $k50150300
per-line checks and site licences, per year$8.5M$67.8M$399M
companies buying cell data they did not make50150300
purchased datasets each places on the map per year248
price per dataset membership, $k102550
dataset memberships on purchased data, per year$1M$15M$120M
benchmark partners41020
membership per partner per year, $k50100200
benchmark membership, per year$200k$1M$4M
total per year, if every buyer joined$9.7M$83.8M$523M
base case, per year
screening $67.8M
datasets $15M
↑ five-year target, a tenth, $8.4Mbenchmark $1M ↑
Why buyers payA line checked late, in a screen I ran: 3 runs a week × 17 weeks × $50k ≈ $2.6M to redo. A $25k dataset membership: about 1% of that.
prices proposed on archive A15, academic labs join free, they are the map, not the revenue
A10, from slide 06results/e1, proposed where marked
The lab keeps its data and a share; anyone can check it.
No crypto token.
control wells onlytodayno test compound, no target, no result is ever shared or read
lab keeps its dataproposedsharing is opt-in withdraw any time
low risk by designtodaycell-line images only no human genetic data, no pathogen data
signed and timestampedproposedpublic record, anyone can check dates cannot be changed, blockchain optional
known membersproposedverified at sign-up, odd access flagged access log open to members
open code and datatodaycode: MIT, on GitHub data: JUMP, CC0; every number from a script
lab sharescontrol images, opt-in credited by name on the map
→
the map checkshow “normal” the cells look which lab, what changed
→
members subscribeto aligned data from every lab
→
lab keeps a shareof every membership as long as its data is used
nothing signed yet, privacy A5, biosecurity A7, prices archive A15
Kat Titterton, San Francisco
Evidence shown is public JUMP Cell Painting data (CC0). Click, or press the space bar or an arrow, for the next view or slide; press D for sources and figure legends; scroll to browse.