♂️ Phenotype cells by unsupervised clustering Phenotype cells using a hierarchical probabilistic model Add Regions of Interest (ROIs) for exploration Explore the composition of defined cell types between samples and ROIs
Calculate and visualize distances between cell types Cell-cell interaction/ co-occurrence analysis ⚖️ Compare proximity scores between samples Search for spatial patterns
Compute neighborhoods using cell-type or cluster information (includes LDA method) Compute neighborhoods using expression data
# import packages
import anndata as ad
# Load the data that we saved in the last tutorial (with ROIs added)
adata = ad.read_h5ad('/Users/aj/Dropbox (Partners HealthCare)/nirmal lab/resources/exemplarData/scimapExampleData/scimapExampleData.h5ad')
import scimap as sm
adata = sm.tl.spatial_distance (adata, phenotype='phenotype')####就是细胞类型
sm.pl.spatial_distance (adata, figsize=(5,4))
sm.pl.spatial_distance (adata, heatmap_summarize=False, figsize=(9,4))
sm.pl.spatial_distance (adata, heatmap_summarize=False, imageid='ROI', figsize=(7,5))
sm.pl.spatial_distance (adata, method='numeric',distance_from='ECAD+', height=3, aspect=11/8)
sm.pl.spatial_distance (adata, method='numeric',distance_from='ECAD+', log=True, height=3, aspect=11/8)
sm.pl.spatial_distance (adata, method='numeric',distance_from='ECAD+', log=True, imageid='ROI', height=3, aspect=9/8)
distance_to = ['SMA+', 'Treg', 'NK cells', 'Dendritic cells']
sm.pl.spatial_distance (adata, method='numeric',
distance_from='ECAD+', distance_to=distance_to,
log=True, imageid='ROI',
height=3, aspect=9/8)
sm.pl.spatial_distance (adata, method='distribution',distance_from='ECAD+',distance_to = 'SMA+', imageid='ROI', log=True, height=3, aspect=9/8)
# import packages
import scimap as sm
import anndata as ad
# Load the data that we saved in the last tutorial (with ROIs added)
adata = ad.read_h5ad('/Users/aj/Dropbox (Partners HealthCare)/nirmal lab/resources/exemplarData/scimapExampleData/scimapExampleData.h5ad')
####Run spatial interaction tool
adata = sm.tl.spatial_interaction (adata,
method='radius',
radius=70,
label='spatial_interaction_radius')
sm.pl.spatial_interaction(adata,
spatial_interaction='spatial_interaction_radius',
linewidths=0.75, linecolor='black', figsize=(5,4))
# rerun the analysis with passing ROI column
adata = sm.tl.spatial_interaction(adata,
method='radius',
imageid = 'ROI',
radius=70,
label='spatial_interaction_radius_roi')
# view the results
sm.pl.spatial_interaction(adata,
spatial_interaction='spatial_interaction_radius_roi',
linewidths=0.75, linecolor='black', figsize=(5,4))
sm.pl.spatial_interaction(adata,
spatial_interaction='spatial_interaction_radius_roi',
yticklabels=True, figsize=(5,10), row_cluster=True,
summarize_plot=False,
linewidths=0.75, linecolor='black')
sm.pl.spatial_interaction(adata,
spatial_interaction='spatial_interaction_radius', binary_view=True,
linewidths=0.75, linecolor='black', figsize=(5,4))
sm.pl.spatialInteractionNetwork(adata, spatial_interaction='spatial_interaction_radius', figsize=(6,4))
# Calculate the score for proximity between `Tumor` cells and `Blood Vessels`
adata = sm.tl.spatial_pscore (adata,proximity= ['ECAD+', 'SMA+'],
score_by = 'ROI',
phenotype='phenotype',
method='radius',
radius=50)
sm.pl.spatial_pscore (adata, color='black', plot_score='Proximity Volume', figsize=(4,2))
sm.pl.spatial_pscore (adata, color='Black', plot_score='Proximity Density', figsize=(4,2))
# import packages
import scimap as sm
import anndata as ad
# Load the data that we saved in the last tutorial (with ROIs added)
adata = ad.read_h5ad('/Users/aj/Dropbox (Partners HealthCare)/nirmal lab/resources/exemplarData/scimapExampleData/scimapExampleData.h5ad')
adata = sm.tl.spatial_count(adata, phenotype='phenotype', method='radius', radius=80, label='spatial_count')
# note that the df_name parameter needs to the same as the label used in the previous step.
adata = sm.tl.spatial_cluster(adata, df_name='spatial_count', method='kmeans', k=6, label='neigh_kmeans')
# Let's visualize the results.
sm.pl.voronoi(adata, color_by='neigh_kmeans',
voronoi_edge_color = 'black',
voronoi_line_width = 0.3,
voronoi_alpha = 0.8,
size_max=3000,
overlay_points=None,
plot_legend=True,
legend_size=6)
# Let's plot the composition of these neighbourhoods
sm.pl.stacked_barplot (adata, x_axis='neigh_kmeans', y_axis='phenotype')
sm.pl.groupCorrelation(adata, groupBy='phenotype', condition='neigh_kmeans', figsize=(6,4))
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。