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

plotCnvLineplot(
object = sce_SPATA2,
across = "second_type",
n_bins_bcsp = 1000,
n_bins_genes = 1000,
nrow = 3
)没啥差别

每条染色体的拷贝数变异所对应的数值,会被立即写入SPATA2 对象的特征数据中,因此这些数值可以被所有支持数值型变量的函数直接访问。在函数中指定的参数cnv_prefix会与染色体编号组合,形成这些特征变量的名称,用于后续引用。
# 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"
)
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"
)注:若对内容有疑惑或者有发现明确错误的朋友,请联系后台。更多相关内容可关注公众号:生信方舟 。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。