做单细胞转录组数据分析的小伙伴们想必接触过Chan Zuckerberg基金会的CELLxGENE 在线平台。Facebook(现更名为Meta Platforms, Inc.)的创始人马克·扎克伯格(Mark Zuckerberg)并没有直接参与任何公开的单细胞项目,但是扎克伯格和他的妻子普莉希拉·陈(Priscilla Chan)通过Chan Zuckerberg Initiative(CZI)支持了多个科学和医疗项目,点赞一下!
CELLxGENE 在线平台上面的单细胞转录组数据集整理的非常规范,比如:https://cellxgene.cziscience.com/collections/3f7c572c-cd73-4b51-a313-207c7f20f188
可以看到CELLxGENE 在线平台的每个项目的网页上面都提供了两种文件下载方式,.h5ad 和 .rds 是两种不同的文件格式,它们被用于存储单细胞RNA测序数据,并且与特定的生物信息学软件包兼容。以下是这两种文件格式的对比:
.rds 文件可以用R的saveRDS和readRDS函数创建和读取。但是,当我们选择基于Seurat的V5的rds文件的时候,赫然弹出来了一个警告信息:

警告信息
也就是说,扎克伯格背刺基于R语言的Seurat单细胞生态,全面投入了Python编程语言的单细胞数据处理生态。这样就让我很难过,毕竟我这十多年都是坚定不移的R编程语言教学者啊。当然了,如果仅仅是把.h5ad 格式文件转为r编程环境里面的信息,其实难不倒我。而且确实是很多人都会面临这样的困难,因为不仅仅是扎克伯格,越来越多人选择了Python编程语言的单细胞数据处理生态,因为在R编程语言里面的确实是太耗费内存了:

越来越多人选择了Python编程语言的单细胞数据处理生态
.h5ad 格式文件就需要在自己的电脑里面安装Python编程语言环境,然后在里面安装好相关的单细胞模块,就可以运行下面的Python代码:
#先导出python中的annadata主要数据
#python中导出数据
import scipy.sparse as sparse
import scipy.io as sio
import scipy.stats as stats
import numpy as np
import scanpy as sc
import os
all_data=sc.read_h5ad("./integrated_lymphoid_organ_scrna.h5ad")
cellinfo=all_data.obs
geneinfo=all_data.var
mtx=all_data.X.T
cellinfo.to_csv("cellinfo.csv")
geneinfo.to_csv("geneinfo.csv")
sio.mmwrite("sparse_matrix.mtx",mtx)
上面的Python代码可以把.h5ad 格式文件里面的单细胞表达量矩阵,还有单细胞的名字,矩阵里面的基因名字独立的输出成为3个文件。接下来就可以去R编程语言里面读取然后存储为 .rds 文件啦:
library(data.table)
library(Matrix)
# https://hbctraining.github.io/scRNA-seq/lessons/readMM_loadData.html
#
mtx=readMM( "inputs/sparse_matrix.mtx.gz" )
cl=fread( "inputs/cellinfo.csv.gz" ,
header = T,data.table = F )
rl=fread( "inputs/geneinfo.csv.gz" ,
header = T,data.table = F )
rownames(mtx)=rl$V1
colnames(mtx)=cl$index #paste0('c',cl$V2)
meta=cl
rownames(meta)=cl$index
identical(rownames(meta),colnames(mtx))
library(Seurat)
sce.all=CreateSeuratObject(counts = mtx ,
meta.data = meta,
min.cells = 5,
min.features = 300 )
有了上面的 sce.all 这个Seurat对象,后面的降维聚类分群等等单细胞转录组常规的数据分析都是可以手到擒来。我的苹果64G电脑就可以处理60万左右的细胞数量的单细胞转录组项目的表达量矩阵,就是读取那个sparse_matrix.mtx.gz实在是非常耗费时间!
它提供了一个用户友好的界面,用于探索和分析单细胞RNA测序数据。这个平台是由Chan Zuckerberg Initiative(CZI)资助的一个项目,旨在促进单细胞基因组学数据的共享和开放访问。以下是CELLxGENE平台的一些主要特点:
CELLxGENE平台的目标是成为一个全面的资源,为研究人员提供一个强大的工具,以探索和理解单细胞基因组学的复杂性。通过提供易于访问的数据和分析工具,CELLxGENE有助于推动单细胞生物学领域的发展。
在单细胞基因组学领域,Python和R语言都是流行的数据分析工具,它们各自有着独特的生态系统和优势。以下是Python和R语言在单细胞数据分析中的对比,以及它们的生态系统介绍:
总的来说,Python和R语言在单细胞数据分析中都有各自的优势和特点,选择哪个工具取决于个人偏好、项目需求和团队背景。许多研究者甚至会结合使用这两种语言,以利用它们各自的优势。