A bulk normal-tissue expression value includes the white blood cells living inside that tissue - which is why CD19 'failed' a normal-tissue safety filter at 31.2 nTPM in small intestine
also called lymphoid contamination of bulk tissue · the Peyer's patch problem
When an atlas reports how much of a protein is in the gut or the lung, that number includes the immune cells living inside the gut or lung, not just the tissue itself. A safety filter that does not know this will reject the very targets that are already known to be safe, because immune cells are exactly what a leukaemia therapy is allowed to destroy.
The same thing, for a scientist
This screen's pre-registered normal-tissue filter excluded six lymphohaematopoietic tissues - bone marrow, lymph node, spleen, tonsil, appendix, thymus - on the ground that ablating them is the accepted cost of CD19- and CD22-directed therapy. **It still killed CD19**, at 31.2 nTPM in small intestine, and that failure fired the pre-registered instrument-failure branch [E1]. The diagnosis is measurable in the same file. HPA small intestine carries **MS4A1 (CD20) 125.7, CD79A 157.7, CD79B 61.7, CD3E 37.0 and PTPRC (CD45) 39.3 nTPM** - the entire B- and T-cell panel [E2]. That is gut-associated lymphoid tissue, principally Peyer's patches. CD19's 31.2 is B cells in the gut wall, and killing them is the same event as killing B cells in the blood. **The fix applied is a measurement, not a longer exclusion list.** Each tissue's lymphoid load is quantified as its PTPRC nTPM, and each gene gets a correlation of its 51-tissue profile against PTPRC's. A gene whose normal-tissue profile tracks CD45 is being seen in leukocytes. CD19 scores **r = 0.818**; FOLR1, whose choroid-plexus signal is genuine epithelium, scores **-0.244**; CSPG4, whose blood-vessel signal is genuine vasculature, scores **-0.082** [E1].
The lymphoid load of every HPA tissue, so the next beat does not rediscover this
PTPRC (CD45) nTPM, descending, with the B and T markers beside it 2:
| tissue | PTPRC | MS4A1 | CD3E |
|---|---|---|---|
| lymph node | 273.8 | 467.3 | 196.3 |
| appendix | 229.0 | 141.1 | 80.9 |
| thymus | 213.4 | 47.2 | 596.2 |
| tonsil | 210.3 | 631.0 | 137.8 |
| spleen | 170.3 | 247.4 | 74.4 |
| bone marrow | 77.7 | 18.0 | 34.6 |
| lung | 51.5 | 4.3 | 21.7 |
| urinary bladder | 51.1 | 15.3 | 23.2 |
| small intestine | 39.3 | 125.7 | 37.0 |
| gallbladder | 38.7 | 7.9 | 18.8 |
| stomach | 30.9 | 17.3 | 22.9 |
| adipose tissue | 24.7 | 3.3 | 6.7 |
| duodenum | 23.4 | 2.9 | 20.7 |
| rectum | 23.3 | 9.9 | 18.1 |
| colon | 20.7 | 8.5 | 14.4 |
| liver | 20.6 | 2.3 | 9.1 |
The six tissues in bold were not on the hand-picked exclusion list and carry as much or more leukocyte content than bone marrow does.
The trap in the fix, stated because it is worse than the original problem
The obvious correction - exclude every tissue with PTPRC above some threshold - excludes lung and stomach. A normal-tissue safety filter that cannot see the lung is not a safety filter. So the parenchymal maximum is reported alongside the unrestricted maximum and the per-gene PTPRC correlation, never instead of it, and the excluded tissues are named in the output 1.
The general form: a correction for a confound can remove the signal you were protecting against. Here the confound (leukocytes) and the hazard (lung epithelium) live in the same tissues, and no single exclusion list separates them. The per-gene correlation does, because it asks whether this gene's pattern is a leukocyte pattern rather than whether this tissue contains leukocytes.
lymphoid load PTPRC nTPM — the numbers behind the chart
{
"lymph node": 273.8,
"appendix": 229,
"thymus": 213.4,
"tonsil": 210.3,
"spleen": 170.3,
"bone marrow": 77.7,
"lung": 51.5,
"urinary bladder": 51.1,
"small intestine": 39.3,
"gallbladder": 38.7,
"stomach": 30.9,
"adipose tissue": 24.7,
"duodenum": 23.4,
"rectum": 23.3,
"colon": 20.7,
"liver": 20.6
}worked example
{
"gene": "CD19",
"naive_peak": "small intestine 31.2 nTPM",
"verdict_naive": "killed",
"parenchymal_peak": "testis 3.7 nTPM",
"verdict_corrected": "clean",
"r_vs_PTPRC": 0.818
}controls
{
"FOLR1": {
"r_vs_PTPRC": -0.244,
"reading": "choroid plexus signal is genuine epithelium"
},
"CSPG4": {
"r_vs_PTPRC": -0.082,
"reading": "blood vessel signal is genuine vasculature"
}
}- The correction can excuse a genuine toxicity: a gene expressed in both leukocytes and lung epithelium scores a high PTPRC correlation and gets waved through. Both maxima are therefore reported for every gene and neither is allowed to stand alone.
- A filter tuned until CD19 passes is a filter tuned to a foregone conclusion. What justifies the change here is that the diagnosis was made from an independent measurement - the B- and T-cell panel in the same tissue - and not from the fact that CD19 is known to be safe.
- Would HPA's single-cell-type normal data settle every case this correlation heuristic only approximates? It exists and was not used on this beat.
- How many of this project's three existing normal-tissue analyses are affected? They used GTEx rather than HPA, and GTEx tissues carry the same resident leukocytes - Whole_Blood and Spleen are in its panel and the gut segments are too.
- E1moderate confidence 3 of 5: One strong study, or several smaller consistent ones.dataset
A pre-registered normal-tissue filter excluding six lymphohaematopoietic tissues killed CD19 at 31.2 nTPM in small intestine, firing the instrument-failure branch; after quantifying each tissue's lymphoid load by PTPRC and computing a per-gene correlation against it, CD19 scores r = 0.818, FOLR1 -0.244 and CSPG4 -0.082, and CD19's parenchymal maximum falls to 3.7 nTPM in testis.
analyses/kmt2a-aff1-surface-target-screen/ - PREREGISTRATION.md, run.py and results.json, this repository. Pre-registered before any expression value was inspected. · Oncofusion Knowledge Graph 2026What this evidence cannot show
The PTPRC correlation is over 51 tissues on log1p values and is a heuristic, not a deconvolution. A gene genuinely expressed in both leukocytes and an organ would score high and be wrongly excused.
Evidence that argues against this (1)
- Proper cell-type deconvolution of bulk tissue, or single-cell normal-tissue atlases, would answer this directly instead of by correlation. HPA publishes single-cell type data that this beat did not use, and it would supersede the whole correction. Human Protein Atlas 2026
- E2strong confidence 4 of 5: Replicated in peer-reviewed work by more than one group.database
HPA consensus normal small intestine carries MS4A1 at 125.7, CD79A at 157.7, CD79B at 61.7, CD3E at 37.0 and PTPRC at 39.3 nTPM; lung, urinary bladder, gallbladder and stomach also carry PTPRC above 30 nTPM.
Human Protein Atlas, consensus tissue RNA nTPM across 51 normal tissues (rna_tissue_consensus.tsv); HPA release v25.1, fetched 2026-09-23 · Human Protein Atlas 2026What this evidence cannot show
Bulk adult tissue mRNA. Sampling of gut segments varies between donors, and Peyer's patch content in a small-intestine sample is not standardised.
Evidence that argues against this (1)
- High B-cell markers in gut could in principle reflect plasma cells rather than CD19-positive B cells; plasma cells downregulate CD19, which would mean the CD19 gut signal is not fully explained by the MS4A1 signal. Human Protein Atlas 2026
quantifies that concept and corrects its direction for haematopoietic antigens
the control failure that forced the screen's v2 pass, and the correction applied
- related to →CD19 - the molecule this disease is treated by, named in 114 entries and written in none of them until now
the worked example: naive peak small intestine 31.2 nTPM, parenchymal peak testis 3.7 nTPM, r vs PTPRC 0.818