/MEZ_XRF

This is the repository companion to the MEZ-XRF paper

Primary LanguageJupyter Notebook

MEZ-XRF publication repository

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.

Raw data

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.

Repo layout

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 |

Code rationale

high_plex_hdf.py

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

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

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.