R包SCENIC:input数据准备
sample dataset:下载Single-cell analysis of mouse cortex或者GEO数据库下载GSE60361数据集
这一矩阵是以UMI作为表达量单位
#根据需要构建目录;设置工作目录;
dir.create("SCENIC_MouseBrain"); setwd("SCENIC_MouseBrain")
#加载GEOquery;下载GEO数据集
library(GEOquery)
geoFile <- getGEOSuppFiles("GSE60361", makeDirectory=FALSE)
gzFile <- grep("Expression", basename(rownames(geoFile)), value=TRUE)
txtFile <- gsub(".gz", "", gzFile)
gunzip(gzFile, destname=txtFile, remove=TRUE)
#加载R包data.table,读取textFile数据
library(data.table)
geoData <- fread(txtFile, sep="\t")
geneNames <- unname(unlist(geoData[,1, with=FALSE]))
#换为矩阵
exprMatrix <- as.matrix(geoData[,-1, with=FALSE])
rm(geoData)
dim(exprMatrix)
#矩阵的行名为geoData的基因名
rownames(exprMatrix) <- geneNames
exprMatrix[1:5,1:4]
# 移除下载数据txtFile
file.remove(txtFile)
加载celltype的数据:
cellLabels <- paste(file.path(system.file('examples', package='AUCell')), "mouseBrain_cellLabels.tsv", sep="/")
cellLabels <- read.table(cellLabels, row.names=1, header=TRUE, sep="\t")
cellLabels <- as.data.frame(cellLabels)
colnames(cellLabels) <- "CellType"
将上述的数据集merge成SCE object
#转为稀疏矩阵
exprMatrix <- exprMatrix[unique(rownames(exprMatrix)),] #移除重复基因名
dim(exprMatrix)
#加载R包SingleCellExperiment
library(SingleCellExperiment)
#创建SCEobject
sceMouseBrain <- SingleCellExperiment(assays = list(counts = exprMatrix),
colData=data.frame(cellLabels[colnames(exprMatrix),, drop=FALSE]))
#列名为cellLabels(细胞类型celltype)
#保存为.rds格式到相应目录
setwd("SCENIC_MouseBrain")
dir.create("data")
saveRDS(sceMouseBrain, file="data/sceMouseBrain.Rds")