Skip to content

Commit

Permalink
First pass at description of the components of MAWA
Browse files Browse the repository at this point in the history
  • Loading branch information
andrew-weisman committed Nov 10, 2023
1 parent e091d32 commit 01624f2
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Overview

Multiplex Analysis Web Apps (MAWA) is a suite of web-based tools for performing spatial analysis on multiplex data. While analysis functionality is written in Python libraries, a user interacts with MAWA using [Streamlit](https://streamlit.io/), which is a user-friendly, point-and-click frontend for Python code.
Multiplex Analysis Web Apps (MAWA) is a suite of web-based tools for performing spatial analysis on multiplex data. While analysis functionality is written in Python libraries, a user interacts with MAWA using [Streamlit](https://streamlit.io/), which is a user-friendly, web-based frontend for Python code.

MAWA consists of four main components, separated by groups of tabs:

1. **Data loader.** This tool is responsible for efficiently transferring data between a remote system (such as the native filesystem on NIH's NIDAP platform) and the computational workspace (such as NIDAP's Code Workspaces app). This is particularly useful for saving the results generated by other components of the suite so that the component analyses or visualizations can be quickly re-initialized later.
1. **Phenotyper.** This tool reads in a text file with cells or objects in rows and spatial coordinates and marker positivities and intensities in columns and assigns a phenotype to each cell in the datafile. Current phenotyping methods include "species" (each unique combination of positive markers represents a new phenotype), "marker" (each positive marker is treated as an independent cell with the phenotype corresponding to the marker), and "custom" (the user utilizes the app to efficiently assign a phenotype to each unique "species" present in the dataset, potentially assigning more than one species to a single phenotype). A fourth phenotyping method in development is multiaxial gating, in which the user defines phenotypes based on the combination of any number of marker intensity ranges. The app includes dynamic scatterplot labeling so the user can clearly visualize the chosen phenotype assignments. The phenotyper further serves as input for the following two tools that are focused on studying potential interactions between the selected phenotypes.
1. **Spatial interaction tool.** This tool aims to answer the question: "In specific parts of a whole slide (e.g., tumor region, necrotic region, etc.), do cells of phenotype A tend to be interacting with cells of phenotype B, and if so, to what extent?" Density heatmaps are employed to visualize results, and metrics can be calculated using a Poisson method, a permutation method defining neighbors by radius, and a permutation method defining neighbors by the k-nearest. A user may simply input the data for an entire slide, and the app will automatically partition the slide into regions of interest (ROIs), subsequently performing averaging of the density heatmaps over the ROIs, weighted by the annotation region type. Annotation data is not necessary: averaging can be performed over all ROIs in the entire slide. Useful visualizations are implemented in the app that allow the user to observe the results on a ROI-by-ROI or slide-by-slide basis.
1. **Neighborhood profile analyzer.** This tool aims to answer the question: "What unique sets of neighbor cells exist in the input dataset?" Counts of cells of different phenotypes are calculated around every cell in the dataset, within concentric annuli; the results are reduced to two dimensions using the UMAP technique; and the resulting 2D datapoints are clustered together to identify groupings of neighborhood makeups. This tool further provides exploratory visualizations for studying cluster compositions and comparisons.
1. **Spatial interaction tool.** This tool aims to answer the question: "In specific parts of a whole slide (e.g., tumor region, necrotic region, etc.), do cells of phenotype A tend to be interacting with cells of phenotype B, and if so, to what extent?" Density heatmaps are employed to visualize results, and metrics can be calculated using a Poisson method, a permutation method defining neighbors by radius, or a permutation method defining neighbors by the k-nearest. A user may simply input the data for an entire slide, and the app will automatically partition the slide into regions of interest (ROIs), subsequently performing averaging of the density heatmaps over the ROIs, weighted by the annotation region type. Annotation data are not necessary: averaging can be performed over all ROIs in the entire slide. Useful visualizations are implemented in the app that allow the user to observe the results on a ROI-by-ROI or slide-by-slide basis.
1. **Neighborhood profile analyzer.** This tool aims to answer the question: "What unique sets of neighbor cells exist in the dataset and how do they differ from one another?" Counts of cells of different phenotypes are calculated around every cell in the dataset, within concentric annuli; the results are reduced to two dimensions using the UMAP technique; and the resulting 2D datapoints are clustered together to identify groupings of neighborhood makeups. This tool further provides exploratory visualizations for studying cluster compositions and comparisons.

0 comments on commit 01624f2

Please sign in to comment.