Seurat5与Seurat4结构学习

Seurat4数据结构

单细胞 10X 和seurat对象学习-CSDN博客

单细胞数据读取创建Seura文件(自备补充)_单细胞原始数据txt格式读取-CSDN博客

pbmc数据集Seurat4

Seurat对象内部结构简介 (qq.com)

③单细胞学习-pbmc的Seurat 流程_seurat 删除离散细胞-CSDN博客

①数据读取
rm(list=ls()) 
## 加载R包#https://satijalab.org/seurat/articles/pbmc3k_tutorial.html
library(dplyr)
library(Seurat)
library(patchwork)
## 读取数据
getwd()# "/home/data/t120534/singletest"
setwd("/home/data/t120534/pbmc")
getwd()

pbmc.data <- Read10X(data.dir = "/home/data/t120534/pbmc")
## 创建Seruat对象
pbmc <- CreateSeuratObject(counts = pbmc.data, 
                           project = "pbmc3k", 
                           min.cells = 3, # min.cell:每个feature至少在多少个细胞中表达(feature=gene)
                           min.features = 200) # min.features:每个细胞中至少有多少个feature被检测到
pbmc

②细胞注释

增加meta.data注释对象

Seurat对象中的meta.data 是一个用来对所有细胞做注释的数据框。

每一行代表一个细胞,每一列代表细胞的属性。当需要根据细胞的属性和类型对细胞进行筛选的时候,经常会用到meta.data。当然也可以把新分析得到的结果,添加到meta.data中。

pbmc$groups <- sample(c("group1", "group2"), size = ncol(pbmc), replace = TRUE)
pbmc


SeuratV5版差异

本地V4版本,服务器V5版本

V5版Seurat对象内部结构 (qq.com)

V5版本的Seurat结构中RNA下归类了一个layers结构

①V4结构
> str(pbmc)
Formal class 'Seurat' [package "SeuratObject"] with 13 slots
  ..@ assays      :List of 1
  .. ..$ RNA:Formal class 'Assay' [package "SeuratObject"] with 8 slots
  .. .. .. ..@ counts       :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. .. .. .. ..@ i       : int [1:2282976] 29 73 80 148 163 184 186 227 229 230 ...
  .. .. .. .. .. ..@ p       : int [1:2701] 0 779 2131 3260 4220 4741 5522 6304 7094 7626 ...
  .. .. .. .. .. ..@ Dim     : int [1:2] 13714 2700
  .. .. .. .. .. ..@ Dimnames:List of 2
  .. .. .. .. .. .. ..$ : chr [1:13714] "AL627309.1" "AP006222.2" "RP11-206L10.2" "RP11-206L10.9" ...
  .. .. .. .. .. .. ..$ : chr [1:2700] "AAACATACAACCAC-1" "AAACATTGAGCTAC-1" "AAACATTGATCAGC-1" "AAACCGTGCTTCCG-1" ...
  .. .. .. .. .. ..@ x       : num [1:2282976] 1 1 2 1 1 1 1 41 1 1 ...
  .. .. .. .. .. ..@ factors : list()
  .. .. .. ..@ data         :Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. .. .. .. ..@ i       : int [1:2282976] 29 73 80 148 163 184 186 227 229 230 ...
  .. .. .. .. .. ..@ p       : int [1:2701] 0 779 2131 3260 4220 4741 5522 6304 7094 7626 ...
  .. .. .. .. .. ..@ Dim     : int [1:2] 13714 2700
  .. .. .. .. .. ..@ Dimnames:List of 2
  .. .. .. .. .. .. ..$ : chr [1:13714] "AL627309.1" "AP006222.2" "RP11-206L10.2" "RP11-206L10.9" ...
  .. .. .. .. .. .. ..$ : chr [1:2700] "AAACATACAACCAC-1" "AAACATTGAGCTAC-1" "AAACATTGATCAGC-1" "AAACCGTGCTTCCG-1" ...
  .. .. .. .. .. ..@ x       : num [1:2282976] 1 1 2 1 1 1 1 41 1 1 ...
  .. .. .. .. .. ..@ factors : list()
  .. .. .. ..@ scale.data   : num[0 , 0 ] 
  .. .. .. ..@ key          : chr "rna_"
  .. .. .. ..@ assay.orig   : NULL
  .. .. .. ..@ var.features : logi(0) 
  .. .. .. ..@ meta.features:'data.frame':	13714 obs. of  0 variables
  .. .. .. ..@ misc         : list()
  ..@ meta.data   :'data.frame':	2700 obs. of  3 variables:(注释数据)

