空間轉(zhuǎn)錄組的鄰域差異圖繪制(高精度平臺HD)

作者,Evil Genius

昨晚響應(yīng)號召,一直值班到凌晨4點,各方面的消息來看,昨晚沒有跳橋的。

但是官方的態(tài)度真讓人寒心。

今天太原下雨,我們來畫一畫圖吧,做空間分析的童鞋們下面的圖應(yīng)該是很常見的,

還有鄰域差異圖

還有下面這種的,區(qū)域細胞類型富集圖

這種分析就是為了10X Visium HD、華大、CODEX等高精度平臺準備的

簡單的畫一畫這個熱圖

import squidpy as sq
import cellcharter as cc
import scanpy as sc
from lightning.pytorch import seed_everything

adata = cc.datasets.codex_mouse_spleen('./data/codex_mouse_spleen.h5ad')

adata.raw = adata.copy()
for sample in adata.obs['sample'].cat.categories:
    adata.X[adata.obs['sample'] == sample, :] = sc.pp.scale(adata[adata.obs['sample'] == sample], copy=True).X

降維

model = cc.tl.TRVAE.load('./tutorial_models/codex_mouse_spleen_trvae', adata, map_location='cpu')
adata.obsm['X_trVAE'] = model.get_latent(adata.X, adata.obs['dataset'])

空間聚類

sq.gr.spatial_neighbors(adata, library_key='sample', coord_type='generic', delaunay=True)
cc.gr.aggregate_neighbors(adata, n_layers=3, use_rep='X_trVAE')
gmm = cc.tl.Cluster(
    n_clusters=11, 
    random_state=12345,
    # If running on GPU
    #trainer_params=dict(accelerator='gpu', devices=1)
)

gmm.fit(adata, use_rep='X_cellcharter')
adata.obs['spatial_cluster'] = gmm.predict(adata, use_rep='X_cellcharter')

sq.pl.spatial_scatter(
    adata, 
    color='spatial_cluster', 
    library_key='sample', 
    img=None, 
    title=['BALBc-1', 'MRL-4 (early)', 'MRL-8 (intermediate)', 'MRL-9 (late)'],
    size=2500,
    ncols=2,
)
cc.gr.enrichment(adata, group_key='cell_type', label_key='spatial_cluster', observed_expected=True)
cc.pl.enrichment(adata, group_key='cell_type', label_key='spatial_cluster', color_threshold=0.58, size_threshold=0.58)

Proximity analysis

adata.obs['condition'] = adata.obs['sample'].str.split('-').str[0].astype('category')

adata_balbc = adata[adata.obs['condition'] == 'BALBc']
cc.gr.nhood_enrichment(
    adata_balbc,
    cluster_key='spatial_cluster',
)

cc.pl.nhood_enrichment(
    adata_balbc,
    cluster_key='spatial_cluster',
    annotate=True,
    vmin=-1,
    vmax=1,
)
cc.gr.diff_nhood_enrichment(
    adata,
    cluster_key='spatial_cluster',
    condition_key='condition',
    library_key='sample',
    pvalues=True,
    n_jobs=15,
    n_perms=100
)

cc.pl.diff_nhood_enrichment(
    adata,
    cluster_key='spatial_cluster',
    condition_key='condition',
    condition_groups=['MRL', 'BALBc'],
    annotate=True,
    figsize=(7,7),
    significance=0.05
)

生活很好,有你更好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
禁止轉(zhuǎn)載,如需轉(zhuǎn)載請通過簡信或評論聯(lián)系作者。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容