HPA TMA PhenoCycler dataset
This dataset holds highly multiplexed immunofluorescence images of Human Protein Atlas tissue microarrays (TMAs), imaged in our lab on the Akoya PhenoCycler Fusion (PCF, formerly known as CODEX). One single panel of 48 antibodies plus DAPI was run on 8 TMA slides: 2 of normal tissues (G and H) and 6 of cancer tissues (A to F).
The normal slides are public (HPA website and BioImage Archive). The cancer slides are not published yet.
You can request access to the lab storage by following the instructions in the file storage_information.pdf: the project/dataset name is HPA_TMA_PCF.
The slides
Each TMA slide holds cores of 1 mm (normally 3 per tissue, side by side). This is what each slide contains:
| Slide | Kind | Tissues |
|---|---|---|
| A (A178) | cancer | colorectal, breast, prostate |
| B (B181) | cancer | endometrial, cervical, ovarian |
| C (C174) | cancer | carcinoid, head and neck, thyroid, glioma, lymphoma |
| D | cancer | skin, melanoma, lung |
| E | cancer | testicular, urothelial, renal |
| F (F162) | cancer | liver, pancreatic, gastric |
| G (G228) | normal | stomach, oral tissue, appendix, small intestine, duodenum, pancreas, rectum, colon, lung, gall bladder, liver, prostate, bladder, kidney, epididymis, testis, seminal vesicle, placenta, ovary, fallopian tube, parathyroid, tonsil, lymph node |
| H (H243) | normal | salivary gland, esophagus, skin, vagina, nasopharynx, bronchus, endometrium (pre and post), cervix, breast, bone marrow, spleen, thyroid gland, adrenal gland, cortex, skeletal muscle, heart muscle, hippocampus, soft tissue, smooth muscle, vulva/anal, lateral ventricle/caudate, cerebellum |
The exact core-by-core layout of every slide is in the READMEs (see below). For slides G228 and F162 there is also a template image with the HPA specimen number, the SNOMED code (M=00100 is normal tissue) and the sex and age of the donor of each core (F81 = female, 81 years old): G228 TMA template with gender and age.png and F162 TMA template with gender and age.png.
The markers are: ARL13B, ATM, Beta-actin, b-Catenin1, Bcl-2, Caveolin, CD3e, CD4, CD8, CD11c, CD14, CD20, CD31, CD34, CD39, CD40, CD44, CD45, CD56, CD68, CD107a, CD163, Collagen IV, E-cadherin, EpCam, ER, GP100, HIF1A, Histone H3 (p Ser28), HLA-A, HLA-DR, ICOS, IDO1, iNOS, Keratin 5, Keratin 8/18, Ki67, Pan-Cytokeratin, PCNA, PCNT, PD-1, PD-L1, Podoplanin, SMA, SOX2, TOX, Vimentin, VISTA. The cycle, dye and dilution of each one is in the READMEs.
Pixel size is 0.5073 µm/px (the READMEs round it to 0.5).
What is in the folder
final/normal and final/cancer
One folder per slide, plus the README of each group (README_TMA_SP_normal_tissues.md, README_TMA_SP_cancer_tissues.md), which you should read: it has the core layouts and the antibody panel details. Inside each slide folder:
<date>_HPA_TMA_Slide_<X>_Scan1.qptiff: the stitched slide, the one you normally want. 49 channels (DAPI + 48 markers), 8 bit, registered and background subtracted by the PCF software, around 35,000 x 36,000 px (slide C is twice as tall). It's a pyramidal TIFF: you can open it withtifffile(or QuPath), and each channel page has its marker name in the<Biomarker>tag of its XML description. Channels follow the cycle order inraw/MarkerList.txt.raw/: the raw scans of each cycle,*_Cycle<0..25>.raw.qptiff, 4 channels each (DAPI + the 3 dyes), 16 bit and before background subtraction. They are ~200 GB per slide (most of the dataset size), so only go there if 8 bits are not enough for you. The other small files in there (MarkerList.txt,CombineInputs.txt, focus maps, overview and label images, tissue masks) are instrument outputs.*.xpd: the experiment protocol (which antibody goes in which cycle) as JSON.
final/normal/cores and final/cancer/cores
Single core crops taken from the stitched slides, one 8-bit grayscale PNG per core and channel: TMA_<slide>_<normal|cancer>_tissue_<tissue>_core<k>_<marker>.png. This is the easiest way to start working with the data.
| Slide | Cores | Channels | Size |
|---|---|---|---|
| G228_115 (normal) | 63 | 49 | 3200 x 3200 |
| H243 (normal) | 61 | 49 | 3200 x 3200 |
| C (cancer, only glioma) | 23 | 46 (no ARL13B, PCNT, SMA) | between 2546 and 3703, square |
Some things to know:
- Only these three slides have been cropped so far.
- Stomach and soft tissue are split in two rows (
stomach1,stomach2,soft_tissue1,soft_tissue2), and lateral ventricle/caudate is justcaudate. - Core numbers are not always 1 to 3 (e.g. parathyroid only has
core4): damaged or missing cores were not cropped. - Marker names in the file names replace spaces by
_and/by-(Histone_H3_(p_Ser28),Keratin_8-18,Collagen_IV...).
test
Two early test runs of slide G (April 2024) with a slightly different panel (it includes LAG3). Not part of the final dataset.
he_staining
After the PCF run, all 8 slides were stained with H&E. There is only one scan, HPA_multiplexing_5.svs (RGB, 0.13 µm/px), but it's not recorded which slide it is.
Things to watch out for
- Slide G228 has two sections, 114 and 115. The published images and the cores are from 115, which only has its stitched file. The raw cycles (
raw_G228_114) and the stitched file induplicate/belong to 114, a different section. - Slide names change depending on where you look: slide H is
H243in folder and core names butH_1in file names (and in the BioImage Archive); the slide C cores areTMA_C_...while the folder isC174. - The number of markers changes too: 48 in the files, 46 in the BioImage Archive (no ARL13B and PCNT), up to 41 on the HPA website (HPA dropped some markers per image) and 40 in the lab viewer.
- Everything is 8 bit except the raw cycles.
Additional resources
- HPA website [ https://www.proteinatlas.org/learn/dictionary ]: the normal cores are shown since HPA v24, in the "Histology" panel of each normal tissue (
<Tissue> multiplex N). - BioImage Archive S-BIAD2132 [ https://www.ebi.ac.uk/biostudies/bioimages/studies/S-BIAD2132 ]: the public normal slides G228_115 and H, as one whole-slide PNG per marker.
- Lab viewer [ https://lundberglab.stanford.edu/HPAviewer/index.html ]: browse the G228, H243 and glioma cores in the browser. It's served by ellviewer [ https://github.com/CellProfiling/ellviewer ].
- Paper: Sun H, Yu S, Martinez Casals A, et al., Lundberg E, Murphy RF. "Flexible and robust cell-type annotation for highly multiplexed tissue images", Cell Systems 16(9):101374, 2025 [ https://doi.org/10.1016/j.cels.2025.101374 ]. It uses the normal data (as "SPHPA-Data_1").
- Contact: Anna Martinez Casals (anamaca@stanford.edu) designed the experiment; Anna Bäckström ran it. Benchling project: "HPA TMA".