提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、Seurat处理单细胞矩阵数据
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 3.转置后的数据保存
- 矩阵数据处理
- 总结
前言
R语言使用Seurat对单细胞RNA-seq矩阵进行标准化和选取2000个高变基因,并提取处理以后的数据矩阵。
一、Seurat处理单细胞矩阵数据
R语言使用Seurat对单细胞RNA-seq矩阵进行标准化和选取2000个高变基因,并提取处理以后的数据矩阵。
二、使用步骤
1.引入库
代码如下:
BiocManager::install("hdf5r") #生物学包安装方法
library(Seurat)
2.读入数据
代码如下:
data_sample <- read.csv(file="D:/single_cell project/10X_PBMC.csv", header= F) #导入数据
# 数据类型为行是细胞,列是基因
dat <- as.matrix(data_sample) #dataframe转换为矩阵类型
dat1 <- t(dat) # 矩阵转置,行代表基因,列是细胞
Seurat的输入格式:行是基因(特征),列是细胞(样本)
3.转置后的数据保存
write.csv(dat1,"D:/single_cell project/PBMC_tran.csv",row.names = F,col.names = F)
# 不要头文件,不要列索引
# 按照上面方法保存的.csv数据,在R语言中读取:
data <- read.csv(file="D:/single_cell project/PBMC_tran.csv") #导入数据,注意斜杠
# 按照上面方法保存的.csv数据,在Python中读取:
df = pd.read_csv("D:/single_cell project/PBMC_tran.csv", header=0)
pbmc = df.values #在Python中dataframe转化为矩阵类型
提供了python和R读取.csv格式数据,里面的参数自行调节
矩阵数据处理
data_seurat <- CreateSeuratObject(data,project = "data_sample")
#后面就可以单细胞处理的标准流程啦
pbmc <- NormalizeData(data_seurat) # 进行标准化,默认参数
norm <- pbmc[["RNA"]]@data # 读取标准化以后的矩阵数据
norm1 <- as.matrix(norm) #转化为矩阵形式
norm <- t(norm1) # 矩阵转置,行代表细胞,列代表基因
write.csv(norm,"D:/single_cell project/PBMC_norm.csv",row.names = F,col.names = F)
# 保存标准化之后的数据矩阵
# 按照上面方法保存的.csv数据,在R语言中读取:
data <- read.csv(file="D:/single_cell project/PBMC_tran.csv") #导入数据,注意斜杠
pbmc <- FindVariableFeatures(pbmc,selection.method = "vst",nfeatures = 2000) #注意使用的是pbmc
# 按照"vst"方法选取2000个高变基因
top <- head(VariableFeatures(pbmc),2000) #读取选取的2000个高变基因的索引
pb <- norm1[top,] #注意使用的是norm1
#按照索引选出相应的基因,即相应的行
p <- as.matrix(pb)
P <- t(p) # 转置,行为细胞,列为基因
dim(P) # 查看矩阵维度,确认一下
write.csv(P,"D:/single_cell project/PBMC_select2000_norm.csv",row.names = F,col.names = F)
#保存处理好的矩阵数据
dat11 <- read.csv(file="D:/single_cell project/PBMC_select2000_norm.csv")
#重新导入数据,查看数据类型是否对
#数据格式:行是细胞,列是基因
处理过程中一定要注意需要处理的数据对不对
各个阶段数据的格式对不对,行列各代表什么
总结
以上就是今天要讲的内容,本文仅仅简单介绍了Seurat的简单使用,而Seurat是R语言强大的包,提供了大量地处理单细胞数据的方法。