10X HD数据分析进行COMMOT信号流分析

作者, Evil Genius
今天我们更新一个简单的内容,10X HD分析COMMOT。
读取数据,我们读取16um的数据
import commot as ct
import scanpy as sc
import pandas as pd
import numpy as np

adata = sc.read_visium('./',library_id = 'sample1')
adata
AnnData object with n_obs × n_vars = 135799 × 18085
    obs: 'in_tissue', 'array_row', 'array_col'
    var: 'gene_ids', 'feature_types', 'genome'
    uns: 'spatial'
    obsm: 'spatial'
超过13万的spot,1万8的基因数量
简单的数据分析
adata.var_names_make_unique()
###QC
# mitochondrial genes, "MT-" for human, "Mt-" for mouse
adata.var["mt"] = adata.var_names.str.startswith("MT-")
# ribosomal genes
adata.var["ribo"] = adata.var_names.str.startswith(("RPS", "RPL"))
# hemoglobin genes
adata.var["hb"] = adata.var_names.str.contains("^HB[^(P)]")

sc.pp.calculate_qc_metrics(adata, qc_vars=["mt", "ribo", "hb"], inplace=True)

adata = adata[adata.obs.pct_counts_mt < 5,]
####每个spot的基因数不能低于500
adata = adata[adata.obs.total_counts > 500,]

sc.pp.filter_genes(adata, min_cells=5)
adata.layers["count"] = adata.X.copy()
sc.pp.normalize_total(adata, inplace=True)
adata.layers["normalize"] = adata.X.copy()
sc.pp.log1p(adata)

sc.pp.highly_variable_genes(adata, n_top_genes=2000)
adata = adata[:, adata.var.highly_variable]
sc.tl.pca(adata, svd_solver='arpack')
sc.pp.neighbors(adata, n_neighbors=10, n_pcs=20)
sc.tl.umap(adata)
sc.tl.leiden(adata, resolution=0.4)
sc.pl.umap(adata, color='leiden')
plt.savefig('sample.HD.umap.png',bbox_inches = 'tight')

sc.pl.spatial(adata,color = 'leiden')
plt.savefig('sample.HD.spatial.png',bbox_inches = 'tight')

配受体,我们就跑前10个
df_cellchat = ct.pp.ligand_receptor_database(species='human', signaling_type='Secreted Signaling', database='CellChat')
df_cellchat_filtered = ct.pp.filter_lr_database(df_cellchat, adata, min_cell_pct=0.01)

距离参数我们参考文献

这一步相当的慢
ct.tl.spatial_communication(adata,
    database_name='cellchat', df_ligrec=df_cellchat_filtered, dis_thr=500, heteromeric=True, pathway_sum=True)
可视化
ct.tl.communication_direction(adata_dis500, database_name='cellchat', pathway_name='CCL', k=5)
ct.pl.plot_cell_communication(adata_dis500, database_name='cellchat', 
    pathway_name='CCL', plot_method='grid', background_legend=True,
    scale=0.00003, ndsize=8, grid_density=0.4, summary='sender', 
    background='image', clustering='leiden', cmap='Alphabet',
    normalize_v = True, normalize_v_quantile=0.995)

plt.savefig('sample1.CCL.commot.png',bbox_inches = 'tight')

生活很好,有你更好
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值