Methods
The pipeline, all of it inside the fold
Each outer fold holds out whole animals. Everything that learns from data — median imputation, the variance prefilter, z-scoring, the panel selector and the classifier — is fitted on the training animals of that fold only, as one scikit-learn Pipeline, so leakage is impossible by construction rather than by care.
The one documented deviation: the transcript gene filter (≥ 10 counts in ≥ 20 % of the samples of at least one tissue) runs on all samples before the split. It uses no labels and no test-fold statistics beyond presence, but it is not inside the fold; see Limitations.
Animal-grouped splits
The unit is the animal (pid). Five outer folds are stratified on tissue and grouped on animal (StratifiedGroupKFold), so all 18 vials of an animal are on one side of every split: 40 training and 10 test animals per fold. An assertion checks every split for leaked animals, and the test suite rejects a plain KFold over vials. Shift experiments are deterministic splits: leave one sex out, hold out one training time point, fit on sedentary controls only.
The selector, and why a univariate F-test is not enough for 19 classes
The round-robin selector scores every gene for every tissue by a one-vs-rest effect size, |mean in − mean out| / pooled sd, then takes the best remaining gene of each tissue in turn until k genes are chosen. A univariate F-test ranks genes by a single statistic dominated by the tissues with the largest effects, so its top 20 are markers of the same few easy tissues and most tissues are left without one. The Fingerprint page shows the two curves.
Conformal prediction sets and the quantile rule
Split conformal. Inside each fold the training animals are divided again into fit animals (18) and calibration animals (22); test animals are never used for either. The nonconformity score of a calibration vial is 1 − p̂(true tissue) (LAC). The threshold is
q̂ = the ⌈(n + 1)(1 − α)⌉-th smallest of the n calibration scores,
and +∞ (every tissue in every set) when that rank exceeds n.
A tissue enters a test sample's set when p̂(tissue) ≥ 1 − q̂. With one vial per animal, n = 22, and at α = 0.10 the rank is 21 of 22; at α = 0.05 the rank is 22, the largest score; with n ≤ 18 the rank exceeds n and the set is full. Mondrian sets use one threshold per true class from that class's calibration scores, falling back to the marginal threshold for a class with no score; the floored variant never lets a class threshold fall below the marginal one, so its sets contain both the marginal and the Mondrian sets. Pooled-vial calibration uses all vials of the calibration animals (n ≈ 396); it sits closer to 1 − α but treats vials of one animal as exchangeable, which they are not. Every prediction set on the Reference atlas is computed in your browser from the exported class probabilities and calibration scores, with the same quantile rule as the pipeline.
The certificate
“What is the smallest panel whose error is at most α with confidence 1 − δ?” is a multiple-testing problem over panel sizes. For each k on the grid the k-panel is fit on the fit animals and its errors are counted on the calibration animals (one vial per animal); a one-sided Clopper–Pearson upper bound on the error rate is compared with α; fixed-sequence testing walks from the largest k down and stops at the first failure. With n = 22 a panel with zero errors is certified only when the bound ⌈…⌉ allows it: n ≥ ln δ / ln(1 − α) calibration animals with zero errors are needed (59 at α = δ = 0.05, 22 at 0.10/0.10). The certificate is therefore a distribution over repeated fit/calibration splits, reported as such.
The transfer protocol
Rat BodyMap (GSE53960, 316 samples, 11 organs, 4 ages) and GTEx v8 (2,485 samples, 862 donors, 17 tissues, ≤ 150 donors per tissue) are scored with panels fit on all 50 MoTrPAC animals: the same imputation and prefilter, every gene z-scored within its own dataset, the classifier's coefficients unchanged. Muscle and brain are super-classes (any of their rat tissues counts); thymus and uterus have no MoTrPAC tissue and are out-of-distribution; Artery – Aorta → vena cava is an imperfect mapping. GTEx uses 1:1 orthologs only (14,569 of 21,193 genes), and its panel is re-selected in that ortholog space. For conformal transfer the models are refit on 35 MoTrPAC animals and calibrated on the other 15; recalibration draws 3 or 5 target individuals (20 draws; all combinations where fewer) and tests on the rest. Every BodyMap split is grouped on the assumed animal, every GTEx split on the donor.
Multiomic follow-up
The predictions and pass/fail rules were written down before the runs in docs/PREREGISTRATION_MULTIOMIC.md; results and the run log are in docs/MULTIOMIC_REPORT.md and docs/MULTIOMIC_LOG.md, and the Multiomic page shows them.