单细胞SCENIC分析原理和流程介绍

SCENIC官网:https://rawcdn.githack.com/aertslab/SCENIC/701cc7cc4ac762b91479b3bd2eaf5ad5661dd8c2/inst/doc/SCENIC_Setup.html

1. SCENIC简介

组织内细胞异质性的基础是细胞转录状态的差异,转录状态的特异性又是由转录因子主导的基因调控网络(GRNs)决定并维持稳定的。因此分析单细胞的GRNs有助于深入挖掘细胞异质性背后的生物学意义,并为疾病的诊断、治疗以及发育分化的研究提供有价值的线索。然而单细胞转录组数据具有背景噪音高、基因检出率低和表达矩阵稀疏性的特点,给传统统计学和生物信息学方法推断高质量的GRNs带来了挑战。Single-cell regulatory network inference and clustering (SCENIC)是一种专为单细胞数据开发的GRNs算法,它的创新之处在于引入了转录因子motif序列验证统计学方法推断的基因共表达网络,从而识别高可靠性的由转录因子主导的GRNs。

2. 输入

输入:SCENIC需要输入的是单细胞RNA-seq表达矩阵—— 每列对应于样品(细胞),每行对应一个基因。基因ID应该是gene-symbol并存储为rownames (尤其是基因名字部分是为了与RcisTarget数据库兼容);表达数据是Gene的reads count。根据作者的测试,提供原始的或Normalized UMI count,无论是否log转换,或使用TPM值,结果相差不大。(Overall, SCENIC is quite robust to this choice, we have applied SCENIC to datasets using raw (logged) UMI counts, normalized UMI counts, and TPM and they all provided reliable results (see Aibar et al. (2017)).)

另外,运行单细胞转录因子分析之SCENIC流程还需要下载配套数据库,不同物种不一样, 在 https://resources.aertslab.org/cistarget/ 查看自己的物种,按需下载:

#  https://resources.aertslab.org/cistarget/
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")
# dir.create("cisTarget_databases"); setwd("cisTarget_databases") # if needed
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
dbFiles
for(featherURL in dbFiles)
{
  download.file(featherURL, destfile=basename(featherURL)) # saved in current dir
  #  (1041.7 MB)
  # 
}

3. SCENIC分析流程

SCENIC主要包含三个步骤:

  • GENIE3(随机森林)/GRNBoost(Gradient Boosting):基于共表达情况鉴定每个TF的潜在靶点,推断转录因子与候选靶基因之间的共表达模块。每个模块包含一个转录因子及其靶基因。(R语言版SCENIC这一步用的随机森林的算法,Python版用的是Gradient Boosting算法,两种算法不太一样,但算出来的结果是类似的)
  • RcisTarget:由于GENIE3只是推断共表达,因此会有假阳性和间接targets。使用RcisTarget基于DNA-motif分析识别具有正确上游调控子且显著富集的motif(转录因子直接结合的motif),修剪掉缺乏motif支持的间接靶标。修剪后的每个TF和其潜在的直接作用的target genes被称为为一个regulon。(这一步是SCENIC和其他大多数共表达算法的重要区别)
  • AUCell:分析每个细胞的regulons活性并进行打分,打分的基础是基因的表达值。对于regulon来说,比较细胞间的AUCell得分可以鉴定出哪种细胞具有显著更高的regulon活性。打分值可以进一步转化为二进制regulon活性矩阵(binarized activity matrix),这将最大化细胞类型的差异,确定regulon在哪些细胞中处于“开放”状态。
In the SCENIC workflow, coexpression modules between TFs and candidate target genes are first inferred using GENIE3 or GRNBoost. RcisTarget then identifies modules for which the regulator’s binding motif is significantly enriched across the target genes and creates regulons with only direct targets. AUCell scores the activity of each regulon in each cell, thereby yielding a binarized activity matrix. The prediction of cell states is based on the shared activity of regulatory subnetworks.

3.1 上游分析

