基因组组装,简单也复杂

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基因组组装,简单也复杂
去年到武汉培训的时候,路上果⼦就和我聊起了⾃⼰⽣信⼊门的故事。

果⼦说当年还很懵懂,参加了
⼀个培训,刚开始通识教育部分(Linux安装,Linux基础操作和编程语⾔⼊门)可能还跟得上,到了
基因组组装,他就⼀脸懵逼。

当时,他想不明⽩,为什么他需要⾃⼰装⼀个基因组,为什么他要学这
个东西。

当然,在我刚开始学习的时候,我也不觉得⾃⼰要拼基因组,于是让⽼板给我配置服务器和电脑的时
候,配置都是按照全基因组测序或者转录组分析来的。

然⽽,事实证明这是躲不掉的,所以接下来将是基因组组装专题。

基因组组装⼀般分为三个层次,contig, scaffold和chromosomes. contig表⽰从⼤规模测序得到的短读(reads)中找到的⼀致性序列。

组装的第⼀步就是从短⽚段(pair-end)⽂库中组装出contig。

进⼀步基于不同长度的⼤⽚段(mate-pair)⽂库,将原本孤⽴的contig按序前后连接,其中会调整contig⽅向以及contig可能会存在开⼝(gap,⽤N表⽰),这⼀步会得到scaffolds,就相当于supercontigs和meatacontigs。

最后基于遗传图谱或光学图谱将scaffold合并调整,形成染⾊体级别的组装(chromosome).
⽬前基于⼆代测序的组装存在如下挑战:
全基因组测序得到的短读远远⼩于原来的分⼦长度
⾼通量测序得到海量数据会增加组装的计算复杂性,消耗更⾼的计算资源
测序错误会导致组装错误,会明显影响contig的长度
短读难以区分基因组的重复序列
测序覆盖度不均⼀,会影响统计检验和结果结果诊断
上述的问题可以尝试从如下⾓度进⾏解决
短读长度:可以通过提供更多样本,并且建库时保证位置⾜够随机
数据集⼤⼩: 使⽤K-mers算法对数据进⾏组装。

assembler不再搜寻overlap,⽽是搜索具有相同k-mers的reads。

但是k-mer算法相⽐较overlap-based算法,灵敏度有所⽋缺,容易丢失⼀些true overlaps。

关键在于定义K。

注: K-mer表⽰⼀条序列中长度为k的连续⼦序列,如ABC的2-mer为AB,BC
测序错误: 必须保证测序结果⾜够正确, 如提⾼质量控制的标准
基因组重复区:测序深度要⾼,结果要正确。

如果repeat短于read长度,只要保证有⾜够多且特异的read。

如果repeat长于read,就需要paired ends or “mate-pairs”
覆盖度不均⼀:提⾼深度,保证随机
组装结果⽐较:contig N50, scaffold N50, BUSCO
⼆代数据从头组装的主流⼯具
基因组组装的组装⼯具主要分为三类:基于贪婪算法的拼接⽅法,基于读序之间的重叠序列(overlapped sequence)进⾏拼接的OLC(Overlap-Layout-Consensus)拼接⽅法和基于德布鲁因图的⽅法,这三种⽅法或多或少基于图论。

第⼀种是最早期的⽅法,⽬前已被淘汰,第⼆种适⽤于⼀代测序产⽣长⽚段序列,第三种是⽬前⼆代测序组装基因组的⼯具的核⼼基础。

根据”GAGE: A critical evaluation of genome assemblies and assembly algorithms”以及⾃⼰的经验,⽬前⼆代数据⽐较常⽤的⼯具有Velvet, ABySS, AllPaths/AllPaths-LG, Discovar, SOAPdenovo, Minia, spades。

这些⼯具⾥,ALLPaths-LG是公认⽐较优秀的组装⼯具,但消耗内存⼤,并且要提供⾄少两个不同⼤⼩⽂库的数据, SOAPdenovo是⽬前使⽤率最⾼的⼯具(华⼤组装了⼤量的动植物基因组)。

⼯具之间的差别并没有想象的那么⼤,在物种A表现⼀般的⼯具可能在物种B⾥就⾮常好⽤,因此要多⽤⼏个⼯具,选择其中最好的结果。

图⽚来⾃于华⼤
组装的基本流程
在正式组装之前,需要先根据50X左右的illumina测序结果对基因组进⾏评估,了解基因组的⼤⼩,重复序列含量和复杂度。

基于这些信息,确定后续策略以及是否真的需要对该物种进⾏测序。

当你拿到测序数据后,就可以按照如下⼏步处理数据。

第⼀步是数据质控控制,这⼀步对于组装⽽⾔⾮常重要,处理前和处理后的组装结果可能会天差地别;第⼆步,根据经验确定起始参数,如K-mer和覆盖率;第三步,使⽤不同软件进⾏组装;第四步,评估组装结果,如contig N50, scaffold N50, 判断是否需要修改参数重新组装。

数据准备
这⾥使⽤来⾃于GAGE的⾦黄⾊葡萄球菌Staphylococcus aureusa数据进⾏练习。

⼀⽅⾯数据量⼩,服务器能承受并且跑得快,另⼀⽅⾯本⾝基因组就组装的不错,等于是考完试能够⾃⼰对答案。

mkdir Staphylococcus_aureus && cd Staphylococcus_aureusmkdir genomecurl
ftp:///genomes/all/GCF/000/013/425/GCF_000013425.1_ASM1342v1/GCF_000013425.1_ASM1342v1_genomic.fna.gz > genome/Saureus.fna.gzmkdir -p raw-data/{lib1,lib2}curl
/data/Staphylococcus_aureus/Data.original/frag_1.fastq.gz > raw-data/lib1/frag_1.fastq.gzcurl
/data/Staphylococcus_aureus/Data.original/frag_2.fastq.gz > raw-data/lib2/frag_2.fastq.gzcurl
/data/Staphylococcus_aureus/Data.original/shortjump_1.fastq.gz > raw-data/lib2/shortjump_1.fastq.gzcurl /data/Staphylococcus_aureus/Data.original/shortjump_1.fastq.gz > raw-data/lib2/shortjump_1.fastq.gz
那么第⼀节就到此结束,后⾯⼏节介绍如何使⽤不同的软件进⾏数据组装。

相关文档
最新文档