This is a repository for spatial proteomics processing and downstream analysis used for understanding early tumor formation in mice and humans tissues.
- MCMICRO = A built-in pipeline developed by Labs of Systems Pharmacology at Harvard Medical School is used to perform stitching, registration, and segmentation (Ilastik).
Schapiro, D., Sokolov, A., Yapp, C. et al. MCMICRO: a scalable, modular image-processing pipeline for multiplexed tissue imaging. Nat Methods 19, 311–315 (2022). https://doi.org/10.1038/s41592-021-01308-y
For more information on stitching, registration, and segmentation scripts, please refer to Image-Processing folder. [Jeffrey adds bash SLURM scripts to generate stitching/registration/segmentation?]
- Determining markers' signals (gating) was performed by evaluating signal peaks of the log2 transformed marker where centroids of each marker are evaluated. SCIMAP package was used to perform normalization and rescaling, while cell phenotyping was done with both SCIMAP and customized scripts.
Several techniques to study population analysis through spatial perspectives include:
- Nearest neighboring cells: To capture nearest neighbors of a given phenotype, we denote point (A) as a reference phenotype and generated a query out of Scikit-Learn Ball Tree algorithm to capture all cells (points) within an assigned radius (r). We then classify the captured cells as Nearest Neighbors, differentiate the given phenotype (reference points), and leave the rest of the cells outside the radius range as Non-Neighbors:
Pedregosa, F.,et al. (2011). Scikit-learn: Machine Learning in Python. Journal of Machine Learning Research, 12, 2825-2830.
- Latent Dirichlet Allocation (Spatial Neighborhoods): A topic modeling ML algorithm to support neighborhoods classification from each cell's nearest neighbors population similarities which answers How do we define cell neighborhoods patterns spatially?
LDA neighborhood classification was generated by using customized scripts where nearest neighboring cells were captured using the same approach shown above. These nearest neighbors population of each cell were then enumerated and used as input for word frequency matrix while estimating weights for "most common" topics. Once LDA model (weights) are generated, KMeans clustering is used to group topics similarity as "neighborhoods".
- Cell Network: A network graph algorithm to support a specified (customized) cluster detection. It answers How can we find protein proliferation signal within certain clusters?
- CellEntropy: To study cell-cell interactions spatially, we applied Shannon Entropy from Information Theory (Shannon, et al.) to calculate how intense the interactions are between luminal and immune cells within a specified radius. The formula is shown below as:
Where in our study, within 90px. Radius (~58µm) of each luminal cells per image, probabilities of 𝑝(𝑥_𝑖 ) referring to a particular phenotype (luminal or immune cells) nearby is computed as follows:
As a result, this method allow us to compute a "diversity" score for each associated luminal cell based on how diverse the interactions are nearby. Higher entropy scores in luminal cells indicate stronger interactions with immune cells, while lower entropy scores indicate lower interactions.
In addition to this, proportion, ratio or signal intensity distribution are used to extract insights from the above spatial analysis techniques.

