2014年南京邮电大学(第六届)数学建模竞赛试题B题

发布时间:2014-04-30浏览次数:1004

基因组组装

  快速和准确地获取生物体的遗传信息对于生命科学研究具有重要的意义。对每个生物体来说,基因组包含了整个生物体的遗传信息,这些信息通常由组成基因组的DNA或RNA分子中碱基对的排列顺序所决定。获得目标生物基因组的序列信息,进而比较全面地揭示基因组的复杂性和多样性,成为生命科学领域的重要研究内容。

  确定基因组碱基对序列的过程称为测序(sequencing)。测序技术始于20世纪70年代,伴随着人类基因组计划的实施而突飞猛进。从第一代到现在普遍应用的第二代,以及近年来正在兴起的第三代,测序技术正向着高通量、低成本的方向发展。尽管如此,目前能直接读取的碱基对序列长度远小于基因组序列长度,因此需要利用一定的方法将测序得到的短片段序列组装成更长的序列。通常的做法是,将基因组复制若干份,无规律地分断成短片段后进行测序,然后寻找测得的不同短片段序列之间的重合部分,并利用这些信息进行组装。例如,若有两个短片段序列分别为

则有可能基因组序列中包含有ATACCTTGCTAGCGTAGGTCTGA这一段。当然,由于技术的限制和实际情况的复杂性,最终组装得到的序列与真实基因组序列之间仍可能存在差异,甚至只能得到若干条无法进一步连接起来的序列。对组装效果的评价主要依据组装序列的连续性、完整性和准确性。连续性要求组装得到的(多条)序列长度尽可能长;完整性要求组装序列的总长度占基因组序列长度的比例尽可能大;准确性要求组装序列与真实序列尽可能符合。

  利用现有的测序技术,可按一定的测序策略获得长度约为50–100个碱基对的序列,称为读长(reads)。基因组复制份数约为50–100。基因组组装软件可根据得到的所有读长组装成基因组,这些软件的核心是某个组装算法。常用的组装算法主要基于OLC(Overlap/Layout/Consensus)方法、贪婪图方法、de Bruijn图方法等。一个好的算法应具备组装效果好、时间短、内存小等特点。新一代测序技术在高通量、低成本的同时也带来了错误率略有增加、读长较短等缺点,现有算法的性能还有较大的改善空间。

  问题一:试建立数学模型,设计算法并编制程序,将读长序列组装成基因组。你的算法和程序应能较好地解决测序中可能出现的个别碱基对识别错误、基因组中存在重复片段等复杂情况。

  问题二:现有一个全长约为120,000个碱基对的细菌人工染色体(BAC), 采用Hiseq2000测序仪进行测序,测序策略以及数据格式的简要说明见附录一和附录二,测得的读长数据见附录三,测序深度(sequencing depth)约为70×,即基因组每个位置平均被测到约70次。试利用你的算法和程序进行组装,并使之具有良好的组装效果。

附录一:测序策略测序策略如下图所示。DNA分子由两条单链组成,在图中表现为两条平行直线,两条直线上相对位置的两个碱基相互结合形成碱基对(bp),并且与碱基A结合的碱基必为T,与碱基C结合的碱基必为G。将一个含120,000个bp的完整基因组,随机打断成500bp的片段,然后对500bp的片段进行测序。测序方法如第3步所示,分别从500bp片段的两端,对两条单链进行测序,测得的读长记为reads1,reads2。reads1,reads2的长度均为88bp,且该对reads相距500bp。

图1 测序策略示意图

(更详细的测序策略描述参见:网址略)

附录二:数据格式

  读长数据格式为fastq格式:

  每4行表示一条reads

  第一行:@序列ID,包含index序列及read1或read2标志;

  第二行:碱基序列,大写“ACGTN”;

  第三行:“+”,省略了序列ID;

  第四行:质量值序列:字符的ASCII码值-64=质量值。

(更详细的fastq格式介绍参见:网址略)

附录三:读长数据

  测序得到的读长数据存放于两个fastq文件中(见附件一),其中McMc_BAC_1.fq.gz.clean.dup.clean和McMc_BAC_2.fq.gz.clean.dup.clean分别存放reads1和reads2的数据。

(注:后缀为clean的文件可用Microsoft Word 2010等软件打开。)

Copyright © 南京邮电大学理学院  All Rights Reserved.