Multi-element Z-tag X-ray fluorescence (MEZ-XRF) is a multiplex bioimaging microscopy method. It is based on X-ray fluorescence mapping of elements targeted to different features of interest in tissue via affinity reagents (e.g., antibodies) conjugated to different (Z) elements (Z-tags). The method was developed and published in Multi-element Z-tag imaging by X-ray fluorescence microscopy for next-generation multiplex imaging.
This repository contains Python code and Jupyter notebooks for processing and analysis of the MEZ-XRF (and related imaging mass cytometry, IMC) raw data presented in the linked publication. This includes code to generate the panels in the manuscript Figures.
MEZ-XRF, IMC and microscopy raw data analysed in Multi-element Z-tag imaging by X-ray fluorescence microscopy for next-generation multiplex imaging are available at https://doi.org/10.5281/zenodo.7949102.
XRF data were collected at the high energy beamline ID15A of the European Synchrotron Research Facility. IMC data were collected on Hyperion instruments and microscopy data on an Olympus slidescanner in the Bodenmiller lab. See the publication for details.
The repository contains the following folders:
| Setup | Contains a conda environment.yml
for setting up a MEZ-XRF
Python environment to run analysis |
| Code | Python code for running analysis |
| Notebooks | Notebooks for processing data |
To simplify downstream analysis, multichannel images (2D XRF data and related imaging mass cytometry data) were repackaged to a high_plex_hdf.py
class. The hph
class can be written to disk as a .hdf
file.
The hph
class stores:
- images, can store multiple versions including raw, normalised or filtered
- masks, mainly single-cell segmentation masks
- channel metadata, stored as a Pandas dataframe, useful to tie multiple names and observations to channels
- anndata, single-cell measurements directly related to the above masks and images
The hph
class has associated functions including single-cell segmentation with Deepcell and handy plotting functions used in multiple notebooks (e.g., to link high dimension plot cluster colour schemes to colour matched 2D single-cell segmentation mask plots).
hph_adata_analysis.py
handles multiple hph.hdf
files for grouped analysis and ploting (e.g., to automatically match grayscale levels for single channel plots of different images for intensity comparison).
Notebooks were used to process and analyse raw data. A brief description of each notebook and the related publication figure can be found in the header of each notebook, or the savename of the output notebook figure.