system: [SYSTEM]

user: 2. 方法 2.1. 单样本个性化网络 传统探测临界点方法均利用多个实验样本以提供多组实验基因，继而能够计算实验组中基因与基因之间相关性，探测的是一个普遍性临界点。而2016年有研究提出了构建基于个人特异性的网络方法 [ 8 ] 。其个人特异性网络的构建方法(图1(A))： 取出N个正常人的样本，不妨假设其中与探测疾病可能相关的基因对共有m对，计算每对基因之间的皮尔逊相关系数(Pearson Correlation Coefficient，下文均用PCC代替)，得到m个PCC值，不妨按一定顺序命名为 P C C _ r e f i ， i = 1 ， 2 ， ⋯ ， m 。 将特定个人(实验样本)的基因组加入N个正常人样本中，即共N + 1个样本，这时重新计算每两个基因之间的PCC，不妨记为 P C C _ i n d i ， i = 1 ， 2 ， ⋯ ， m 。计算 Δ P C C i = P C C _ r e f i − P C C _ i n d i 。 每一对基因之间的均可计算∆PCC，这就组成了单样本的个性化网络，并且当n较大时，∆PCC符合以下分布： μ Δ P C C i = 0 ， σ Δ P C C i = 1 N − 1 ( 1 − P C C i 2 ) (1) 通过z检验之后，得到z值： z i = Δ P C C i ( 1 − P C C i ) / ( n − 1 ) (2) 那么此时 z i 符合正态分布。 但实际上生物数据中通常样本量极少，所以z并非正态分布，而∆PCC是服从火山分布 [ 8 ] ，而该种分布只知道与n相关，无法写出表达式。 2.2. 隐马尔科夫模型 其正常无差异的基因对的∆PCC应服从“火山分布”。“火山分布”在n较大时，根据文章中的测试：n > 50能够通过Kolmogorov-Smirnov测试，以证明火山分布与标准正态分布是相似的。但其在n较小时，并无一个表达式或是一个相似的分布，而只能确定其与n相关。而在n较小时，利用z-test或是t-test进行显著性检验，显然也是不合理的。 但在确定n之后，在同一的状态下，其∆PCC是符合一定的分布。但当状态发生改变时，根据复杂疾病临界点的理论，在同一组中的基因对的PCC变为趋于1，为组内基因与组外基因的PCC则变为趋于0。换一句话说，当状态从疾病发生前转变到疾病过渡期时，与疾病相关的基因对的PCC值与正常状态下的PCC值发生显著性变化，其∆PCC不再服从上一时刻中的分布。故利用隐马尔科夫模型，即可通过训练得到疾病发生前的∆PCC的分布，进而计算下一个时刻已知观测情况下，其为疾病发生前、疾病过渡期的概率。 我们将疾病发生前、疾病过渡期、疾病爆发期作为隐马尔科夫模型中无法直接观测到的三个状态，但由于我们研究的仅仅是探测疾病过渡期，故实际仅考虑疾病发生前、疾病过渡期，隐马尔科夫模型变量设定如表1。 Table 1 Variable setting of hidden Markov mode 变量意义 w 1 ， w 2 ， w 3 隐藏状态，分别代表疾病发生前、疾病过渡期、疾病爆发期。 a i j ， i = 1 ， 2 ， 3 ; j = 1 ， 2 ， 3 状态转移矩阵，代表从状态j到状态i的概率。 b j k ( t ) ， j = 1 ， 2 ， 3 ， 4 ， 5 ; k = 1 ， 2 ， 3 由于隐马尔科夫模型中仅能使用离散变量作为观测序列。 这里将∆PCC均匀切分为等长的5份，依次标序1，2，3，4，5。 这里 b j k ( t ) 代表状态k下观测到j的概率。 θ t = ( A ， B ， π ) t时刻及其以前所有训练所得模型。 O t = { o 1 ， o 2 ， ⋯ ， o t } t时刻及其以前的所有观测序列。 o t t时刻的观测序列， o t = { Δ p c c 1 ， Δ p c c 2 ， ⋯ ， Δ p c c l } ，l为基因对对数。 表1. 隐马尔科夫模型变量设定 那么，当我们探测临界点T时，T满足以下条件：(1) T − 1时刻为状态 w 1 ，(2) T时刻进入到状态 w 2 。即求得T，使得t = T时，公式(3)达到最大 P ( t ) = P t ( s t = w 2 | s t − 1 = w 1 ， s t − 2 = w 1 ， ⋯ ， s 1 = w 1 ， θ t − 1 ， O ) (3) 研究中，由于不考虑状态w 3 的情况，并且三种状态是有序发生的，所以有 I ( t ) = 1 − P t ( s t = w 1 | s t − 1 = w 1 ， s t − 2 = w 1 ， ⋯ ， s 1 = w 1 ， θ t − 1 ， O ) (4) 由于t时刻的状态跳转仅与t − 1时刻状态有关，所以(4)可以写为： I ( t ) = 1 − P t ( s t = w 1 | s t − 1 = w 1 ， θ t − 1 ， O ) = 1 − P t ( s t = w 1 ， s t − 1 = w 1 | θ t − 1 ， O ) P t ( s t − 1 = w 1 | θ t − 1 ， O ) (5) 并以此判定t时刻是否是临界点T，记I(t)为个体特异性异常指标，当指标越大，则说明此时样本发生状态跳转的可能性越大，反之则为样本发生状态跳转的可能性越小。结合复杂疾病临界点理论，则该指标在疾病过渡期会发生突增。 2.3. 算法设计 步骤一：取 N reference 个正常人样本，计算与疾病相关的所有基因对之间的PCC，记为 P C C i * ， i = 1 ， 2 ， ⋯ ， m ，其中m是相关基因对数量。 步骤二：记实验样本总数为 N case ，对每一个实验样本分别进行以下操作：结合 N reference 个正常人样本，形成共 N reference + 1 个样本，对时间T − 1以前的所有基因对，求其PCC，并计算 | Δ p c c i j ( t ) | ，其中 j = 1 ， 2 ， ⋯ ， N case 。记对照组样本数共 N control ，对所有对照样本做相同的处理，得 | Δ p c c i j ( t ) | ， j = 1 ， 2 ， ⋯ ， N control ，并对各个 | Δ p c c | 进行分组。 步骤三：以T − 1时刻以前的这些基因对(不分对照组或实验组)作为训练样本，以其 o j t = { Δ p c c 1 j ( t ) ， Δ p c c 2 j ( t ) ， ⋯ ， Δ p c c m j ( t ) } ， j = 1 ， 2 ， ⋯ ， N case + N control 作为观测序列，并认为这些样本均处于 w 1 状态。得到T − 1时刻的隐马尔科夫模型 θ T − 1 (图1(B))。 步骤四：对第j个实验样本， j = 1 ， 2 ， ⋯ ， N case ，分别进行以下操作：用训练得到的 θ T − 1 ，计算实验组在T时刻观测序列为 o j T 不一致性指标： I j ( T ) = 1 − P t ( s t = w 1 ， s t − 1 = w 1 | θ t − 1 ， o j T ) P t ( s t − 1 = w 1 | θ t − 1 ， o j T ) (6) 另一方面，对对照组实验样本j 2 ， j 2 = 1 ， 2 ， ⋯ ， N control ，计算对照组在T时刻观测序列 o j T 下的不一致性指标： J j ( T ) = 1 − P t ( s t = w 1 ， s t − 1 = w 1 | θ t − 1 ， o j T ) P t ( s t − 1 = w 1 | θ t − 1 ， o j T ) (7) 步骤五：计算 I * ( T ) = 1 N case ∑ j = 1 N case I j ( T ) − 1 N control ∑ j = 1 N control J j ( T ) ，以此作为个体特异性异常指标。如果 I * ( T ) 发生急剧上升的话，则认为T为临界点。否则进入下一个时间点，回到步骤二。其每一个时间点所有样本的 I j ( T ) 或 J j ( T ) 做成箱型图，将个体特异性异常指标连接得到图1(C)。 图1. 利用隐马尔科夫模型构建个体特异性异常指标并探测临界点方法概述