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等工具分析。
样本圈选后整合
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
样本分割后简单查看
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)校正批次效应。