首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >基于Seurat的空转单样本数据分析流程学习(六)-CNV分析

基于Seurat的空转单样本数据分析流程学习(六)-CNV分析

原创
作者头像
凑齐六个字吧
发布2025-10-12 22:09:20
发布2025-10-12 22:09:20
13600
代码可运行
举报
文章被收录于专栏:单细胞单细胞
运行总次数:0
代码可运行

虽然这里说是基于Seurat,但其实主要还是把Seurat对象转化成了SPATA2这个包进行了分析。SPATA2是一个专门针对空间转录组数据(spatial transcriptomics)分析的R包,主要用于处理10x Genomics Visium或其他空间转录组技术的数据。它整合了单细胞转录组分析方法和空间信息,使用户可以在组织切片上可视化基因表达、细胞类型分布和空间模式。这个R包把inferCNV的功能给封装进来,使用起来更加方便,因此可以用这个包去做空转的CNV分析。

分析流程
1.导入
代码语言:javascript
代码运行次数:0
运行
复制
rm(list = ls())
library(SPATA2)
library(tidyverse)
library(Seurat)
library(future)
library(ggplot2)
library(hdf5r)
library(qs)
library(tidyverse)

sce <- qread("./sce.all.qs")

# check数据
SpatialFeaturePlot(sce, 
                   features = c("T", "fibroblasts"), 
                   pt.size.factor = 3, 
                   ncol = 2, 
                   crop = TRUE)
2.Seurat转SPATA2
代码语言:javascript
代码运行次数:0
运行
复制
# use Spatial assay
sce_SPATA2 <-  asSPATA2(object = sce,
                           sample_name ="GSM8633891",
                           platform ="VisiumSmall",
                           img_scale_fct ="lowres",
                           assay_name ="Spatial",
                           assay_modality ="gene" )

plotSurface(object = sce_SPATA2, color_by = "second_type")
# plotSurface(object = sce_SPATA2, color_by = "seurat_clusters")
3.CNV分析
代码语言:javascript
代码运行次数:0
运行
复制
dir.create("OutPut")
# change input
sce_SPATA2 <- 
  runCNV(
    object = sce_SPATA2,
    directory_cnv_folder = "OutPut", 
    clear_noise_via_ref_mean_sd = list(sd_amplifier = 2)
    )
4.可视化
4.1 基础可视化
代码语言:javascript
代码运行次数:0
运行
复制
cnv_results <- getCnvResults(sce_SPATA2)
names(cnv_results)
plotCnvHeatmap(object = sce_SPATA2, 
               across = "second_type", 
               clrp = "npg")

# a more complex set up
plotCnvHeatmap(
  object = sce_SPATA2, 
  across = "second_type", 
  across_subset = c("malignant", "T"), # dont show the transition part
  meta_vars = "CD4",  # visualize CD4 expression on the left
  meta_vars_clrs = c("CD4" = "inferno"), # with the inferno color spectrum 
  chrom_subset = c("1","2","3","4","5",
                   "6","7","8","9","10", 
                   "11","12","13","14","15",
                   "16","17","18","19","20",
                   "21","22"), # only show these chromosomes
  ggpLayers = list(arm = list(legendNone())) # remove the chrom arm legend
  )

# 基因绘图
plotSurface(sce_SPATA2, 
            color_by = "CD4", 
            pt_clrsp = "inferno")

但结果似乎并不能很好的区分肿瘤细胞和其他细胞,个人认为是跟之前的注释和SPOT的缺陷性有关。

4.2 折线图
代码语言:javascript
代码运行次数:0
运行
复制
plotCnvLineplot(
  object = sce_SPATA2,
  across = "second_type", 
  n_bins_bcsp = 1000,
  n_bins_genes = 1000,
  nrow = 3
)

没啥差别

4.3 Surface展示

每条染色体的拷贝数变异所对应的数值,会被立即写入SPATA2 对象的特征数据中,因此这些数值可以被所有支持数值型变量的函数直接访问。在函数中指定的参数cnv_prefix会与染色体编号组合,形成这些特征变量的名称,用于后续引用。

代码语言:javascript
代码运行次数:0
运行
复制
# cnv feature names
getCnvFeatureNames(object = sce_SPATA2) %>% head()

# are part of all feature names
getFeatureNames(object = sce_SPATA2) %>% head()

plotSurface(
  object = sce_SPATA2, 
  color_by = "Chr7", 
  pt_clrsp = "Reds"
)

plotSurface(
  object = sce_SPATA2, 
  color_by = "Chr10", 
  pt_clrsp = "Oslo" 
)
4.4 Gradients展示
代码语言:javascript
代码运行次数:0
运行
复制
plotSpatialTrajectories(
  object = sce_SPATA2, 
  ids = "horizontal_mid", 
  color_by = "Chr7", 
  pt_clrsp = "Reds 3"
)

plotSpatialTrajectories(
  object = sce_SPATA2, 
  ids = "horizontal_mid", 
  color_by = "Chr10", 
  pt_clrsp = "Oslo"
)

plotStsLineplot(
  object = sce_SPATA2, 
  id = "horizontal_mid", 
  variables = "Chr7" 
)

plotStsLineplot(
  object = sce_SPATA2, 
  id = "horizontal_mid", 
  variables = "Chr10", 
  line_color = "blue" 
)
参考资料:
  1. Inferring histology-associated gene expression gradients in spatial transcriptomic studies. Nat Commun. 2024 Aug 23;15(1):7280.
  2. SPATA2 github:https://github.com/theMILOlab/SPATA2

:若对内容有疑惑或者有发现明确错误的朋友,请联系后台。更多相关内容可关注公众号:生信方舟

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分析流程
    • 1.导入
    • 2.Seurat转SPATA2
    • 3.CNV分析
    • 4.可视化
      • 4.1 基础可视化
      • 4.2 折线图
      • 4.3 Surface展示
      • 4.4 Gradients展示
  • 参考资料:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档