分享

【单细胞】R的seurat对象和python的h5ad对象互转

 生信交流平台 2023-07-19 发布于上海

    目前市面上做单细胞数据分析,主要是基于R的seurat包和python的scanpy包。前面小编根大家分享过如何使用这两种方法读入10X的原始数据。
☞ scanpy读10X单细胞数据报错

有时候我们需要从GEO下载别人提交的单细胞数据来做分析,但是别人用的编程语言可能跟你用的不一样,这可难坏了不少小伙伴。今天小编就跟大家分享一个R包SeuratDisk,能够实现R中seurat格式的对象和python里面h5ad格式的对象,相互转换。

下面我们以10X的3k PBMC数据为例给大家演示一下
一、R seurat转python h5ad
library(Seurat)#remotes::install_github("satijalab/seurat-data")library(SeuratData)library(SeuratDisk)
#InstallData("pbmc3k")data("pbmc3k.final")pbmc3k.final# An object of class Seurat # 13714 features across 2638 samples within 1 assay # Active assay: RNA (13714 features, 2000 variable features)# 2 dimensional reductions calculated: pca, umap
SaveH5Seurat(pbmc3k.final, filename = "pbmc3k.h5Seurat")Convert("pbmc3k.h5Seurat", dest = "h5ad")
这个时候,在我们的当前工作路径下面就会得到两个新的文件

然后我们就可以用python读入生成的pbmc3k.h5ad文件
import scanpy
adata = scanpy.read_h5ad("pbmc3k.h5ad")print(adata)

可以看到,我们已经成功的将一个R的Seurat对象的数据,转成了h5ad格式的文件,并且成功的读入到了python中。那么接下来对python比较数据的小伙伴就可以使用python继续进行数据分析了。

二、python h5ad转R seurat
如果GEO里面找到的是一个h5ad格式的文件,而你又对python不是很熟,平时都用R做单细胞数据分析。那么我们还是可以使用SeuratDisk这个包将h5ad转成seurat对象。
library(Seurat)library(SeuratDisk)
Convert("pbmc3k_final.h5ad", dest = "h5seurat", overwrite = TRUE)pbmc3k <- LoadH5Seurat("pbmc3k.h5Seurat")
pbmc3k#> An object of class Seurat #> 13714 features across 2638 samples within 1 assay #> Active assay: RNA (13714 features, 2000 variable features)#> 2 dimensional reductions calculated: pca, umap
接下来,就可以愉快的用R进行后续分析了。


为了方便大家交流学习,共同进步,我特地创建了微信交流群

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章