Seurat处理与数据读取

时间:2025-02-09 15:18:20

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、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语言强大的包,提供了大量地处理单细胞数据的方法。