A reproducible pipeline that runs the published PUPS model (Zhang et al., Nature Methods 22:1265–1275, 2025; code at uhlerlab/PUPS) on the same Human Protein Atlas fields of view supplied in three different image formats, and measures how much the format changes the prediction.
PUPS obtains its HPA images only as 8-bit JPGs, recovering three of its four channels by splitting a single lossy RGB composite. HPA also serves the same fields of view as single-channel JPG images or 16-bit single-channel TIFFs. This pipeline builds all three from identical crops with identical preprocessing, and runs the published PUPS model checkpoints on each, with the 0.19 threshold on or off.
→ PIPELINE.md is the documentation. Start with its
Quickstart: a copy-pasteable run
from git clone to figures. A first run costs about 40–60 minutes and ~20 GB of disk, most of
it one-time setup; the track itself takes 23 minutes for Fig_2C or Fig_Ext5B, 73 for the
34-gene Independent_Selection.
0_ … 11_*.py the pipeline, run in order
PIPELINE.md what each step does and why, and the caveats that matter
Fig_Ext5B/ the 9 proteoform/cell-line pairs from PUPS' Extended Data Fig. 5b
Fig_2C/ the 6 pairs from PUPS' Fig. 2c
Independent_Selection/ 120 ROIs over 34 genes we chose ourselves — larger n, not from the paper
EXAMPLE_RUN.md console output of a complete run, annotated — compare yours against it
run_track.sh one track end to end, unattended
Each track holds only its inputs — a target list and hand-made crop coordinates. Images, embeddings, predictions, metrics and figures are all regenerated by the pipeline.
Independent_Selection's crop coordinates derive from the companion
HPA_BleedThrough_Exploration
project, selected without reference to PUPS.
The model and the HPA image tooling are pinned git clones, fetched during setup, so each keeps its own history and licence:
| Repository | Licence | Our changes |
|---|---|---|
uhlerlab/PUPS e0354b9e |
GPL-3.0 | one line — a provably dead import tensorflow, shipped as a patch |
cellprofiling/HPA_BleedThrough_Exploration 6225801e |
MIT | none — one of its eight scripts is forked into Image_Preparation_Modified/, with every changed region tagged and verified against a patch on each run |
Both changes are auditable; see PIPELINE.md §2. Nothing about PUPS's behaviour has been altered.
MIT (see LICENSE), matching the companion
HPA_BleedThrough_Exploration
project this builds on. Image_Preparation_Modified/ is a modified copy of one MIT-licensed
file from that project, with its origin and modifications recorded in the file header and in
its README. PUPS itself is GPL-3.0 and is not
redistributed here — see PIPELINE.md §8.
NOTE: This repository also hosts a few Human Protein Atlas source images (no longer served by HPA). HPA image data is licensed CC BY-SA 3.0; see proteinatlas.org. These images are attributed and redistributed under the same license, see the README in the relevant subfolder (Fig_Ext5B > Images > N4BP2).