1.半局部社交信息miRNA-疾病关联性预测方法,其特征在于包括如下步骤:步骤1.数据预处理
1-1.获取数据集中疾病相似性矩阵SD,miRNA相似矩阵SR和miRNA-疾病关联矩阵A;疾病相似性矩阵SD包含不同疾病的相似性信息,SD(d(i),d(j))代表疾病d(i)和疾病d(i)的相似度;miRNA相似矩阵SR包含各种miRNA的相似性信息,SR(m(i),m(j))表示miRNA m(i)和m(j)之间的相似性;miRNA疾病关联矩阵A包含疾病与miRNA之间已知关联,若A(d(i),m(j))取值为1,则认为疾病d(i)与miRNA m(j)存在关联且关联已通过实验证实;如果A(d(i),m(j))取值为0,则疾病d(i)与miRNA m(j)之间的关联尚未在实验和临床上得到证实;
1-2.对疾病相似性矩阵SD和miRNA相似矩阵SR应用高斯相互作用内核相似度方法,对原本疾病相似性矩阵SD和miRNA相似矩阵SR中空缺的位置进行补齐,得到新的疾病相似性矩阵SD和miRNA相似矩阵SR;
步骤2.构建异构图矩阵GRAPH
异构图中有两种顶点和三种边,为了使不同长度的路径或经过不同类型顶点的路径的评分相加有意义,对边的权值和顶点的权值进行预处理,边的权重均值为1,顶点的权重为相连的边的权重的平方和的倒数:SD'=SD/(sum(SD))*CD,疾病类似性矩阵SD首先归1,将矩阵SD中非零元素个数记为CD,归一后矩阵SD乘上CD,使得Dis-Dis边的均值为1;
SR'=SR/(sum(SR))*CR,miRNA类似性矩阵SR首先归1,将SR矩阵中非零元素个数记为CR,归一后SR矩阵乘上CR,使得miR-miR边的均值为1;
miRNA-疾病关联矩阵A记录了Dis-miR边,权重都为1;
Dis顶点的权重设置为SD′*SD′T的对角线向量的倒数;
miR顶点的权重设置为SR′*SR′T的对角线向量的倒数;
由SD′、SR′和A矩阵生成描述异构有向图的矩阵GRAPH:GRAPH.block(0,0,Nd,Nd)=DIS;
GRAPH.block(0,Nd,Nd,Nr)=A;
GRAPH.block(Nd,Nd,Nr,Nr)=MIR;
GRAPH.block(Nd,0,Nr,Nd)=A.transpose();
GRAPH左上角的子矩阵是疾病语义相似性矩阵SD′;GRAPH右下角矩阵为miRNA功能相似性矩阵SR′;GRAPH右上角是miRNA-疾病关联矩阵A;矩阵A的转置位于矩阵GRAPH左下方;得到GRAPH;
步骤3.获取疾病与miRNA之间的评分矩阵F
预测疾病和miRNA之间存在潜在的关联,得到一个疾病与miRNA是否存在关联的评分矩阵F;矩阵GRAPH的异构有向图由矩阵SD′,SR′,A组成,将矩阵GRAPH与矩阵GRAPH转置的乘积记为矩阵B;取矩阵B的对角线元素做倒数;将这些值组合成对角矩阵WEIGHT,对角矩阵的对角元素为异构图中顶点的权重值;
WEIGHT.diagonal()
=(GRAPH*GRAPH.transpose()).diagonal().inverse()用长度为2边或3边的路径进行评分:
具有两个边的路径的分数存储在名为Route2E的矩阵中;
矩阵Route2E计算公式如下:
Route2E=GRAPH*WEIGHT*GRAPH具有三个边的路径的分数存储在名为Route3E的矩阵中;
获取矩阵Route3E计算公式如下:
Route3E=Route2E*WEIGHT*GRAPH最终得分矩阵F通过获取Route2E和Route3E总和的右上部分得到:F=(Route2E+Route3E).block(0,Nd,Nd,Nr);
步骤4、根据阈值设置进行预测;
用评分矩阵的计算方法获得一个阈值,并将设置的阈值与评分矩阵计算获得的评分进行比较,从而判断疾病与miRNA之间是否具有关系。