首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
30 篇文章
1
使用PHATE复现Science Immunology上文章的结果
2
你确定你研究的是成纤维细胞吗
3
读取loom格式的单细胞文件
4
velocyto的正确安装方法
5
Seurat4.0系列教程20:单细胞对象的格式转换
6
Seurat4.0系列教程8:细胞周期评分和回归分析
7
MACA: 一款自动注释细胞类型的工具
8
肺癌四阶段:AAH-AIS-MIA-IA的单细胞图谱
9
你认为是双细胞人家说是全新细胞亚群
10
copykat为什么没有infercnv直观呢
11
一大波神经元单细胞亚群相关的标志基因
12
单细胞转录组分析—追踪移植后造血干细胞的分化
13
单细胞转录组揭示肺腺癌特有的肿瘤微环境
14
小细胞肺癌(SCLC)病人的scRNA-seq数据分析
15
单细胞转录组分析COVID-19重症患者肺泡巨噬细胞亚型
16
CancerSCEM: 人类癌症单细胞表达图谱数据库
17
你真的需要如此多的单细胞亚群注释工具吗
18
使用PHATE进行单细胞高维数据的可视化
19
小鼠早期原肠化的转录异质性和细胞命运决定的scRNA-seq图谱
20
单细胞测序揭示PD-L1免疫治疗联合紫杉醇化疗在三阴性乳腺癌中的作用机制
21
单细胞转录组的细分亚群的降维聚类分群加上gsea或者gsva以及转录因子和拟时序流程(仅需8000元)
22
单细胞不同亚群和状态能区分吗
23
肿瘤相关成纤维细胞异质性
24
肿瘤样品的单细胞需要提取上皮细胞继续细分
25
乳腺癌患者抗PD1治疗期间肿瘤内变化的单细胞图谱
26
晚期非小细胞肺癌肿瘤异质性和微环境的单细胞分析
27
脑组织单细胞悬液制备流程
28
什么,你想要的单细胞亚群比例太少了?
29
让Single cell UMAP注释支棱起来
30
RNAvelocity4:velocyto.R的使用
清单首页生信文章详情

Seurat4.0系列教程20:单细胞对象的格式转换

在此教程中,我们演示了在 Seurat 对象、SingleCellExperiment对象和anndata对象之间转换的方法。

代码语言:javascript
复制
# install scater https://bioconductor.org/packages/release/bioc/html/scater.html
library(scater)
library(Seurat)
# install SeuratDisk from GitHub using the remotes package remotes::install_github(repo =
# 'mojaveazure/seurat-disk', ref = 'develop')
library(SeuratDisk)
library(patchwork)

SingleCellExperiment的转换

SingleCellExperiment[1]是一类存储的单细胞实验数据,由 Davide Risso, Aaron Lun, and Keegan Korthauer创建,并被许多 Bioconductor 包使用。在这里,我们演示将PBMC 3k 教程中产生的 Seurat 对象转换为SingleCellExperiment,需要使用Davis McCarthy’s scater包。。

代码语言:javascript
复制
# download from satija lab https://www.dropbox.com/s/kwd3kcxkmpzqg6w/pbmc3k_final.rds?dl=0
pbmc <- readRDS(file = "../data/pbmc3k_final.rds")
pbmc.sce <- as.SingleCellExperiment(pbmc)
p1 <- plotExpression(pbmc.sce, features = "MS4A1", x = "ident") + theme(axis.text.x = element_text(angle = 45, 
    hjust = 1))
p2 <- plotPCA(pbmc.sce, colour_by = "ident")
p1 + p2

Seurat还允许从SingleCellExperiment对象转换为Seurat对象:

代码语言:javascript
复制
# download from hemberg lab
# https://scrnaseq-public-datasets.s3.amazonaws.com/scater-objects/manno_human.rds
manno <- readRDS(file = "../data/manno_human.rds")
manno <- runPCA(manno)
manno.seurat <- as.Seurat(manno, counts = "counts", data = "logcounts")
# gives the same results; but omits defaults provided in the last line
manno.seurat <- as.Seurat(manno)
Idents(manno.seurat) <- "cell_type1"
p1 <- DimPlot(manno.seurat, reduction = "PCA", group.by = "Source") + NoLegend()
p2 <- RidgePlot(manno.seurat, features = "ACTB", group.by = "Source")
p1 + p2

