CARNIVAL包的介绍(根据生信技能树Jimmy老师分享的R包资料整理,感谢Jimmy老师!)
亮点:网络推理——来自表达和先验知识的因果推理
基因表达的变化通常是上游失调的间接后果,了解导致它的原因通常很重要。由海德堡和亚琛的一组研究人员开发了CARNIVAL来推断基因表达蛋白质上游因果网络。
在第一步中,从基因表达中推断出失调的转录因子。随后,算法通过使用ILP(integer linear programming,整数线性规划)得到的已知蛋白质相互作用来找到其上调或下调的解释。可以提供已知的干扰目标。这种对不同先前知识来源的整合能够得到比其他方法更高的性能,并且能够在IgA肾病的案例研究中识别关键通路和蛋白质,包括TGFβ信号和β-Catenin。总体而言,CARNIVAL可能为了解疾病和治疗的因果机制提供线索。
期刊: npj Systems Biology and Applications
论文:From expression footprints to causal pathways: contextualizing large signaling networks with CARNIVAL
Github link: https://github.com/saezlab/CARNIVAL
Bioconductor link: https://www.bioconductor.org/packages/release/bioc/html/CARNIVAL.html
1. 介绍
CARNIVAL是一种从下游基因表达(gene expression,GEX)鉴定上游定位信号通路的方法。
1.1 CARNIVAL的目的和应用
1、CARNIVAL方法的目的是识别来自先验知识网络的相互作用的子集,这些相互作用代表了潜在的调节途径,将已知或潜在的干扰靶标与来自GEX数据的活性转录因子联系起来。与原始版本相比,该方法包括许多改进的功能,并由以下过程组成:
①转录因子(TFs)活性和基因表达的通路评分可以分别使用我们的内部工具DoRothEA和PROGENy进行推断。
②使用TFs的活性和有符号的有向蛋白质相互作用网络(无论有没有提供的干扰目标和通路评分),推导出一系列线性约束以生成整数线性规划(integer linear programming,ILP)问题。
③随后应用 ILP 求解 (IBM ILOG CPLEX) 来识别子网拓扑,同时将拟合误差和模型大小降至最低。
2、CARNIVAL的应用:通过破译主要信号通路的改变以及替代通路和脱靶效应,来鉴定药物的作用模式和疾病中的解除管制过程(即使分子靶标仍然未知)。
1.2 CARNIVAL的两个途径
CARNIVAL通过在连续尺度上结合TF和通路活性来完善ILP问题的定量目标函数。此外,CARNIVAL框架允许我们在有或没有已知干扰目标的情况下将网络contextualize化。
该实现分为两个途径,称为标准CARNIVAL,(Standard CARNIVAL,StdCARNIVAL)(以已知的干扰目标作为输入)和逆CARNIVAL(Inverse CARNIVAL,InvCARNIVAL)(没有关于干扰目标的信息)。使用DoRothEA通过差异基因表达推断转录因子(TF)活性,随后将其离散化以形成ILP约束。因此,CARNIVAL衍生出一系列得分最高的网络,最能解释推断出的TF活性。在目标函数中可以额外考虑连续通路和TF活性。
1.3 CARNIVAL的输入和输出
1、CARNIVAL的输入包括:
①先验知识网络(prior knowledge network,PKN):信号蛋白之间有符号和有向相互作用的列表。(必有)
②使用DoRothEA可以从GEX数据中推断出的转录因子活性。(必有)
③干扰(药物,疾病等)靶标列表,无论是否对信号蛋白有影响。(可选)
④使用 PROGENy 从 GEX 数据中推断的表示信号通路活性的通路评分。(可选)
2、CARNIVAL的输出包括:所提供实验数据的识别网络列表,以及网络中信号蛋白的预测活性,无论它们是上调还是下调。
2. 运行
2.1 示例、函数和数据说明
1、在CARNIVAL包中,内置示例可作为测试用例提供,如下所示:
①一个已知干扰的示例(标准CARNIVAL示例)。
②一个未知干扰的示例(Inverse CARNIVAL示例)。
③运行generateLPFileCarnival 和 runCarnivalFromLp两个函数的示例(标准CARNIVAL示例)。
2、CARNIVAL包的函数:
runVanillaCarnival 用于运行具有一个函数的标准CARNIVAL,而 runInverseCarnival 运行逆CARNIVAL(无输入)。generateLPFileCarnival 和 runCarnivalFromLp 函数协同工作,例如,允许用户在不完整运行的情况下获取 LPFile,或者从其他源创建 LPFile 并使用它运行 CARNIVAL 。
3、这些示例的数据如下所示:
①两个输入节点 I1 和 I2 分别连接到节点 N1 和 N2。
②N1 和 N2 连接到测量的节点 M1 和 M2。
③I2 至 N2 旁边的所有连接均为活性的。
# 从bioconductor上安装
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("CARNIVAL")
# 或者从GitHub上安装最新版本
# install.packages("devtools")
devtools::install_git