具有遗传性疾病和性状的遗传位点分析.docx
《具有遗传性疾病和性状的遗传位点分析.docx》由会员分享,可在线阅读,更多相关《具有遗传性疾病和性状的遗传位点分析.docx(30页珍藏版)》请在冰豆网上搜索。
具有遗传性疾病和性状的遗传位点分析
参赛密码
(由组委会填写)
全
“华为杯”第十三届全国研究生
数学建模竞赛
学校
江苏科技大学
参赛队号
队员姓名
1. 孙佳伟
2. 李袁
3. 李肇基
参赛密码
(由组委会填写)
“华为杯”第十三届全国研究生
数学建模竞赛
题目具有遗传性疾病和性状的遗传位点分析
摘要:
本文设计了基于属性重要度的选择算法,并通过SVM分类器构建出预测模型,对不同的位点和基因进行分析,判断每个位点或基因对某种疾病的预测精度,从而判断是否为致病位点或者致病基因。
最后利用该算法和模型,预测出十种性状相关的致病位点。
问题1,针对每个位点有碱基对组成的性质,为了方面描述和分析,本文采用了十进制编码,每个位点的属性值可以通过0-9中的一个数进行表示,具体的编码格式,文中给出了详细的编码表。
问题2,设计了基于属性重要度的特征选择算法,通过SVM分类器构建出预测模型,通过问题1中的特征表示方式,提取所有样本每列的特征,并对每列的特征属性进行重要度分析,进而判断该疾病与位点rs,rs,rs2486182,rs2274119,rs2235537相关。
问题3,每个基因是由不同位点组成的集合,则每个基因的所有特征属性即对应集合里位点特征属性的集合,利用问题2优化的模型,通过预测精度,对每个基因的对某疾病的重要度进一步分析得出,该疾病与致病基因gene_171相关。
问题4,利用本文提出的模型,对10种性状中的每种性状中,继续通过属性重要度分析,识别出在不同性状中最有可能的致病位点,最后得出10个形状的相关致病位点分别为:
rs,rs935075,rs2840758,rs1855786,rs2647168,rs,rs744834,rs4920522,rs,rs。
本文亮点是,提出基于属性重要度的选择算法,通过SVM构建出预测模型,利用网格搜索进行寻优,判断每列属性的重要度,从而判断致病位点或者致病基因。
关键词:
属性重要度;SVM分类器;优化模型;位点(SNPs)
一问题重述
问题1,请用适当的方法,把中每个位点的碱基(A,T,C,G)编码方式转化成数值编码方式,便于进行数据分析。
问题2,根据附录中1000个样本在某条有可能致病的染色体片段上的9445个位点[1]的编码信息(见和样本患有遗传疾病A的信息(见文件)。
设计或采用一个方法,找出某种疾病最有可能的一个或几个致病位点,并给出相关的理论依据。
问题3,同上题中的样本患有遗传疾病A的信息(文件)。
现有300个基因,每个基因所包含的位点名称见文件夹gene_info中的300个dat文件,每个dat文件列出了对应基因所包含的位点(位点信息见文件。
由于可以把基因理解为若干个位点组成的集合,遗传疾病与基因的关联性可以由基因中包含的位点的全集或其子集合表现出来请找出与疾病最有可能相关的一个或几个基因,并说明理由。
问题4,在问题二中,已知9445个位点,其编码信息见文件。
在实际的研究中,科研人员往往把相关的性状或疾病看成一个整体,然后来探寻与它们相关的位点或基因。
试根据文件给出的1000个样本的10个相关联性状的信息及其9445个位点的编码信息(见,找出与中10个性状有关联的位点。
二问题分析
问题1的分析
问题1提供的1000个样本,每个样本均有9445个位点,每个位点是一个碱基对,本文通过十进制对所有碱基对[2]进行编码,利用此特征表示方法,每个样本得到9445个属性,每个属性通过0-9中的数值进行表示。
问题2的分析
问题2和问题3都是要利用某种方法,进行致病位点和致病基因的检测,预测某种疾病的致病位点。
预测该疾病相关的致病位点,其实就是判断不同位点对该疾病的影响程度,即判别每个位点的属性重要度。
本文设计了基于属性重要度的选择算法,并利用SVM构建预测器,计算每个位点对疾病的预测精度,从而得到与该疾病相关的致病位点。
问题3的分析
问题3与问题2比较,问题2是识别与某疾病相关的致病位点,而某个基因是由多个位点组成的集合,问题3是识别某疾病相关的致病基因,为了识别致病基因,由于基因是由多个位点组成的集合,则基因的特征属性即多个位点特征属性组成的集合。
利用每个基因的特征属性,通过问题2中设计的算法和构建的预测模型,从而识别与某疾病相关的致病基因。
问题4的分析
问题4中,人的某些疾病是和性状相关的,材料中提供了10种性状,要求判断与这10种性状的相关的致病位点。
可以对每个性状分析,通过问题2种设计的选择算法和构建的预测模型,识别出某个性状相关的致病位点。
三模型假设和符号说明
模型假设
(1)假设给出的样本数据能分别代表整个的正常和患病群体。
(2)忽略寻优时SVM分类器本身造成的偏差。
(3)给出的位点和基因均是有效的位点和基因。
符号说明(未说明)
(1)A,C,G,T:
DNA中的四种碱基
(2)Acc:
即accuracy,预测精度
(3)PCn:
第n个位点的属性
(4)S:
特征属性子集
(5)
:
通过十进制编码得到位点子集的特征属性
(6)
:
第i个位点的属性,在第1组属性选择中进行融合
(7)Sig:
即significant,属性重要度
四、模型建立与求解
问题1:
每个位点碱基编码方式转化
数据分析
本文所使用位点测试数据集,来自1000个可能致病的染色体片段试验检测结果,标签分布为500个无病染色体使用0表示,500个患病染色体使用1表示,且每个致病染色体上有9445个碱基对,以此作为位点。
十进制编码
本文采用十进制{0,1,2,...9}编码将每个碱基对转化成数据编码方式,以便于数据分析。
“AA”为“0”;“AC”为“1”;“AG”为2;“AT”为3...“TT”为9,详见碱基对编码表1(其中{AC,CA};{CG,GC};...碱基对表示方式相同)。
表1碱基对编码
A
C
G
T
A
0
1
3
6
C
1
2
4
7
G
3
4
5
8
T
6
7
8
9
另外,位点中出现字符‘I’和‘D’,根据说明,分别用‘T’和‘C’代替
问题2:
找出与疾病最有可能相关的一个或几个位点
位点属性矩阵
由于所有样本序列上的本一个二核苷酸位点代表了一个属性,本文总共有9445个位点即9445个不同的属性,这些属性由十进制表示(见附图1)。
其中,属性列中PC1~PCn表示9445个不同的属性指标;AA,AC,AG,AT,...,TT表示16中不同的原始二核苷酸。
图1十进制编码编码碱基对
实验测试方法和分类器设计
1.实验测试方法
K折交叉验证、Jackknife(留一法)测试和独立数据集测试是三种常用的实验测试方法。
在本试验中采取了K折交叉验证,K折交叉验证是指经过初始采样后将初始样本分割成K个子样本,然后选择一个单独的子样本作为测试数据,剩下的K-1个样本用来训练模型。
将这个交叉验证重复K次,使得每个子样本都验证一次,将K次结果取平均,得到一个估测结果。
这个方法优势在于随机产生的子样本的训练和验证能够同时进行,每次的结果验证一次,本文采用了5折交叉验证。
2.分类器设计
特征向量提取完成后便要面临对向量的分类问题,选取一个合适的分类器,将大大提高相关识别问题的精度,然而分类器研究至今出现了许多,例如贝叶斯分类器[3],支持向量机(SVM)[4,5,6,7],K近邻分类器[8,9,10]以及DeepLearning[11,12]。
在本篇论文中,我们采用支持向量机对样本进行分类。
支持向量机是由Vapnik等根据统计学习理论提出的,在考虑结构风险最小化原则和VC维理论的基础上,在有限的样本信息中,寻找模型复杂性和学习能力的最佳折中点。
这个分类方法在解决模式分类与非线性映射问题中非常适用。
例如图2便是在二维平面中一个分类,线AB上的点组成的向量就是这个样本的支持向量,然而在多数情况下数据样本将不仅仅局限于二维,通常都是在高维空间中的样本,如图3,这时的支持向量是以面的形式表现出来。
图2支持向量机二维原理图
图3支持向量机高维原理图
在生物信息学中,非线性以及高维数据的处理十分常见,所以支持向量机在生物信息学的领域被广泛使用。
因此本篇文章中,包作为支持向量机的实现。
由于在非线性分类过程的有效性和速度,因为径向基核函数(RBF)利用网格搜索法优化了正则化参数和核参数,所以我们使用这个函数对样本进行预测。
从支持向量机获得的概率得分被用来预测本次实验的最终结果。
评价标准
为了对我们的预测方法进行合理的评价,我们在考虑结果的准确性上,加入了相关系数,用这些数据对预测结果进行一系列评价。
本文使用下列度量模型的性能进行了评价:
准确度(Acc),它可以表示为
(1)
其中,TP表示被正确判断为正样本的正样本数;FP表示被错误判断为正样本的负样本数;TN表示被正确判断为负样本的负样本数;FN表示被错误判断为负样本的正样本数。
将公式
(1)化简,并定义新的字符表示,化为如下形式:
(2)
用
代替TP,
代替FN,
代替TN,
代替FP,显然
,
表示所有的正样本数。
同理
,
表示所有的负样本数。
根据此式,我们可以很容易的得出以下的结构。
当
=
=0时,即所有的样本都被正确判断时,
;
当
且
时,即所有的样本都被错误判断时,
;Acc是对整个数据集的评价指标。
所以我们在比较预测器性能的时候,主要对比Acc的值。
基于属性重要度的选择算法设计
1.属性重要度
问题1中通过十进制编码方法,对样本中9445个位点进行特征表示,得到9445个特征属性,且通过实验发现,多个属性的组合来进行该模型的预测可能比单个属性预测的结果要更高,但是并不是所有的属性都与该疾病有必然的联系,可能存在冗余的属性,即可能存在冗余的位点,本文设计一种基于属性重要的选择算法,通过属性选择的方式可以有效的去除冗余属性,提高判断的准确性,从而保障了预测的可靠性。
2.属性选择算法
假设第n列的属性记为PCn,则全部9445个位点的属性集合为{PC1,PC2...PCn…PC9445},选取位点属性子集为S,通过问题1中的编码方式编码样本序列特征记为
。
(3)
公式(3)中的
和
分别表示,采用位点属性子集
和性选择算法得到的子集
,利用SVM构建的预测器的预测精度。
判断标准:
(1)当Sig(S,PCn)>0,表明增加PCn这列属性对模型预测性能的提高有积极的作用,其可以融合为多重属性并利用预测器进行下一步判断。
且Sig(S,PCn)越大表明效果越好,属性重要度越高。
(2)当Sig(S,PCn)<0,表明增加的PCn这列属性对模型的预测是不利的,影响模型的预测精度的提高,说明该属性为冗余属性。
并且剔除该属性有利于模型预测精度的提高。
3.基于选择算法的属性选择过程
取每列属性作为构建的预测器的输入,从而得到9445个位点中,每个位点利用该模型预测该疾病的预测精度Acc,每个位点的预测精度如图4所示:
图4每个位点的预测精度
过程
(1):
将预测器对n(n=9445)个位点属性中单个属性预测的精度降序排列,选取前k(k≤n)个Acc结果,即为(“
”;“
”;“
”;...“
”;...;“
”)。
过程
(2):
假设第i个属性的测试结果为“
”,第1次融合,将其与剩下的“9445-1”个属性进行融合成为二重属性,进行分类测试排序,得到最大Acc即为Acc(f(S+{PCi}))。
Liyong公式(3)对Sig(S,PCi)进行判断。
若有利于模型预测精度的提高则进行过程(3);否则进行过程(5)。
过程(3):
第2次融合,此时S表示,过程
(2)中S+{PCi},将新的属性集合S余下的“9445-2”个属性进行融合成为三重属性,进行分类排序,得到最大Acc即为Acc(f(S+{PCj}))。
利用公式(3)对Sig(S,PCj)进行判断。
若对提高分类器性能有益则进行过程(4);否则进行过程(5)。
过程(4):
第k(k≥3)次融合将Acc(f(S+{PCj}))与余下的“9445-k”个属性进行融合成为“k”重属性,进行分类排序,得到最大Acc即为Acc(f(S+{PCk}))。
带入公式(3)对Sig(S,PCk)进行判断。
若对提高分类器性能有益则k=k+1重复过程(4);否则进行过程(5)。
过程(5):
通过增加该列属性时,模型的预测精度反而下降,说明该列属性为冗余属性,循环结束。
如图5所示。
图5属性选择流程
如图4-2-1,将每列属性单独作为样本属性,利用SVM构建的预测器得到预测精度,并将每列属性预测得到的Acc值降序排列,取前k个Acc的值,即为(“
”;“
”;“
”;...“
”;...;“
”)。
分别以这k个值为第一个属性,与剩余的位点属性,通过基于属性重要度的选择算法进行特征融合,并利用SVM构建的预测模型求得准确率,若预测精度提高,则表明该列属性相对于所提出的模型是重要的,否则选择过程终止。
致病位点[13,14,15]的选择结果
通过属性重要度选择算法,分别以最大的k个预测精度所在的k个列作为第一个属性,分别与剩下的位点属性融合,得到k组预测与疾病相关的致病位点的集合,本文为了k的取值为10,预测的结果如表2所示:
表2致病位点的选择结果
k值
识别位点数
位点名称
Acc(%)
1
2
rs,rs4391657
2
3
rs271316,rs6702929,rs7534552
3
2
rs717538,rs7530595
4
2
rs369427,rs9426750
5
3
rs,rs760941,rs620547
6
5
rs,rs,rs2486182,
rs2274119,rs2235537
7
2
rs2010397,rs2743979
8
3
rs,rs1212652,rs
9
4
rs2301488,rs,rs,rs191942
10
3
rs,rs6690827,rs2789334
从表2的数据发现,不同的属性组合,模型的预测精度不同,通过该模型及属性选择算法得出与该疾病最相关的致病基因有5个,它们分别为rs,rs,rs2486182,rs2274119,rs2235537。
问题3:
找出与疾病最有可能相关的一个或几个基因
基因属性表示方式
由于可以把基因理解为若干个位点组成的集合,使用此位点集合构成的属性利用该预测器上进行测试所得到的结果必然与基因有关,遗传疾病与基因的关联性可以由基因中包含的位点的全集或其子集合表现出来。
致病基因选择过程
每个基因是由多个位点组成的集合,则每个基因的特征属性即对应集合中位点属性组合,材料中共给出300个基因,要求识别某疾病的致病基因,首先对每个基因利用问题2中提出的预测器模型,求出每个单独的基因预测该疾病的预测精度,同样,将所有的预测精度Acc的值降序排列,选取前k个最大的精度值Acc,即(“
”;“
”;“
”;...“
”;...;“
”)。
通过问题2的基于属性重要度的选择算法来选择不同的基因集合,同样,问题3中的k值也取10,分别以最大的Acc值所对应的基因,在剩下的基因里进行选择,若选择的基因构成的基因集合,能提高模型的预测精度,则说明该基因是有利于该模型对此疾病的预测,否则说明,该基因不利于该模型对此疾病的预测,此基因为冗余基因。
以这k个基因为首,利用公式(3)即基于属性重要度的选择算法来选择不同的基因集合,选择过程步骤和问题2中位点属性选择的过程相似,当选择新的基因组成的基因集合对模型的预测精度有提高,则说明该基因是与该疾病相关,属于致病基因。
若新选择的基因组成的集合对模型的预测精度起副作用,则说明该基因与该类疾病无相关性,属于冗余基因,可约简该属性。
和问题2类似,问题3中的k值也取10,分别以最大的Acc值所对应的基因,在剩下的基因里进行选择,若选择的基因构成的基因集合,能提高模型的预测精度,则说明该基因是有利于该模型对此疾病的预测,最后得到10组与该疾病相关的致病基因组合,通过模型的预测精度判断,该疾病最有可能和哪个或者哪些致病基因相关。
致病基因选择结果
通过问题2中提出的属性重要度选择算法的衍生,问题3则利用相同的思路,设计基于基因重要度的选择,判别方法同样利用公式(3),又因为本文分别k(k=10)个最大Acc基因为首,利用选择算法来基因集合,从而得到10组基因集合,每组基因集合利用问题2提出的模型预测该疾病的准确率如表3所示:
表3致病基因的选择结果
K值
识别基因数
基因名称
Acc(%)
1
1
gene_171
2
1
gene_16
3
1
gene_70
4
1
gene_61
5
2
gene_1,gene_255
6
1
gene_165
7
3
gene_188,gene_12,gene_260
8
1
gene_140
9
2
gene_80,gene_126
10
1
gene_299
表3表明,不同基因组合对预测该疾病的精度是不同的,前10组集合中,该疾病最有可能与gene_171致病基因相关。
问题4:
找出与10个性状相关的一个或几个位点
材料中给出1000个样本相关的10个性状,本文分别对这10个性状进行分析,同样利用属性重要度选择算法及SVM构建的预测模型,判断出每个与每个性状最为相关的位点,最后得到10个与这10个性状相关的位点,他们分别为
rs,rs935075,rs2840758,rs1855786,rs2647168,rs,rs744834,rs4920522,rs,rs。
这10个位点对于预测精度如图6所示:
图610个性状相关的位点
这10个性状,对应相关的位点和预测精度,如表4所示:
性状
位点
Acc(%)
性状
位点
Acc(%)
1
rs
6
rs
2
rs935075
7
rs744834
3
rs2840758
8
rs4920522
4
rs1855786
9
rs
5
rs2647168
10
rs
从表4发现,这10个性状与这10和位点最为相关。
每个相关的位点是通过提出的属性选择算法和SVM构建的预测模型预测得到的,最后发现这十个性状与rs,rs935075,rs2840758,rs1855786,rs2647168,rs,rs744834,rs4920522,rs,rs这些位点相关。
本文在进行问题分析时,设计了基于属性重要度特征选择算法,利用SVM构建预测器,利用十进制编码位点和基因信息,利用构建的模型进行疾病的预测,抽取能提高模型预测精度的位点属性集合和基因集合,从而得到与该疾病相关的致病位点或者致病基因。
问题4中的性状分析,通过提出的算法及模型,对每个性状进行分析,识别出每个性状最为相关的致病位点,最后得到这10种性状最为相关的所有位点。
五模型的优缺点
模型的优点:
1.采用十进制编码方式,对每个位点的碱基对进行编码,通过0-9当中的一个属性值来对每个位点进行特征表示。
2.设计基于属性重要度的特征属性选择算法和通过SVM分类器构建了预测器
3.通过预测精度accuracy指标来衡量每个位点属性或者每个基因属性对预测某种疾病的重要度。
模型的缺点:
1.本文设计的属性重要度选择算法和设计的模型来选择位点属性或者基因属性时是按照自己规则,由于从9445个位点中选择n个位点属于NP问题,模型没有很好地考虑这9445个位点整体之间的关联性。
2.同样设计的算法及SVM构建的模型对基因的选择,也全部基因之间的关联性考虑有所欠缺。
3.本文通过SVM构建的分类器在进行网格搜索寻优时,参数的选择可能可能导致寻优范围不够大,没有寻得最优的结果。
六参考文献
[1]Antonio.Marcolino, WilliamF.Porto.StructuralimpactanalysisofmissenseSNPspresentintheuroguanylingenebylong-termmoleculardynamicssimulations.JournalofTheoreticalBiology:
Volume410,7December2016,Pages9–17.
[2]PeisanLeea, Ju-ChiLiuc, Ming-HsiungHsiehd.Cloud-basedBPsystemintegratedwithCPOEimprovesself-managementofthehypertensivepatients:
Arandomizedcontrolledtrial.ComputerMethodsandProgramsinBiomedicine:
Volume132,August2016,Pages105–113.
[3]Tzu-TsungWong, , Chao-RuiefficientparameterestimationmethodforgeneralizedDirichletpriorsinnaïveBayesianclassifierswithmultinomialmodels:
PatternRecognition.Volume60,December2016,Pages62–71.
[4]VapnikVN.Thenatureofstatisticallearningtheory[M].2ndedition.NewYork:
Springer,1995.
[5]CristinainiN,Shawe-TaylorJ.AnintroductiontoSupportVectorMachinesandotherKernel-basedlearningmethods[M].Beijing:
ElectronicIndustryPress,2004:
82-108.
[6]ZhangYanping,ZhangLing.Machinelearningtheoryandalgorithms[M].Beijing:
SciencePress,201
[7]Jian-weiLiu, Li-pengCui , Xiong-linLuo .MCRSVMclassifierwithgroupsparsity:
Volume127,Issue17,September2016,Pages6915–6926
[8]PieroBaraldi,FrancescoCannarile,Hierarchicalk-nearestneighboursclassificationan