万事开头难,考虑到很多小伙伴在做单细胞公共数据分析的时候往往是在第一个步骤读取作者上传的表达量矩阵去构建seurat对象就各种屏蔽,非常有必要把18种单细胞数据格式文件都给大家梳理一下 。
首先是,读取h5ad格式的单细胞文件,这里以两个样本,数据链接是 https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE153643 ,为例子,如下所示:
代码语言:javascript复制GSM4648564 adipose_pooled
GSM4648565 liver_pooled
作者提供了表达量矩阵的文件,但文件格式是h5ad,需要进行转换。
GEO界面的文件
将文件下载好存放在GSE153643_RAW
文件夹下,然后代码如下所示:
# 自己安装 mojaveazure/seurat-disk 这个GitHub包:
#remotes::install_github("mojaveazure/seurat-disk")
library(SeuratDisk)
library(patchwork)
#~~~~~开始读数据~~~~~
##h5ad是python的Scanpy读取文件格式,需要转换
#~~~~读取adipose~~~~
Convert('./GSE153643_RAW/GSM4648564_adipose_raw_counts.h5ad', "h5seurat",
overwrite = TRUE,assay = "RNA")
scRNA <- LoadH5Seurat("./GSE153643_RAW/GSM4648564_adipose_raw_counts.h5seurat")
scRNA
其实就是借助 一个GitHub包,名字是seurat-disk,首先一个Convert函数,然后一个LoadH5Seurat即可。超级简单。
读取之后的 scRNA就是一个标准的seurat对象,可以使用其标准代码走降维聚类分群哦!
代码语言:javascript复制
## Normalizing the data
scRNA <- NormalizeData(scRNA, normalization.method = "LogNormalize",
scale.factor = 10000)
scRNA <- NormalizeData(scRNA)
## Identify the 2000 most highly variable genes
scRNA <- FindVariableFeatures(scRNA, selection.method = "vst", nfeatures = 2000)
## In addition we scale the data
all.genes <- rownames(scRNA)
scRNA <- ScaleData(scRNA, features = all.genes)
scRNA <- RunPCA(scRNA, features = VariableFeatures(object = scRNA),
verbose = FALSE)
scRNA <- FindNeighbors(scRNA, dims = 1:10, verbose = FALSE)
scRNA <- FindClusters(scRNA, resolution = 0.5, verbose = FALSE)
scRNA <- RunUMAP(scRNA, dims = 1:10, umap.method = "uwot", metric = "cosine")
table(scRNA$seurat_clusters)
phe=scRNA@meta.data
save(phe,file = 'phe-by-basic-seurat.Rdata')
大家在下面的文章里面可以搜索到10x单细胞转录组数据的文章公布在geo数据库的链接:
- 我的课题只有一个10x样本肿么办?
- 两个样品的10x单细胞转录组数据分析策略
- 三个10X单细胞转录组样本CCA整合
- 多个单细胞转录组样本的数据整合之CCA-Seurat包
如果你对单细胞数据分析还没有基础认知,可以看基础10讲:
- 01. 上游分析流程
- 02.课题多少个样品,测序数据量如何
- 03. 过滤不合格细胞和基因(数据质控很重要)
- 04. 过滤线粒体核糖体基因
- 05. 去除细胞效应和基因效应
- 06.单细胞转录组数据的降维聚类分群
- 07.单细胞转录组数据处理之细胞亚群注释
- 08.把拿到的亚群进行更细致的分群
- 09.单细胞转录组数据处理之细胞亚群比例比较
最基础的往往是降维聚类分群,参考前面的例子:人人都能学会的单细胞聚类分群注释