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")

你可能感兴趣的:(R包SCENIC:input数据准备)