最近几年,网络科学在各种背景下在被广泛使用,包括分子和细胞生物学、社会科学、 信息科学、数据挖掘等. 网络可以高效的表示变量之间的相互依存关系[1]. 基因调控网络是由一组基因、蛋白质、小分子以及它们之间 的相互调控作用所构成的一种生化网络. 网络中,节点代表基因, 两个节点间的连边表示这两个基因在物理或功能上具有某种相关性[2]. 这种相关性通常用基因表达水平的相关系数来预测,但是节点间相关性的传递会 产生一些间接的相互作用,并且随着网络的结构不断增大,节点之间的二阶传递、 三阶传递或更高阶转递作用导致了更多间接边的产生. 传统测量方法比如皮尔逊相关系数、 斯皮尔曼相关系数、互信息等并不能区分这种非直接的相互作用[3, 4, 5], 所以我们需要研究出一种方法能够从生物实验数据中推断出基因调控的真实网络结构. 目前已经有一些方法被用来推断网络中的直接作用关系. 例如,利用矩阵特征分解和 无限级数求和的方法预测网络中真实存在的相关关系[3], 或者是利用具有全局概念的概率转移矩阵方法消除网络中的间接相关关系[4]. 然而这些方法都具有一定的缺陷性. 基因之间的相互作用往往具有局部的特性, 所以考虑全局特性会导致误差增大和结果不可信,并且这些方法都涉及矩阵求逆, 因而会有矩阵不可逆的问题和时间复杂度相对较高的问题存在. 这些缺陷在一定 程度上限制了方法的应用.
本文在分析了基因相互作用性质之后,提出了从基因表达相关性数据中推断直 接调控关系的模型. 模型假设成对基因的调控作用由他们之间的一阶传递、 二阶传递和三阶传递作用的加权平均和决定,而认为更高阶传递作用的影响较为微弱 且有产生间接相互作用的较高可能性,因而可以将其忽略不予考虑. 本文模型中还考 虑了基因调控网络的稀疏性[6],即一个基因通常只与一个或少数几个基因发生相互作用, 所以在模型中加入了控制基因调控网络稀疏性的调控因子,以更符合现有的生物现象. 将模型应用到文献[4]中 DREAM5 的大肠杆菌数据集 中得到了较好的结果, 从而证明了模型能提高基因调控网络中边的预测能力.
基因之间调控网络矩阵分为观察矩阵 G=[Gij] 和直接矩阵 S=[Sij]. Gij 表示矩阵中节点 i 和节点 j 之间的相关性,包含直接相关性和间接相关性, Sij 表示节点 i 和节点 j 之间的直接相关性. ‖⋅‖F 表示矩阵的 F 范数[7],‖⋅‖l1 表示矩阵的 l1 范数[8],λ 为稀疏调节参数, α1、 α2、 α3 为模型权重参数.
图 1 给出了模型的理论框架图. 图中节点 1 和节点 2、节点 2 和节点 3 之间均有很强的相互作用,那么根据相关系数计算得到的观察矩阵 G 中节点 1 和节点 3 有相关性的可能性就很大,所以 G 中节点 1 和节点 3 之间有一条连边, 但是事实上他们之间没有直接相互作用. 在节点 2 和节点 3 之间的相互作用关系中, 2→3 为一阶相互作用,2→4→3 为二阶相互作用,2→4→5→3 为三阶相互作用. 我们认为这三种传递关系的影响并不一定是相等的,所以我们在模型中给不同 的传递关系加上了权重因子 α1、 α2、 α3. 消除观察矩阵 G 中所有非直接的边就可以得到直接矩阵 S. 本文模型假设成对基因的调控作用由他们之间的一阶传递、 二阶传递和三阶传递作用的加权平均和决定,而认为更高阶传递作用的影响较 为微弱且有产生间接相互作用的较高可能性,因而可以将其忽略不予考虑. 另外,模型利用直接矩阵 S 的 l1 范数来控制网络的稀疏性, 并且加上了控制参数 λ. 如果已知直接相关矩阵 S, 那么基于马尔科夫链[9]概率转移的性质,我们可以用直接矩阵 S 的前三阶传递作用的加权平均和构造 G 的近似模型. 相反的, 如果已知观察矩阵 G,我们可以设计一个迭代算法求出直接矩阵 S 的最优值,S 即为我们的得到的基因调控的真实网络.
传递作用
G=S+S2+S3+⋯≅α1S+α2S2+α3S3.
模型
minα1,α2,α3,S‖G−3∑k=1αkSk‖2F+λ‖S‖l1.
因为矩阵 S 中的元素和参数 α1、 α2、 α3 均要求为非负的,所以我们在求解模型时增加了控制非负性的矩阵 Φ=[Φij] 和向量 β=[β1β2β3],其中 Φij 控制 Sij⩾0,β 用来限制权重向量 α 的元素都不小于 0. 加上控制项之后,模型的目标函数为
模型计算时,矩阵 S 的更新公式为
其中 ˜G=3∑k=1αkSk. 在公式的右边,矩阵 S 与后一项的乘积是点乘,表示矩阵对应元素相乘,最后一项中除法为点除, 表示矩阵对应元素相除. α1、 α2、 α3 的迭代更新公式为
(1) 确定常数 λ 取值,初始化变量 S=G,α=α0;
(2) 第 i 步迭代,计算 Li=‖G−3∑k=1αkSki‖2F+λ‖Si‖l1;
(3) 第 i+1 步,根据迭代更新公式更新 Si 为 Si+1, αi 为 αi+1 直到达到停止准则;
(4) 计算 Li+1=‖G−3∑k=1αkSki+1‖2F+λ‖Si+1‖l1;
(5) 计算 odd=|Li−Li+1|Li,直到达到停止准则.
为了提高运算效率又不丧失结果精度,我们在用迭代更新公式更新矩阵 S 和向量 α 时,限制最大迭代次数为 50,容忍阈值为 0.01. 当累计迭代次数达 50 次或连续两次目标函数的变化率小于 0.01 时,迭代就停止.
步骤 1 计算目标函数关于矩阵 S 的梯度
根据 KKT 条件[10],ΦS=0,可以得到以下关于 S 的方程
然后很容易得到如下的更新准则[11]
在实际操作中,变换为以下的更新准则计算速度更快
步骤 2 计算目标函数关于 α1、 α2、 α3 的梯度
同样可以得到 α1、 α2、 α3 的迭代更新公式
我们将模型应用到文献[4]中 DREAM5 的大肠杆菌数据集 中.大肠杆菌数据集 包含有 4511 个基因在 805 组不同的试验条件下的表达水平,并且给出了 141 个转录因子. 在建模分析时为了和 DREAM5 的协议保持一致,我们并不必要构建全部 4511×4511 的相关性矩阵,只需要构建 141 个转录因子和 4511 个目标基因之间的 141×4511 的相关性矩阵. 最后我们将其余所有节点的对角线元素设定为 1 得到方阵 G. 我们构建观察矩阵 G,分别基于在网络边的预测中常用的三种方法: (1) Pearson correlations[12]; (2) Spearman rank correlations[13]; (3) Mutual information[14]. 模型中不区分正相关性和负相关性, 即矩阵 G 中的元素取为其对应基因表达量的相关系数的绝对值.
(1) Pearson correlations : 我们定义 M=[Mni],Mni 代表第 i=1,⋯,4511 个基因在第 n=1,⋯,805 组试验条件下的表达水平, Mi 为表达矩阵 M 的第 i 列. 对每一个转录因子 j, 我们可以计算其与目标基因 i 之间的 Pearson correlations
(2) Spearman rank correlation: 我们将表达水平向量 Mi 和 Mj 按次序编号, 转化等级变量 mi 和 mj,那么转录因子与目标基因之间的 Spearman rank correlations 就为等级变量 mi 和 mj 的 Pearson correlations.
(3) Mutual information: Mi 和 Mj 之间的互信息定义为
我们应用模型到观察矩阵 G 得到对应的直接矩阵 S ,然后比较观察矩阵 G 和相应直接矩阵 S 的预测效果. 为了证实我们的预测,我们的比对标准是 DREAM5 中给出的基因相互作用标准对照表,它包括 2066 个已经被验证确定 存在的基因调控相互作用对. 网络中 141 个转录因子和 4511 个目标基因之间总共有 141×511=636, 051条可能的边,将这些边按概率大小降序排列并取其中前 n (n 通常取值 100,000)条边(参见文献[4]),得到 LG 和 LS, 分别代表矩阵 G 和 S 对网络中边的预测. 为了定量评估网 络构建的准确性,我们使用真阳率(TPR) 和假阳率(FPR) 作为评价指标. 为此首先需要计算以下 2 个值.
(1) 真阳性 TP (true positive): 构建的网络中正确的边数.
(2) 假阳性 FP (false positive): 构建的网络中错误的边数.
AUROC曲线[15]: 我们定义真阳率为
其中 TP(n) 代表 LG 和 LS 中预测正确的边数,P 是标准比对表中正确的边数. 类似的,定义假阳率为
其中 FP(n) 代表 LG 和 LS 中预测错误的边数,Q 是标准比对表中错误的边数. AUROC 值即为 AUROC 曲线与 X 轴围成区域的面积. AUROC 值越高说明预测效果越好.
为了得到模型的全局最优解,避免结果陷入局部最小值,我们用两种方法来求解模型, 然后比较这两种方法的结果,选取最高的 AUROC 值对应的参数 α 和 λ 为模型的最优参数值. 第一种方法是固定 λ 的值,分别取 λ 为0、 0.0001、 0.001、 0.005、 0.01、 0.05、 0.1、 0.5、 10 这 9 个值, 取初值 α0=[0.3333 0.3333 0.3333]. 然后求出 9 组相对应的 α 和 λ 的值,最后取最高的 AUROC 值对应的参数 α 和 λ 为模型的最优参数值. 第二种方法是分别固定 α 为 [0.95 0.05 0]、 [0.85 0.1 0.05]、 [0.75 0.25 0]、 [0.75 0.15 0.1]、 [0.65 0.35 0]、 [0.65 0.25 0.1]、 [0.55 0.45 0]、 [0.5 0.5 0]这 8 个向量,然后求出最高的 AUROC 值对应的 α 和 λ 为模型的最优参数值.
通过计算我们发现,皮尔逊相关系数提高了 0.5995−0.59350.5935−0.5=6.42%, 斯皮尔曼相关系数提高了 0.5895−0.58450.584−0.5=5.92%,互信息提高了 0.6064−0.59730.5973−0.5=9.35%. 如下表所示.
对 Pearson 相关系数,第一种方法的计算结果如下表.
从表 2 中我们发现第一种方法得到的结果都不理想,于是再按第二种方法计算. 实验结果发现当 λ=0, α=[0.95 0.05 0] 时 AUROC 的值达到最高 0.5995.
对 Spearman 相关系数,第一种方法的计算结果如下表.
并且按第二种方法将固定 α 取值之后,得到的结果都没有上述表格中当 λ 的值取 0.005、α=[0.96 0.03 0.01]时的结果好.
对 Mutual 相关系数,第一种方法的计算结果如下表.
从表 4 中我们发现第一种方法的最优值为 λ=0.001,AUROC=0.6059. 我们再按第二种方法进行计算. 实验结果发现当 λ=0.0001, α=[0.55 0.45 0] 时 AUROC 的值达到最高为 0.6064.
我们证明了本文的算法对基因调控网络是有效的,其时间复杂度[16]远小于 n3, 并且不需要对网络的拓扑结构作任何假设,也没有用到任何专业领域的知识, 所以这个方法具有一定的普适性. 算法通过消除网络中间接作用的影响, 把原始的相关性数据转化为更能反映基因之间相互作用的直接矩阵 S. 因此,本文中的算法可以提高各类观测网络的预测能力,消除传递作用 产生的间接影响力. 此外,本文提出的算法有几个优于其他网络推断方法的特点. 第一点,我们不要求模型中矩阵 G 是可逆的,而且在对模型的目标函数求梯度的 过程中没有使用任何近似处理,计算结果非常可信. 第二点,我们在模型中添加了优化网络 S 的稀疏性参数,使得迭代得到的直接网络 S 更符合生物网络现象, 即一个基因通常只和少数几个基因之间有相互作用关系. 本文的模型有一个主要缺陷: 算法的目标函数不是凸函数[17],这样得到的解经常是局部极小解. 为了避免迭代结果是一个局部最小解,建议多次重复整个计算,然后选择目标函数值最小的结果.