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)校正批次效應。