首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >内容复习--Xenium 5k (包括CosMx大panel)基础与多样本整合分析

内容复习--Xenium 5k (包括CosMx大panel)基础与多样本整合分析

原创
作者头像
追风少年i
发布2025-04-16 16:35:05
发布2025-04-16 16:35:05
4370
举报

作者,Evil Genius

今天偷个懒,梳理一下Xenium 5k的多样本整合分析。

为什么要说明是多样本整合呢?因为一张芯片大家都放好几个样本,直接就是多样本了。

那么此时需不需要多样本去批次呢?答案是:要。

加载

代码语言:javascript
复制
import scanpy as sc
import squidpy as sq

import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np

读取Xenium数据

代码语言:javascript
复制
xenium_path = "xenium"
zarr_path = "xenium/Xenium.zarr"

sdata = xenium(xenium_path)
sdata.write(zarr_path, overwrite = True)

sdata = sd.read_zarr(zarr_path)
adata = sdata.table['table']

####添加样本信息
## add sample_id information to cells,barcode,sample
mids = pd.read_csv('cell_id.csv', index_col = 0)
mids.index = mids.index.astype('str')
adata.obs = adata.obs.join(mids[['cell_id']])

QC

代码语言:javascript
复制
sc.pp.calculate_qc_metrics(adata, percent_top=(10, 20, 50, 150), inplace=True)

cprobes = (
    adata.obs["control_probe_counts"].sum() / adata.obs["total_counts"].sum() * 100
)
cwords = (
    adata.obs["control_codeword_counts"].sum() / adata.obs["total_counts"].sum() * 100
)
print(f"Negative DNA probe count % : {cprobes}")
print(f"Negative decoding count % : {cwords}")

Process,基础处理

代码语言:javascript
复制
sc.pp.filter_cells(adata, min_counts=100)
sc.pp.filter_genes(adata, min_cells=50)

adata.layers["counts"] = adata.X.copy()

sc.pp.normalize_total(adata, inplace=True)

sc.pp.log1p(adata)
sc.pp.pca(adata)

Run harmony integration

代码语言:javascript
复制
sc.external.pp.harmony_integrate(adata, 'sample_id')

sc.pp.neighbors(adata, use_rep='X_pca_harmony')
sc.tl.umap(adata)
sc.tl.leiden(adata,resolution = 0.5)

sc.tl.rank_genes_groups(adata, 'louvain', method='wilcoxon', key_added = "wilcoxon")
sc.pl.rank_genes_groups(adata, n_genes=25, sharey=False, key="wilcoxon")
代码语言:javascript
复制
sc.pl.umap(adata, color=['leiden'], legend_loc='on data')

可以画一画空间图

代码语言:javascript
复制
sq.pl.spatial_scatter(adata,library_id="spatial",shape=None,color=["leiden",],wspace=0.4)

生活很好,有你更好

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者,Evil Genius
  • 今天偷个懒,梳理一下Xenium 5k的多样本整合分析。
  • 为什么要说明是多样本整合呢?因为一张芯片大家都放好几个样本,直接就是多样本了。
  • 那么此时需不需要多样本去批次呢?答案是:要。
  • 加载
  • 读取Xenium数据
  • QC
  • Process,基础处理
  • Run harmony integration
  • 可以画一画空间图
  • 生活很好,有你更好
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档