【SCENIC】Single Cell rEgulatory Network Inference and Clustering

SCENIC是一个用于单细胞数据分析的工具,专注于构建细胞类型特异性的调控网络并进行细胞聚类。它通过GENIE3或GRNBoost2推断共表达网络,使用RcisTarget分析转录因子结合位点,然后利用AUCell识别细胞中的活性基因集。SCENIC的输入是scRNA-seq表达矩阵,并依赖于特定物种的数据库。经过一系列步骤,包括网络构建和细胞状态评估,SCENIC能够帮助发现细胞亚型和转录调控签名。

前言:GRN究竟 可以被用来做什么?在bulk GSVA学习时我也有过类似的困惑。在官方文档中,多次强调用GRN AUC去cluster,且效果比单纯基于表达量的降维聚类方法好,SCENIC不是文章做到最后充数的高级分析,而是发现 cell type-specific GRN, 后续聚类发现亚型的利器。

SCENIC in R有两个教程,第一个主要是简介、安装与读入,第二个是pipeline。

SCENIC的输入文件比较简单,scRNA的表达矩阵,列名细胞,行名gene symbol。在数据格式的问题上,作者比较自信,无论raw count、Seurat标准化还是TPM标准化,得到的结果都robust。

SCENIC依赖于三个R包以进行四个步骤:

(1)GENIE3 infers the co-expression network (faster alternative: GRNBoost2).但引入了较多假阳性,需要交到第二步进一步验证筛选。

(2)RcisTarget for the analysis of transcription factor binding motifs.个人认为应R-cis-Target比较合适。

(3)AUCell to identify cells with active gene sets (gene network) in scRNA. 这个AUCell和Seurat里的某个功能、bulk里的GSVA很像,用gene set打分。

(4)根据AUCell结果进行细胞聚类

  • 安装包
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
BiocManager::version()
BiocManager::install(c("AUCell", "RcisTarget"))
BiocManager::install(c("GENIE3"))

BiocManager::install(c("zoo", "mixtools", "rbokeh"))
BiocManager::install(c("DT", "NMF", "ComplexHeatmap", "R2HTML", "Rtsne"))
BiocManager::install(c("doMC", "doRNG"))
if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")
devtools::install_github("aertslab/SCopeLoomR", build_vignettes = TRUE)

if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")
devtools::install_github("aertslab/SCENIC") 
packageVersion("SCENIC")
  • 下载物种特异性数据库
#人
dbFiles <- c("https://resources.aertslab.org/cistarget/databases/homo_sapiens/hg19/refseq_r45/mc9nr/gene_based/hg19-500bp-upstream-7species.mc9nr.feather",
"https://resources.aertslab.org/cistarget/databases/homo_sapiens/hg19/refseq_r45/mc9nr/gene_based/hg19-tss-centered-10kb-7species.mc9nr.feather")
# mc9nr: Motif collection version 9: 24k motifs

#mus musculus
dbFiles <- c("https://resources.aertslab.org/cistarget/databases/mus_musculus/mm9/refseq_r45/mc9nr/gene_based/mm9-500bp-upstream-7species.mc9nr.feather",
"https://resources.aertslab.org/cistarget/databases/mus_musculus/mm9/refseq_r45/mc9nr/gene_based/mm9-tss-centered-10kb-7species.mc9nr.feather")
# mc9nr: Motif collection version 9: 24k motifs
  • 输入数据格式

输入数据为表达矩阵,行名gene symbol

(1)从GEO数据库下载

###下载数据
if (!requireNamespace("GEOquery", quietly = TRUE)) BiocManager::install("GEOquery")
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)

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)
rownames(exprMatrix) <- geneNames
exprMatrix <- exprMatrix[unique(rownames(exprMatrix)),]
exprMatrix[1:5,1:4]

# Remove file downloaded:
file.remove(txtFile)

###细胞分组信息,直接包内下载省事
cellLabels <- paste(file.path(system.file('examples', package='AUCell')), "mouseBrain_cellLabels.tsv", sep="/")
cellLabels <- read.table(cellLabels, row.names=1, header=TRUE, sep="\t")
cellIn
SCENICSingle-Cell rEgulatory Network Inference and Clustering)是用于从单细胞RNA测序(scRNA-seq)数据中推断基因调控网络(GRNs)和鉴定细胞类型特异性转录因子(TF)活性的工具,在R语言中有广泛应用。 ### 应用 SCENIC主要用于分析单细胞RNA测序数据,推断基因调控网络和鉴定细胞类型特异性转录因子活性。通过分析基因表达数据,SCENIC可以帮助研究人员了解细胞内的基因调控机制,揭示细胞类型和细胞状态的差异,对于理解细胞分化、发育和疾病发生机制等方面具有重要意义。 ### 使用方法 1. **安装SCENIC包**:在安装SCENIC之前,需要确保已经安装了R和RStudio,然后通过以下命令安装SCENIC包: ```R install.packages("BiocManager") BiocManager::install("SCENIC") ``` 此步骤在SCENIC框架使用教程和SCENIC项目使用教程中均有提及[^1][^2]。 2. **加载SCENIC包**:安装完成后,使用以下命令加载SCENIC包: ```R library(SCENIC) ``` 3. **准备数据**:以示例代码为例,设置工作目录,加载必要的包,读取单细胞RNA测序数据并创建Seurat对象: ```R setwd("D:/R/project/project1") library('Matrix') #BiocManager::install("Seurat") #install.packages("sp") library("Seurat") rm(list = ls()) dir="D:/R/project/project1/scRNA_dataset/阶段性红细胞为人类红细胞生成/GSE214810_RAW/" list.files(dir) counts <- Read10X(data.dir = dir) scRNA <- CreateSeuratObject(counts = counts) ``` 此步骤参考了SCENIC分析(四)中的代码示例[^3]。 4. **运行SCENIC**:后续可按照SCENIC的标准流程进行分析,包括基因调控网络推断、转录因子活性计算等,但具体代码在给定引用中未完整呈现。 ### 可能遇到的问题 在使用过程中可能会遇到报错,例如在计算AUC时可能出现如下报错: ``` Using 10 cores. Warning in .AUCell_calcAUC(geneSets = geneSets, rankings = rankings, nCores = nCores, : Using only the first 58.99 genes (aucMaxRank) to calculate the AUC. Error in .AUCell_calcAUC(geneSets = geneSets, rankings = rankings, nCores = nCores, : Valid 'mctype': 'snow' or 'doMC' ``` 这在R语言学习小记之SCENIC中有相关记录[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值