②V5结构
> str(pbmc)
Formal class 'Seurat' [package "SeuratObject"] with 13 slots
  ..@ assays      :List of 1
  .. ..$ RNA:Formal class 'Assay5' [package "SeuratObject"] with 8 slots
  .. .. .. ..@ layers    :List of 1
  .. .. .. .. ..$ counts:Formal class 'dgCMatrix' [package "Matrix"] with 6 slots
  .. .. .. .. .. .. ..@ i       : int [1:2282976] 29 73 80 148 163 184 186 227 229 230 ...
  .. .. .. .. .. .. ..@ p       : int [1:2701] 0 779 2131 3260 4220 4741 5522 6304 7094 7626 ...
  .. .. .. .. .. .. ..@ Dim     : int [1:2] 13714 2700
  .. .. .. .. .. .. ..@ Dimnames:List of 2
  .. .. .. .. .. .. .. ..$ : NULL
  .. .. .. .. .. .. .. ..$ : NULL
  .. .. .. .. .. .. ..@ x       : num [1:2282976] 1 1 2 1 1 1 1 41 1 1 ...
  .. .. .. .. .. .. ..@ factors : list()
  .. .. .. ..@ cells     :Formal class 'LogMap' [package "SeuratObject"] with 1 slot
  .. .. .. .. .. ..@ .Data: logi [1:2700, 1] TRUE TRUE TRUE TRUE TRUE TRUE ...
  .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. .. .. ..$ : chr [1:2700] "AAACATACAACCAC-1" "AAACATTGAGCTAC-1" "AAACATTGATCAGC-1" "AAACCGTGCTTCCG-1" ...
  .. .. .. .. .. .. .. ..$ : chr "counts"
  .. .. .. .. .. ..$ dim     : int [1:2] 2700 1
  .. .. .. .. .. ..$ dimnames:List of 2
  .. .. .. .. .. .. ..$ : chr [1:2700] "AAACATACAACCAC-1" "AAACATTGAGCTAC-1" "AAACATTGATCAGC-1" "AAACCGTGCTTCCG-1" ...
  .. .. .. .. .. .. ..$ : chr "counts"
  .. .. .. ..@ features  :Formal class 'LogMap' [package "SeuratObject"] with 1 slot
  .. .. .. .. .. ..@ .Data: logi [1:13714, 1] TRUE TRUE TRUE TRUE TRUE TRUE ...
  .. .. .. .. .. .. ..- attr(*, "dimnames")=List of 2
  .. .. .. .. .. .. .. ..$ : chr [1:13714] "AL627309.1" "AP006222.2" "RP11-206L10.2" "RP11-206L10.9" ...
  .. .. .. .. .. .. .. ..$ : chr "counts"
  .. .. .. .. .. ..$ dim     : int [1:2] 13714 1
  .. .. .. .. .. ..$ dimnames:List of 2
  .. .. .. .. .. .. ..$ : chr [1:13714] "AL627309.1" "AP006222.2" "RP11-206L10.2" "RP11-206L10.9" ...
  .. .. .. .. .. .. ..$ : chr "counts"
  .. .. .. ..@ default   : int 1
  .. .. .. ..@ assay.orig: chr(0) 
  .. .. .. ..@ meta.data :'data.frame':	13714 obs. of  0 variables
  .. .. .. ..@ misc      :List of 1
  .. .. .. .. ..$ calcN: logi TRUE
  .. .. .. ..@ key       : chr "rna_"
  ..@ meta.data   :'data.frame':	2700 obs. of  4 variables:

减少

V5版本的assays对象下面多出了layers的结构,其中只保留了counts稀疏矩阵——未经处理的原始数据。虽然也是稀疏矩阵,但是和V4不一样的是,没有基因名,而仅仅是基因表达信息。少了部分内容,如V4版本里的data——原始数据经过标准化之后的Matrix对象;meta.features——对每个 features 做的注释;scale.data——当数据进行scale后,有正负差别以及var.features——是一个普通的向量,里面存放的是高表达变异的基因名都不存在。

> pbmc@assays$RNA@layers$counts#查看矩阵
13714 x 2700 sparse Matrix of class "dgCMatrix"
                                                                                               
 [1,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . ......
 [2,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . ......
 [3,] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  . . . . . . . . . . . ......
新增

新增cells、features等LogMap结构

cells对应的是barcodes.tsv——包含了每个单细胞的条形码信息,features里面包含了基因名信息。

LogMap结构,所以不能直接使用@查看,但我们可以使用rownames()查看我们需要的信息。

pbmc[["RNA"]]@cells %>% rownames() %>% head(30)

pbmc[["RNA"]]@features %>% rownames() %>% head(30)

V5版本确实更精简了,但却并没有把10X格式的三个文件合并起来,而是分开存放在layyers、cells和features里面了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值