前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >10X HD数据分析进行COMMOT信号流分析

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

原创
作者头像
追风少年i
发布2025-03-06 11:31:48
发布2025-03-06 11:31:48
7400
代码可运行
举报
运行总次数:0
代码可运行

作者, Evil Genius

今天我们更新一个简单的内容,10X HD分析COMMOT。

读取数据,我们读取16um的数据

代码语言:javascript
代码运行次数:0
复制
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的基因数量

简单的数据分析

代码语言:javascript
代码运行次数:0
复制
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')
代码语言:javascript
代码运行次数:0
复制
sc.pl.spatial(adata,color = 'leiden')
plt.savefig('sample.HD.spatial.png',bbox_inches = 'tight')

配受体,我们就跑前10个

代码语言:javascript
代码运行次数:0
复制
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)

距离参数我们参考文献

这一步相当的慢

代码语言:javascript
代码运行次数:0
复制
ct.tl.spatial_communication(adata,
    database_name='cellchat', df_ligrec=df_cellchat_filtered, dis_thr=500, heteromeric=True, pathway_sum=True)

可视化

代码语言:javascript
代码运行次数:0
复制
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')

生活很好,有你更好

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者, Evil Genius
  • 今天我们更新一个简单的内容,10X HD分析COMMOT。
  • 读取数据,我们读取16um的数据
  • 超过13万的spot,1万8的基因数量
  • 简单的数据分析
  • 配受体,我们就跑前10个
  • 距离参数我们参考文献
  • 这一步相当的慢
  • 可视化
  • 生活很好,有你更好
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档