Spatial proteomics
Skill FridrichMethod/awesome-skills/skills/spatial-transcriptomics-analysis/bioSkills/spatial-proteomics
Analyzes spatial proteomics data from CODEX, IMC, and MIBI platforms including cell segmentation and protein colocalization. Use when working with multiplexed imaging data, analyzing protein spatial patterns, or integrating spatial proteomics with transcriptomics.From its SKILL.md
npx -y skills add FridrichMethod/awesome-skills --skill spatial-proteomicsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 13 stars13 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
SKILL.md
3.2 KB, 744 tokens by cl100k_base, as published. Nobody here has run it
Spatial Proteomics Analysis
Data Loading
import scimap as sm
import anndata as ad
# Load CODEX/IMC data (cell x marker matrix with spatial coordinates)
adata = ad.read_h5ad('spatial_proteomics.h5ad')
# Required: spatial coordinates in adata.obsm['spatial']
# Required: protein intensities in adata.X
Preprocessing
# Log transform intensities
sm.pp.log1p(adata)
# Rescale markers (0-1 per marker)
sm.pp.rescale(adata)
# Combat batch correction if multiple FOVs
sm.pp.combat(adata, batch_key='fov')
Phenotyping Cells
# Manual gating approach
phenotype_markers = {
'T_cell': ['CD3', 'CD45'],
'B_cell': ['CD20', 'CD45'],
'Macrophage': ['CD68', 'CD163'],
'Tumor': ['panCK', 'Ki67']
}
sm.tl.phenotype_cells(adata, phenotype=phenotype_markers,
gate=0.5, label='phenotype')
# Clustering-based phenotyping
sm.tl.cluster(adata, method='leiden', resolution=1.0)
Spatial Analysis
# Build spatial neighbors graph
sm.tl.spatial_distance(adata, x_coordinate='X', y_coordinate='Y')
# Neighborhood enrichment
sm.tl.spatial_interaction(adata, phenotype='phenotype',
method='knn', knn=10)
# Spatial clustering (communities of cells)
sm.tl.spatial_cluster(adata, phenotype='phenotype')
Visualization
# Spatial scatter plot
sm.pl.spatial_scatterPlot(adata, colorBy='phenotype',
x='X', y='Y', s=5)
# Heatmap of spatial interactions
sm.pl.spatial_interaction(adata)
# Marker expression overlay
sm.pl.image_viewer(adata, markers=['CD3', 'CD20', 'panCK'])
Integration with Transcriptomics
import squidpy as sq
# If matched spatial transcriptomics available
# Transfer labels or integrate modalities
sq.gr.spatial_neighbors(adata_protein)
sq.gr.spatial_neighbors(adata_rna)
# Compare spatial patterns across modalities
Platform-Specific Notes
| Platform | Markers | Resolution | Notes |
|---|---|---|---|
| CODEX | 40-60 | Subcellular | Cyclic staining |
| IMC | 40+ | 1 um | Metal-tagged antibodies |
| MIBI | 40+ | 260 nm | Mass spectrometry |
Related Skills
- spatial-transcriptomics/spatial-neighbors - Spatial graph construction
- spatial-transcriptomics/spatial-domains - Domain identification
- imaging-mass-cytometry/phenotyping - IMC-specific analysis
What ships with it: 2 files
9.0 KB alongside SKILL.md, 1 of them executable
examples/
- spatial_proteomics_analysis.pyruns6.8 KB
- usage-guide.md2.1 KB