10X单细胞(10X空间转录组)基因调控网络分析之Pando

hello,又是新的一周,我们又要开始分享一些前言的内容了,大家一定要与时俱进,不要裹足不前。

今天的内容是分析单细胞或者空间转录组数据的调控网络分析,这个方法需要用到scRNA和scATAC的数据进行联合分析,非常给力,我们来看看简介。

Pando 利用多模式单细胞测量,使用灵活的建模框架来推断基因调控网络 (GRN)。 通过模拟 TF 结合位点对与靶基因表达之间的关系,Pando 同时推断每个转录因子的基因模块和调控区域集。其实关于基因调控网络,有很多的分析方法,但是,哪一个最好,目前没有定论,但是前沿的方法肯定在现有方法的基础上添加了一些合理的部分,值得借鉴。
细胞的命运和状态是通过转录因子 (TF) 的复杂回路来调节的,这些回路会聚在调控元件上,从而能够精确控制基因表达。 现代单细胞基因组方法允许同时分析单个细胞中的基因表达和染色质可及性,这为基因调控网络 (GRN) 的推断开辟了新的机会。
许多现代 GRN 推理方法背后的统一思想是将每个基因的表达建模为 TF 丰度的函数。 该模型的权重或系数可以解释为 TF 和靶基因之间调节相互作用的度量。 额外的 (epi-) 基因组信息(例如预测的 TF 结合位点)通常用于约束或改进模型。
Pando 试图通过将 TF 绑定信息直接合并到模型中来推广GRN概念,以利用现代单细胞技术的多模态特性。 通过利用联合测量或整合的 scRNA-seq 和 scATAC-seq 数据,Pando 基于 TF 表达与其假定结合位点的可及性之间的相互作用对基因的表达进行建模。 通过提供多种不同的预处理和建模选择,Pando 努力成为用于单细胞 GRN 推理的模块化且灵活的框架 (看来ATAC的数据也很重要)。
当然,涉及到很深的算法知识,大家可以参考文章Inferring and perturbing cell fate regulomes in human cerebral organoids
图片.png
  • 注:Gene expression and chromatin accessibility dynamics during early human cerebral organoid development

来吧,启动我们的GRN分析

# Load Packages
library(Pando)
library(Seurat)
library(BSgenome.Hsapiens.UCSC.hg38)
Pando 直接与 Seurat 对象交互,并与 Seurat 和 Signac 工作流程很好地集成。 要使用 Pando,您需要一个带有两种检测的 Seurat 对象,一种具有 scRNA-seq 转录物计数,另一种具有 scATAC-seq 峰值可访问性。 准备好这个对象(我们称之为 seurat_object)后,您可以通过使用函数initial_grn() 初始化GRN 开始:
seurat_object <- initiate_grn(seurat_object)
这将在 Seurat 对象内创建一个 RegulatoryNetwork 对象并选择candidate regulatory regions。 默认情况下,Pando 会将所有峰值视为推定的调节区域,但可以通过在区域参数中提供 GenomicRanges 对象来限制候选区域集。 Pando 附带一组保守区域 (phastConsElements20Mammals.UCSC.hg38) 以及来自 ENCODE (SCREEN.ccRE.UCSC.hg38) 的人类基因组 (hg38) 的预测调控元件,可在此处使用。 (当然,这个地方我们可以人为指定)。

查找TF因子绑定位点

一旦 RegulatoryNetwork 对象用candidate regulatory regions启动,我们就可以使用函数 find_motifs() 扫描这些区域中的 TF 结合基序
library(BSgenome.Hsapiens.UCSC.hg38)
data(motifs)

seurat_object <- find_motifs(
    seurat_object,
    pfm = motifs,
    genome = BSgenome.Hsapiens.UCSC.hg38
)
这使用motifmatchr 将TF 与其假定的结合位点配对。 Pando 提供了一个从 JASPAR 和 CIS-BP 编译的自定义主题数据库(motifs),但原则上可以在此处提供任何 PFMatrixList 对象。 可以在motif_tfs参数中提供具有motif-to-TF分配的数据框.

推断基因调控网络

通过拟合每个基因表达的回归模型来推断 GRN。 在 Pando 中,这可以通过使用函数 infer_grn() 来完成:
seurat_object <- infer_grn(
    seurat_object,
    peak_to_gene_method = 'Signac',
    method = 'glm'
)
在这里,我们首先选择基因附近的区域,或者简单地考虑基因上游和/或下游的距离(peak_to_gene_method='Signac'),或者还考虑重叠的调控区域,就像 GREAT 所做的那样(peak_to_gene_method='GREAT')。
还可以使用 method 参数在许多不同的模型之间进行选择,例如 GLM ('glm') 正则化 GLM ('glmnet'、'cv.glmnet') 或贝叶斯回归模型 ('brms')。 还致力于将梯度提升回归与 GRNBoost/SCENIC 使用的 XGBoost 集成。
模型拟合好后,可以检查模型系数
coef(seurat_object)

模块提取

基于模型系数,我们可以构建 TF 和目标基因之间的网络。 这可以进一步总结为构建具有每个 TF 的目标基因和调控区域集的基因和调控模块。 在 Pando 中,使用
seurat_object <- find_modules(seurat_object)
To access the extracted modules, you can use the function NetworkModules():
modules <- NetworkModules(seurat_object)
modules@meta
modules@features
图片.png
图片.png
其实关于基因调控网络的很多分析,我认为都应该先基于对TF调控基因的相对确认,而不是逆推的gene set(scenic的做法),不知道大家怎么看

生活很好,有你更好

你可能感兴趣的:(10X单细胞(10X空间转录组)基因调控网络分析之Pando)