Our solution offers a flexible analysis and interactive visualisation workflow for exploration of the NanoString GeoMx® Digital Spatial Profiler data. Here we demonstrate it on the NanoString GeoMx® human kidney dataset in conjunction with the publicly available single cell RNA sequencing (scRNA-seq) reference dataset of human kidney from Young et al., Science 2018. This approach can also be used for other such datasets.

What it does

The solution consists of:

  1. Unbiased analysis of the NanoString GeoMx® whole transcriptome dataset.
  2. Interactive web-based visualisation of the NanoString GeoMx® dataset.
  3. Analysis and interactive visualisation of the dysregulation of cell-cell communication networks in context of kidney disease.

To perform the analyses included in this solution, the user will need to have the following files on hand:

NanoString GeoMx® human kidney dataset from here (or other NanoString GeoMx® dataset) Signle cell RNA sequencing (scRNA-seq) reference dataset of human kidney from Young et al., Science 2018 (or other scRNA-seq reference dataset)

How we built it

  • For better user experience when browsing the image data, all ROI images (.png) were first downsampled by a factor of 4 in each dimension. These downsampled images were then uploaded to our temporary server ( for this hackathon. Ideally the image data should be hosted on servers such as Bioimage Archive ( In that case, no data compression is needed.

  • Based on transcriptomic data, we have generated both 2D and 3D UMAPs using Scanpy ( and Anndata ( packages in Python (see details in Analysis/1_transcriptome_analysis.ipynb). For all dots in the UMAP, their corresponding image names are saved as a column inside the csv files (2D and 3D). These CSV files are in the data directory and will be read remotely by our ImJoy plugin.

  • Interactive data exploration will largely facilitate, or even change the way we interpret the data. Especially for imaging datas from microscopes, the extracted tabular datas often don’t capture all information and may lead to biased interpretation. Making raw data easily browsable along with other statistical analysis is the way to avoid such pitfalls. To make that possible, we have developed an ImJoy plugin to not only visualize the UMAP that was generated from the transcriptomics data, but also to visually assess the microscopy images associated with each entry.

  • To explore the cell-cell communication networks, here we implement an approach adapted for NanoString data using CellPhoneDB - a publicly available repository of curated receptors (R), ligands (L) and their interactions. To correctly infer expression of genes encoding ligands and receptors in cell types present in the NanoString human kidney dataset, we use it in conjunction with a publicly accessible single cell RNA sequencing (scRNA-seq) reference dataset that has been prior used to perform cell type deconvolution of each NanoString ROI. Our proposed pipeline has the ultimate goal of identifying cell-cell interactions dysregulated in abnormal glomeruli ROIs in comparison to healthy. It is conveniently packaged into one master notebook that performs all the steps easily. We are producing conventional tabular data and, for a more visual experience, we generate interactive HTML files for communication events dysregulated in abnormal glomeruli. Simply open one of the interactive HTML files from our repo in your browser and click on an edge connecting cell types of interest to see dysregulated interactions.

Challenges we ran into

We had to quickly learn JavaScript, HTML and adapt existing plugin solutions. We also had to manage the workload within the team and communicate efficiently which is more challenging online.

Accomplishments that we're proud of

Our approach offers a user-friendly analysis and visualisation workflow that has flexibility in choice of parameters and helps explore and understand the data better to facilitate exciting biological discoveries. We have successfully completed this project in time and had a lot of fun doing it!

What we learned

We have learnt how to use the ImJoy platform and adapt it. We learned a great deal of JavaScript and HTML.

What's next for NanoHack21

More hacking!!!

Built With

Share this project: