2016 年全国研究生数学建模竞赛 B 题
具有遗传性疾病和性状的遗传位点分析
人体的每条染色体携带一个 DNA 分子，人的遗传密码由人体中的 DNA 携带。DNA 是由
分别带有 A,T,C,G 四种碱基的脱氧核苷酸链接组成的双螺旋长链分子。在这条双螺旋的长链
中，共有约 30 亿个碱基对，而基因则是 DNA 长链中有遗传效应的一些片段。在组成 DNA 的
数量浩瀚的碱基对（或对应的脱氧核苷酸）中，有一些特定位置的单个核苷酸经常发生变异
引起 DNA 的多态性，我们称之为位点。染色体、基因和位点的结构关系见图 1.
在 DNA 长链中，位点个数约为碱基对个数的 1/1000。由于位点在 DNA 长链中出现频
繁，多态性丰富，近年来成为人们研究 DNA 遗传信息的重要载体，被称为人类研究遗传学
的第三类遗传标记。
大量研究表明，人体的许多表型性状差异以及对药物和疾病的易感性等都可能与某些
位点相关联，或和包含有多个位点的基因相关联。因此，定位与性状或疾病相关联的位点在
染色体或基因中的位置，能帮助研究人员了解性状和一些疾病的遗传机理，也能使人们对致
病位点加以干预，防止一些遗传病的发生。
近年来，研究人员大都采用全基因组的方法来确定致病位点或致病基因，具体做法是：
招募大量志愿者（样本），包括具有某种遗传病的人和健康的人，通常用 1 表示病人，0 表
示健康者。 对每个样本，采用碱基(A,T,C,G)的编码方式来获取每个位点的信息(因为染色体
具有双螺旋结构，所以用两个碱基的组合表示一个位点的信息）；如表 1 中，在位点 rs100015
位置，不同样本的编码都是 T 和 C 的组合，有三种不同编码方式 TT,TC 和 CC。类似地其他
的位点虽然碱基的组合不同，但也只有三种不同编码。研究人员可以通过对样本的健康状况
和位点编码的对比分析来确定致病位点，从而发现遗传病或性状的遗传机理。
本题包含以下问题：
问题一、请用适当的方法，把 genotype.dat 中每个位点的碱基(A,T,C,G) 编码方式转化成数
值编码方式，便于进行数据分析。
问题二、根据附录中 1000 个样本在某条有可能致病的染色体片段上的 9445 个位点的编码
信息(见 genotype.dat)和样本患有遗传疾病 A 的信息（见 phenotype.txt 文件）。设计或采用
一个方法，找出某种疾病最有可能的一个或几个致病位点，并给出相关的理论依据。
问题三、同上题中的样本患有遗传疾病 A 的信息（phenotype.txt 文件）。现有 300 个基因，
每个基因所包含的位点名称见文件夹 gene_info 中的 300 个 dat 文件，每个 dat 文件列出了
对应基因所包含的位点(位点信息见文件 genotype.dat)。由于可以把基因理解为若干个位点
组成的集合，遗传疾病与基因的关联性可以由基因中包含的位点的全集或其子集合表现出来
请找出与疾病最有可能相关的一个或几个基因，并说明理由。
问题四、在问题二中，已知 9445 个位点，其编码信息见 genotype.dat 文件。在实际的研究
中，科研人员往往把相关的性状或疾病看成一个整体，然后来探寻与它们相关的位点或基因。
试根据 multi_phenos.txt 文件给出的 1000 个样本的 10 个相关联性状的信息及其 9445 个位
点的编码信息(见 genotype.dat)，找出与 multi_phenos.txt 中 10 个性状有关联的位点。