欢迎关注”生信修炼手册”!
MDR多因子降维法是逻辑回归的一种补充,可以有效进行基因和基因,基因和环境因素之间的相互作用分析,核心算法如下
第一步,将数据集拆分成训练集和测试集,用于交叉验证,其中训练集占90%, 测试集为10%
第二步,提取N个因子,可以是SNP位点,也可以是环境因子,用于后续分析
第三步,对因子之间的组合进行汇总统计,上图中以Locus3和Locus4两个SNP位点为例,共有9种基因型的组合,分别统计每种基因型组合对应的case和control的样本数,左边为case, 右边为control
第四步,计算每种组合下case与control的比值,并根据阈值划分为high risk和low risk为例,上图中阈值为1,大于1为高危,小于1为低危
第五步,计算因子间相互作用的错误率,错误率最小的即为本次分析识别到的最可能的相互作用的因子
第六步,对于上一步提取到的最佳的相互作用因子,用测试数据集进行验证
为了降低分析结果的假阳性,会进行多次交叉验证,然后根据置检验计算对应的p值。MDR对应的软件网址如下
https://sourceforge.net/projects/mdr/
该软件采用了java进行开发,支持图形界面和命令行两种模式。要求的输入文件内容如下
每一行表示一个样本,最后一列表示样本对应的分组,0表示contorl, 1表示case, 其他的列对应一个因子,上述示例中因子为SNP位点,对应的基因型用0,1,2表示,分别对应没有突变,杂合突变和纯合突变。当然因子也可以是环境因素。
准备好输入文件之后,就可以进行分析了。操作很简单,首先导入文件
然后点击Run Analysis
按钮,即可开始分析,分析完成的界面如下
有两个部分,第一部分显示了不同数量的因子相互作用中最显著的结果,Acc.CV Training表示训练集中的准确率,Acc.CV Testing表示测试集中的准确率,数字越大,范围为0-1,数值越大,准确率越高,CV Consistency表示交叉验证的一致率,9/10表示10次交叉验证中9次该结果都显著。
点击每一行,可以在第二部分查看详细信息。其中Graphical Model展示了因子组合的频数分布,Entropy展示了因子之间的相互作用网络,有多种布局可以选择,主要有树状结构和网络结构两种,示意如下
当然也可以通过命令行运行,基本用法如下
java -jar mdr_3.0.2.jar \
-table_data=true \
-minimal_output=true \
MDR-SampleData.txt
只需要一个输入文件即可,用法非常的简单,但是相比图形界面,少了可视化的结果。
·end·
—如果喜欢,快分享给你的朋友们吧—
往期精彩
GWAS meta分析
基因型填充
CNV分析