首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Visium HD多样本拼片拆分

Visium HD多样本拼片拆分

作者头像
生信大杂烩
发布2025-06-10 20:21:16
发布2025-06-10 20:21:16
1650
举报

Visium HD实验的时候一个捕获区域内可以包含多个样本拼片(例如多个组织切片或不同样本的排列)是常见的实验设计,多样本拼片能够提升实验效率,单张玻片处理多个样本,降低试剂和测序成本,后续分析的时候只需要使用Loupe Browser手动圈选和分割样本,就能得到每个样本的数据。

Loupe Browser圈选与分割样本的详细步骤

数据加载与可视化

打开数据文件 启动Loupe Browser(需6.0及以上版本),通过 File > Open 加载Visium HD生成的 .loupe 文件。

切换至空间视图 在上方导航栏选择 Spatial 视图,查看捕获区域的整体图像。

手动圈选样本区域

选择工具 点击工具栏中的 Freehand selection(多边形选区工具),用于精确圈选规则形状的样本。

绘制选区 放大视图(Ctrl/Cmd + 鼠标滚轮)至可清晰分辨样本边界。沿目标样本边缘逐点单击形成闭合多边形,确保选区完全包裹目标组织(避免覆盖相邻样本的斑点)

保存选区 选中样本后弹出Save Barcodes弹窗,命名并保存(如 Sample_A)。

重复圈选 对捕获区域内的每个样本重复上述步骤,确保各选区独立且重叠。

图片
图片
下游分析准备

导出数据格式 通过 Download barcode groupping as csv 导出为CSV文件,供Seurat、Scanpy等工具分析。

样本圈选后整合
代码语言:javascript
复制
import pandas as pd
import scanpy as sc
# 读取各样本barcode信息
sample_A_barcode = pd.read_csv('sample_A.csv', sep=',', skiprows=1, names=['Barcode', 'sample'])
sample_B_barcode = pd.read_csv('sample_B.csv', sep=',', skiprows=1, names=['Barcode', 'sample'])
sample_all_barcode = pd.concat([sample_A_barcode, sample_B_barcode], axis=0, ignore_index=True)
# 整张芯片数据读取
adata = sc.read_visium('binned_outputs/square_008um', library_id='embryo')
# 样本数据整合
adata = adata[adata.obs.index.isin(sample_all_barcode['Barcode'])]
obs = pd.merge(adata.obs, sample_all_barcode, left_index=True, right_on='Barcode', how='inner')
obs.set_index(adata.obs.index, inplace=True)
obs.drop(columns=['Barcode'], inplace=True)
adata.obs = obs

样本分割后简单查看

代码语言:javascript
复制
adata.var['mt'] = adata.var_names.str.upper().str.startswith('MT-') 
adata.var['ribo'] = adata.var_names.str.upper().str.startswith(("RPS","RPL"))
sc.pp.calculate_qc_metrics(adata, qc_vars=['mt'], percent_top=None, log1p=False, inplace=True)
fig, (ax1, ax2, ax3) = plt.subplots(nrows=1, ncols=3, figsize=(14, 7))
sc.pl.spatial(
    adata,
    color='total_counts',
    library_id='embryo',
    title="sample_all_total_counts",
    alpha_img=0,
    show=False,
    colorbar_loc=None,
    ax=ax1
)
sc.pl.spatial(
    adata[adata.obs['sample']=='sample_A'],
    color='total_counts',
    library_id='embryo',
    title="sample_A_total_counts",
    alpha_img=0,
    show=False,
    colorbar_loc=None,
    ax=ax2
)
sc.pl.spatial(
    adata[adata.obs['sample']=='sample_B'],
    color='total_counts',
    library_id='embryo',
    title="sample_B_total_counts",
    alpha_img=0,
    show=False,
    colorbar_loc=None,
    ax=ax3
)
圈选时的关键点

避免交叉污染 确保选区不覆盖相邻样本的斑点(可通过放大视图检查边界)。 批次效应校正 分割后样本若来自不同实验批次,需在下游分析中使用工具(如Harmony、ComBat)校正批次效应。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信大杂烩 微信公众号,前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Loupe Browser圈选与分割样本的详细步骤
    • 数据加载与可视化
    • 手动圈选样本区域
    • 下游分析准备
    • 样本圈选后整合
    • 圈选时的关键点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档