空转分析实战15:Visium HD 高分辨空间数据分析实战
·
10X Visium HD 空间基因表达载玻片包含两个 6.5 x 6.5 mm 捕获区域,其中寡核苷酸连续排列在数百万个 2 x 2μm 条形码正方形中,无间隙。数据输出为 2/8/16μm等多个 Bin 尺寸。8x8μm 的 Bin 是可视化和分析的推荐起点。

数据下载:
Visium_HD_Human_Colon_Cancer - Gene expression library of Colon Cancer (Visium HD) using the Human Whole Transcriptome Probe Set
链接:https://www.10xgenomics.com/cn/datasets/visium-hd-cytassist-gene-expression-libraries-of-human-crc-v4
下载以下三个文件:Binned outputs (all bin levels),Features slice H5,Spatial outputs,并解压spatial.tar.gz与binned_outputs.tar.gz文件。

可以看到结构与Visium基本一致,Binned outputs文件包含:2/8/16μm 三种分辨率.
下面进行数据读取与分析
## Visium HD
#BiocManager::install('arrow')
library(arrow)
library(Seurat)
library(ggplot2)
library(patchwork)
library(dplyr)
##加载 Visium HD 数据
localdir <- "/mnt/My_disk/zhao/DATA/Visium/hd/"
#加载16um数据,减少运行时间
CRC_HD <- Load10X_Spatial(data.dir = localdir, bin.size = c(16))
CRC_HD
#查看数据质量
p1<-VlnPlot(CRC_HD, features = "nCount_Spatial.016um", pt.size = 0) + theme(axis.text = element_text(size = 4)) + NoLegend()
p2<-SpatialFeaturePlot(CRC_HD, features = "nCount_Spatial.016um")
p1|p2

#Normalize
CRC_HD <- NormalizeData(CRC_HD)
CRC_HD <- FindVariableFeatures(CRC_HD)
CRC_HD <- ScaleData(CRC_HD)
#select 5w cells and create a 'sketch' assay
CRC_HD <- SketchData(
object = CRC_HD,
ncells = 50000,
method = "LeverageScore",
sketched.assay = "sketch",
features = VariableFeatures(CRC_HD)
)
#Switch sketch assay
DefaultAssay(CRC_HD) <- "sketch"
#Clustering workflow
CRC_HD <- FindVariableFeatures(CRC_HD)
CRC_HD <- ScaleData(CRC_HD)
CRC_HD <- RunPCA(CRC_HD, assay = "sketch", reduction.name = "pca.sketch")
CRC_HD <- FindNeighbors(CRC_HD, assay = "sketch", reduction = "pca.sketch", dims = 1:50)
CRC_HD <- FindClusters(CRC_HD, cluster.name = "seurat_cluster.sketched", resolution = 3)
CRC_HD <- RunUMAP(CRC_HD, reduction = "pca.sketch", reduction.name = "umap.sketch", return.model = T, dims = 1:50)
#将从5w个cell中学到的聚类标签和降维投影到整个数据集
CRC_HD <- ProjectData(
object = CRC_HD,
assay = "Spatial.016um",
full.reduction = "full.pca.sketch",
sketched.assay = "sketch",
sketched.reduction = "pca.sketch",
umap.model = "umap.sketch",
dims = 1:50,
refdata = list(seurat_cluster.projected = "seurat_cluster.sketched")
)
# switch to sketch assay
DefaultAssay(CRC_HD) <- "sketch"
Idents(CRC_HD) <- "seurat_cluster.sketched"
p1 <- DimPlot(CRC_HD, reduction = "umap.sketch", label = F) + ggtitle("Sketched clustering (50,000 cells)") + theme(legend.position = "bottom")
# switch to full dataset assay
DefaultAssay(CRC_HD) <- "Spatial.016um"
Idents(CRC_HD) <- "seurat_cluster.projected"
p2 <- DimPlot(CRC_HD, reduction = "full.umap.sketch", label = F) + ggtitle("Projected clustering (full dataset)") + theme(legend.position = "bottom")
p1 | p2

#空间聚类可视化
SpatialPlot(CRC_HD, pt.size.factor = 6,alpha = 0.8)

#指定cluster空间可视化
SpatialPlot(CRC_HD,
cells.highlight = CellsByIdentities(object = CRC_HD, idents = c(1, 4, 8)),
facet.highlight = TRUE,
pt.size.factor = 6,
alpha = 0.8,
ncol = 3)
#Marker可视化
SpatialPlot(CRC_HD,
features = c('CD3D','EPCAM','MYH11'),
pt.size.factor = 6,
alpha = 0.8,
ncol = 3)
#保存,下次使用
save(CRC_HD,file = 'CRC_HD.rdata')

以上就是本期10X Visium HD CRC数据的初步分析,后续分析内容下期见!
更多分析内容,关注 '空间组学' 公众号。

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)