loom文件转换

loom[2]格式是 Sten Linnarsson’s[3]团队设计的HDF5文件[4]上的文件结构。它旨在有效地存储大型单细胞基因组学数据集。保存 Seurat 对象为 loom文件是通过 SeuratDisk[5]中实现的。有关loom格式的更多详细信息,可参阅loom file format specification[6].

代码语言:javascript
复制
pbmc.loom <- as.loom(pbmc, filename = "../output/pbmc3k.loom", verbose = FALSE)
pbmc.loom
代码语言:javascript
复制
## Class: loom
## Filename: /__w/2/s/output/pbmc3k.loom
## Access type: H5F_ACC_RDWR
## Listing:
##        name    obj_type dataset.dims dataset.type_class
##       attrs   H5I_GROUP         <NA>               <NA>
##   col_attrs   H5I_GROUP         <NA>               <NA>
##  col_graphs   H5I_GROUP         <NA>               <NA>
##      layers   H5I_GROUP         <NA>               <NA>
##      matrix H5I_DATASET 2638 x 13714          H5T_FLOAT
##   row_attrs   H5I_GROUP         <NA>               <NA>
##  row_graphs   H5I_GROUP         <NA>               <NA>
代码语言:javascript
复制
# Always remember to close loom files when done
pbmc.loom$close_all()

Seurat 还可以通过SeuratDisk[7]读取loom文件转换成Seurat 对象:我们在Linnarsson 实验室创建的小鼠脑数据集[8]上展示了这一点。

代码语言:javascript
复制
# download from linnarsson lab
# https://storage.googleapis.com/linnarsson-lab-loom/l6_r1_immune_cells.loom
l6.immune <- Connect(filename = "../data/l6_r1_immune_cells.loom", mode = "r")
l6.immune
代码语言:javascript
复制
## Class: loom
## Filename: /__w/2/s/data/l6_r1_immune_cells.loom
## Access type: H5F_ACC_RDONLY
## Attributes: CreationDate, last_modified
## Listing:
##        name    obj_type  dataset.dims dataset.type_class
##   col_attrs   H5I_GROUP          <NA>               <NA>
##  col_graphs   H5I_GROUP          <NA>               <NA>
##      layers   H5I_GROUP          <NA>               <NA>
##      matrix H5I_DATASET 14908 x 27998          H5T_FLOAT
##   row_attrs   H5I_GROUP          <NA>               <NA>
##  row_graphs   H5I_GROUP          <NA>               <NA>
代码语言:javascript
复制
l6.seurat <- as.Seurat(l6.immune)
Idents(l6.seurat) <- "ClusterName"
VlnPlot(l6.seurat, features = c("Sparc", "Ftl1", "Junb", "Ccl4"), ncol = 2)
代码语言:javascript
复制
# Always remember to close loom files when done
l6.immune$close_all()

有关在 R 和 Seurat 中Loom文件交互的更多详细信息,请参阅loomR on GitHub[9]. 。

AnnData转换

AnnData[10]是由Alex Wolf and Philipp Angerer创建的 Python 类型,用于存储单细胞数据。此数据格式还用于存储Scanpy包的结果,现在支持与seurat交互操作,通过SeuratDisk包从文件中读取数据并将数据保存到AnnData文件中, 查看更多AnnData文件转换可参考convert-anndata[11]

参考资料

[1]SingleCellExperiment: https://bioconductor.org/packages/release/bioc/html/SingleCellExperiment.html

[2]loom: http://loompy.org/

[3]Sten Linnarsson’s: http://linnarssonlab.org/

[4]HDF5文件: http://portal.hdfgroup.org/display/support

[5]SeuratDisk: https://mojaveazure.github.io/seurat-disk

[6]loom file format specification: http://linnarssonlab.org/loompy/format/index.html

[7]SeuratDisk: https://github.com/mojaveazure/seurat-disk

[8]小鼠脑数据集: http://mousebrain.org/

[9]loomR on GitHub: https://github.com/mojaveazure/loomR

[10]AnnData: https://anndata.readthedocs.io/en/latest/

[11]convert-anndata: https://mojaveazure.github.io/seurat-disk/articles/convert-anndata.html

下一篇
举报
领券