在分析前首先要对initializeScenic()进行设置,后续的分析基于这个设定。
1. runCorrelation()
共表达分析的结果中既有正向调控也有负向调控,GENIE3无法区分。因此需要相关性矩阵帮助筛选共表达模块中和TF正相关的基因。
2. runGenie3()
参考数据库找出输入基因中哪些是TF,计算每个TF和各个基因之间的相关性权重。权重其实也就是TF对gene表达量的贡献。
3. runSCENIC_1_coexNetwork2modules()
得到上面的TF和gene的权重矩阵以后,就可以生成以TF为核心的geneset。(比如TF1它可能对gene1、gene5、gene12...的预测都比较好,就可以得到以TF1为核心的geneset)。随后使用以下6种方法过滤掉低相关性的TF-genes共表达基因集,得到以TF为核心的共表达基因集。这一步运行得到的结果中包含了一列corr,是runCorrelation()得到的结果。1代表激活,-1代表抑制,0代表中性,SCENIC只会采用corr值为1的数据用于后续分析,以得到正调控共表达模块。

6种方法 含义
w001 以每个TF为核心保留weight>0.001的基因形成共表达模块;
w005 以每个TF为核心保留weight>0.005的基因形成共表达模块;
top50 以每个TF为核心保留weight值top50的基因形成共表达模块;
top5perTarget 每个基因保留weight值top5的TF得到精简的TF-Target关联表,然后把基因分配给TF构建共表达模块;
top10perTarget 每个基因保留weight值top10的TF得到精简的TF-Target关联表,然后把基因分配给TF构建共表达模块;
top50perTarget 每个基因保留weight值top50的TF得到精简的TF-Target关联表,然后把基因分配给TF构建共表达模块;

4. runSCENIC_2_createRegulons()
通过RcisTarget数据库对得到的共表达模块进行修剪。通俗的讲就是在计算出的TF-gene对中,结合数据库查看该gene上游序列是否存在该TF结合的motif。从而剔除TF非直接调控基因的共表达模块,保留Motif分析共表达模块内与TF有直接调控关系的基因,得到Regulon。(RcisTarget数据库中的数据目前只支持人,鼠,果蝇三个物种。)
5. runSCENIC_3_scoreCells()
每个Regulon就是一个转录因子及其直接调控靶基因的基因集,SCENIC接下来的工作就是对每个regulon在各个细胞中的活性评分,得到每个基因集在每个细胞的AUC score矩阵(AUC代表来与细胞内其他基因相比,特征基因中代表基因的比例及其相对表达值)。评分是基于recovery analysis,根据基因的表达值进行,分数越高代表基因集的激活程度越高。
6. runSCENIC_4_aucell_binarize()
对于细胞类型清晰的数据集而言,构建regulons并对其活性打分足够后续分析。但是,在很多情况下将评分转换为二进制的“开/关”(on|off),则既方便解释,又能最大化体现细胞类型的差异。将特定的regulon转换为“0/1”有利于探索和解释关键转录因子。将所有的regulons转换为“0/1”后创建二进制的活性矩阵,则可以用于细胞聚类,由于regulon是基于整体评分的,对消除技术偏倚如个别基因的dropout特别有用。AUCell会自动计算可能的阈值进行“0/1”转换,作者建议在转换之前手工检查并调整这些阈值。

⚠️在内存不足的情况下,可以使用抽样的方法,选取部分基因来得到Regulons,在runSCENIC_3_scoreCells()和runSCENIC_4_aucell_binarize()这两步时,再把表达矩阵替换成全部基因的表达矩阵来计算评分。

3.2 下游分析

三个方向:
1、降维聚类发现新亚群(cell type/state由转录调控网络的差异决定)
2、case-control之间的regulons差异分析
3、寻找cell type/state特异性的regulon/TF

延伸参考:
//www.greatytc.com/p/cd967c449177
https://cloud.tencent.com/developer/article/1692240

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容