Falcon软件的组装流程
- 为了错误校正,将原始子reads进行overlap
- 预组装和错误校正
- 错误校正后reads的overlap检测
- overlap的过滤
- 从overlap构建图
- 从图构建contigs
几个解释:
sub-reads是啥?为什么要进行错误校正?校正的原理是什么?length_cutoff和length_cutoff_pre分别是什么意思,为什么要设置这两个参数?
sub-reads就是机器出来的reads经过处理后的子reads,方便软件处理;
因为第三代测序是单分子测序,读长大,reads长,错误率高,单条reads的正确率只有85%,必须进行校正。
如果测序深度足够,那么就可以构建overlap,根据概率学原理,可以进行校正。
cutoff就是扔掉长度不足的reads(例如:扔掉10K以下的reads),因为reads太短没有多大意义,增加计算量,校正时,不能切掉太多的reads,所以其cutoff值较小;预组装时,短reads该利用的信息已经利用完了,可以扔掉了,所以其cutoff可以设置得稍微大些,减少计算量。
为什么错误校正后还要进行overlap? 参数 -e.96 和 -e.70 分别是什么意思?
因为错误校正后的reads变化非常之大,必须重新进行overlap,-e是一致性参数,就是精度的意思,组装之前,因为错误率较高,可以容忍较低的一致性0.70;组装时,reads已经校正好了,所以对一致性较高,调到了0.96.
为什么要将overlap进行过滤?
为了砍掉一些没有必要的计算,减少计算量,只选择最好的n个overlap进行组装,过滤掉重复序列。
构建图构建contigs大致是个什么意思?
就是根据overlap一个一个的把reads连起来,从前到后,因为重复序列的原因,必然会组成图(图会有各种形态)
然后根据一定的原则,去掉图中一些没有必要的边,选择一条最优的路径,就可以组成我们想要的最终的contigs。
参考:【干货】基因组组装你了解多少? -- 诺禾致源
动植物基因组de novo工作,其组装指标的好坏直接影响着整个基因组的质量。而评估基因组组装结果,contigN50和scaffoldN50是第一指标,即contig/ scaffoldN50:将contig/scaffold长度从长到短进行排序并累加,当累加和达到contig/scaffold总长度的50%的时候,最后参与加和的那一条contig/scaffold长度即为contig/ scaffoldN50的长度。一般来说,contig/scaffoldN50越长,表示组装结果越好。
但是,N50指标高就意味着组装结果就一定可靠吗?
不一定!将一些不相关的reads或者contig错误的连接为scaffold,一样可以达到很高的scaffoldN50。
目前高水平文章发表,组装指标固然是一方面,但真正决定文章发表档次的,是生物学故事是否足够完美,有亮点。我们知道,后续分析依赖的基础便是组装得到的基因组,因此,不可靠的组装结果,对基因组后续分析会造成很大的困扰,甚至会得出错误的生物学结论。
那么,如何才能检验一个基因组组装结果的可靠性呢?
1、 序列一致性评估:
基因组是通过reads组装得到,这一步,是将reads比到基因组上,验证reads对基因组的覆盖情况,用于评估组装的完整性以及测序的均匀性。较高的mapping rate(90%以上)以及coverage(95%以上)认为组装结果和reads有比较好的一致性。
2、 序列完整性评估:
所谓完整性评估,即评估组装得到的基因组对基因区的覆盖程度,一般需要借助RNA方面的证据进行评估,如EST数据或RNA reads。由于用来评估的RNA方面证据不同,得到的比例也会有差别。一般来说,50%的scaffold覆盖基因的95%以上,85%的scaffold覆盖基因的90%以上,认为组装较完整。
3、 准确性评估:
通过全长BAC序列,可以通过与组装结果的比对,对组装结果的正确性进行验证,从BAC序列和scaffold是否具有较好的一致性来判断组装质量。
4、 保守性基因评估:
即根据广泛存在于大量真核生物中的保守蛋白家族集合(248个core gene库),对组装得到基因组进行评估,评估组装基因组中的core gene的准确性和完整性。可以通过该物种和同源物种cegma的比例,判断保守基因组装情况。
通过以上四个方面基本上可以对基因组组装结果有个大致的评估,以2015年4月诺禾发表的基因组文章陆地棉为例,来分析一下组装出来的基因组可靠性评估:
1. 组装结果基本信息统计
可以看到组装出来基因组为2.4G,cover陆地棉基因组96%,
(Survey预估基因组为2.5G),contigN50为34K, scaffoldN50为1.6M,
定位到遗传图谱上的scaffold有1.9G(9%),
其中A亚种contigN50为30.7K,scaffoldN50为1.4M,
D亚种contigN50为47.2K,scaffoldN50为2.5M。
2. 一致性评估:
从reads的mapping率以及对基因组的coverage比率来看,有较好的一致性。
3. 完整性评估:
采用1,054 条G. hirsutum.全长mRNA序列进行完整性评估,可以看到有90%的mRNA被一条scaffold覆盖的比例为94%以上,即有94%的基因是组装完整的;有50%的mRNA被一条scaffold覆盖的比例为99%以上,即有99%的基因是组装出来的。说明组装版本有很好的完整性。
4. 准确性评估:
采用该物种的四条全长BAC序列对组装结果进行评估,红线代表BAC序列,蓝线代表scaffold序列,空白区代表scaffold上的gap区,橘黄色线代表BAC和scaffold比对上的区间块。从上图也可以看到组装结果和BAC序列有很好的比对结果,即说明组装有较高的正确性。
另外,从染色体角度,也可以验证组装结果,如下图所示,采用诺禾组装的四倍体棉花D亚组同已发表的JGI组织以及BGI组织发表的雷蒙德氏棉花进行全基因组比对,可以看到,a图,诺禾的组装版本与JGI组织组装得到的基因组有很好的共线性,众所周知,JGI组织发表的棉花基因组是采用Sanger测序,并进行多种验证的组装版本,具有很高的正确性和指导性,进一步说明诺禾的组装版本有很好的准确性。
5. 保守基因评估:
可以看到,组装得到240个core gene,其中有231个core gene是完整的。
综上,诺禾组装结果不但可以承诺高指标,并且有严谨的评估标准对组装结果进行评估,保证组装结果的准确性。
参考文献
1. 前期准备
背景信息:
- GC含量 和 GC分布
- 基因组重复程度
- 基因组大小估计
- 杂合情况
最好的情况是对方能提供已经发表的近源物种。
根据近源物种分析以上信息,尤其是GC含量以及对应的GC分布,重复程度。
2. 测序策略
根据基因组大小和具体情况选择个大概的k值,根据“测序X数推导说明.pdf”制定用于构建contig所需的数据量以及所需的构建的文库数量。对于植物基因组一般考虑的是大kmer(>31),动物的话一般在27左右,具体根据基因组情况调整。
需要在短片段数据量达到20X左右的时候进行kmer分析。Kmer分析正常后,继续加测数据以达到最后期望的数据量。
3. 组装流程
原始数据-数据过滤-纠错-kmer分析-denovo组装
3.1 数据过滤:
/nas/GAG_01A/assembly/Database/Assembly/Package/Filter_data/目录下有程序、源代码、使用文档、test实例
/nas/GAG_01A/assembly/yanglinfeng/Filter_gz/目录下程序用法和上面一样,读gz压缩文件,省去解压缩
3.2 数据纠错:
/ifs1/GAG/assemble/fanw/Assembly/source_codes/correct_error/correct_error_v1.0/有先使用多线程版本correct_error_pread
说明文档以及算法详见“Error_correction_algorithm.doc”
3.3 kmer分析:
/nas/GAG_01A/assembly/Database/Assembly/Package/kmerfreq/目录下有程序、源代码、使用文档、
/ifs1/GAG/assemble/lizhenyu/kmer/kmerfreq2buff/kmerfreq 多线程版本,原理与上面程序一致,程序帮助信息包含使用实例
原理说明可参见“kmer分析.docx”
Kmer 分析中估计基因组大小采用纠错后的数据。
3.4 SOAP denovo(grape)组装:
/nas/RD_01A/xieyinlong/bin/目录下grape63mer大kmer版本,可设k>31,grape1123设置K<=31,其他在使用没有差别
/nas/RD_01A/zhuhm/bin/
使用说明以及一些参数选择上具体参见“SOAP denovo使用说明”。
grape组装并非一次就能得到理想的结果,会根据以有的组装结果做分析,调整参数,处理数据,加测少量数据等策略来得到比较理想的结果,在下面的说明中进行详细解释。
4. 基因组的grape组装输出以及soap比对分析
4.1 Contig构建质量
Contig构建的质量情况是组装的基础,较为理想的contig结果才能得到比较好的scaffold结果,对于正常的项目得到的congtig N50在1k左右,而N90在200bp左右(100PE测序)。如果是正常的基因组在kmer分析中没有出现异常的情况,那么需要查看是否由于过多的测序错误造成的,即kmer频数<3所占的比例过高造成的,那么对于数据纠错是否有效执行,对于一些情况下,经过纠错后的数据仍然可以设置-d参数,另外对于其他参数的选择是否合理,k值大小(与数据量、基因组特性相关),M、R参数的使用。
4.2 文库插入片段大小的校正
利用每个文库的一个lane与组装得到的基因组进行soap比对,利用程序画出比对的插入长度分布,调整配置文件中的avg_ins
另外对于这个分析还能得到大片段文库的可用数据的比率,有助于估计实际组装可用的大片段数据量,详见“大片段文库质量标准.doc”。
4.3 基因组GC_depth分布图
根据GC_depth分布图可以看出测序是否有明显的GC偏向,是否有存在样品被细菌污染等情况。做GC_depth图需要用到所有短片段reads的soap结果。
污染:高GC或者GC与正常整体有较大差异,覆盖度低。
取出异常区域与nt库做blast比对,确定可疑的污染细菌的全基因组,用测序得到的reads和可疑的污染细菌的全基因组做soap比对,取出能比对上的reads后重新组装。
/ifs1/GAG/assemble/wangzhiwen/raid6/bin/gc_vs_depth/coverage_gc_dis.sh
运行脚本会得到使用说明
4.4 基因组的单碱基深度分布
较为理想的分布是接近泊松分布,这样说明测序的随机性较好。计算基因组单碱基深度用到所有reads的soap的结果,程序如下,直接运行的到帮助信息。
/nas/GAG_01A/assembly/Database/Assembly/chenyan/01.Data_analysis/soap.coverage
4.5 确定污染,去除污染reads
将在疑似污染区域中的scaffold,scaffold 80%落在疑似区域,将scaffold断成contig,取片段>1k或者更长的部分(根据实际情况选择)与nt库做blast比对,取比对结果最好的以确定是否为污染,污染物为什么物种,使用注释组流程:
/nas/GAG_02/huangqf/GACP-8.0/02.gene-annotation/Dbxref/bin/blast_database.pl
下载确定的污染物的基因组序列作为reference,将所有的reads与之比对,能有比上的就去掉对应的一对reads,过滤后的reads再进行重新组装。
5. 确定组装版本后的处理以及检验
5.1 原始contig定位
主要是针对原始contig的准确度远高于补洞部分的序列,这样在后期注释、进化可以区别对待。
将原始contig定位到补洞后scaffold上,选取长度大于cutoff的contig,利用的是nucmer的比对,根据比对结果进行定位,比上位置为大写的ATCG,其余位置为小写atcg。输出文件为*.OUT
相应脚本和程序目录:
/nas/GAG_01A/assembly/Database/Assembly/yanglinfeng/confirm_contig2scaffold/
使用说明请参考目录下README.doc
5.2 针对关键区域的PE关系数的确定
针对注释或者进化对某些scaffold区域的分析得到较为重要的结果,需要进一步确定是否存在组装错误问题。
从之前的所有reads的soap结果中选取对应的scaffold比对结果,利用程序
/ifs1/GAG/assemble/wangzhiwen/raid6/bin/pair_ends_map/version3.0/pair_end_in_scaffold.pl
得到可是的PE关系数的图:
因为得到的整条scaffold的图片比较大,window自带的照片库浏览器看不了,推荐一个看图片的软件,“ACDSee 9 Photo Manager”
6. 基因组的组装版本的EST和BAC评价
6.1 EST评价
参考/nas/GAG_01A/assembly/yanglinfeng/EST_and_BAC/EST_work.sh
6.2 BAC评价
参考/nas/GAG_01A/assembly/yanglinfeng/EST_and_BAC/BAC_pipeline.pl
使用文档请查看:
/nas/GAG_01A/assembly/yanglinfeng/EST_and_BAC/BAC_pipeline.README.txt
7. 其他使用到的程序以及说明
7.1 Connect Mated Read(CMR)
用于将测通的PE reads连接成一条长reads。
/nas/GAG_01A/assembly/Database/Assembly/Package/cmr/cmr
运行得到帮助信息,说明文档在目录:
/nas/GAG_01A/assembly/Database/Assembly/Package/cmr/
7.2 simulate_solexa_reads
用于模拟solexa reads,运行得到帮助信息。
/nas/GAG_01A/assembly/Database/Assembly/Package/simulate_solexa_reads/simulate_solexa_reads
说明文档在目录:
/nas/GAG_01A/assembly/Database/Assembly/Package/simulate_solexa_reads/
7.3 项目目录结构
对于项目的目录结构,每个项目下分6个子目录。如:
/ifs1/GAG/assemble/chenyan/cucumber/目录里面包含有
00.data 01.analysis 02.assembly 03.soap 04.evaule 05.super-scaffold 06.backup
00.data主要放置原始数据链接,处理后数据,Sanger测序数据
01.analysis主要是针对初步产出的20X的分析,包括Kmer分析和细菌污染比对分析
02.assembly 主要是保存组装的版本
03.soap主要是需要分析文库的插入片段,大片段数据去除小峰,reads数据去除污染,还有GC—Depth的分布等等
04.evaluate 主要是对组装结果的评价,包括EST,BAC评价,全基因组线性化的比对(有reference序列) 和两个组装版本间的比较
05.super-scaffold 主要是针对有fosmid-end和bac-end数据的项目
06.backup主要:备份中期传给客户的报告,序列,还有上述需要备份的脚本和配置文件。
文章来源:基因组所培训
基因组组装算法
目前,构建Graph的主流方法有3种,Overlap-Layout-Consensus(Celera Assembler、PBcR),de Bruijn Graph(SOAPdenovo ) 和 String Graph(Falcon)。
相关文献
- 基于De Bruijn图的宏基因组序列组装算法研究(CNKI)
- 对基因组组装算法的分析和研究(CNKI)
- 基于De Bruijn图的De Novo序列组装软件性能分析(CNKI)
- DNA序列拼接中de Bruijn图结构的研究(CNKI)
- 基因组学策略(二)揭开组装的神秘面纱上篇(诺禾致源)
- String graph – Wikipedia
- De Bruijn graph–Wikipedia
前言
基因组组装的基本思路:无论是一代sanger、二代短reads、三代长Pacbio,我们得到的测序数据相较于整个基因组而言仍然是极小的;我们的任务就是将这些小片段连接起来;序列之间的联系因为重复序列的存在变得非常复杂,通过overlap我们最终都会构建Graph,所有的算法都会从Graph中得到最优路径,从而得到最初的contig。
1 OLC算法
适用于reads读长较大的测序数据,如一代和三代的reads。
主要分为三步:
(1)Overlap:,对所有reads进行两两比对,找到片段间的重叠信息;
(2)Layout:根据得到的重叠信息将存在的重叠片段建立一种组合关系,形成重叠群,即Contig;
(3)根据构成Contig的片段的原始质量数据,在重叠群中寻找一条质量最重的序列路径,并获得与路径对应的序列,即Consensus。
OLC算法最初成功的用于Sanger测序数据的组装,比如Celera Assembler,Phrap,Newbler等均采用该算法进行拼接组装。
2 DBG算法
适用于reads比较短的测序数据,二代数据。
缺点:难以对重复序列区域进行分析,更依赖于建库。
首先将reads打断成长度为K的核酸片段,即Kmer,在利用Kmer间的overlap关系构建DBG,再通过DBG得到基因组序列。
DBG算法最早应用于如细菌类小的基因组的组装上,直到李瑞强等(2010)开发SOAPdenovo 算法,成功的组装了采用二代测序的黄瓜及熊猫的基因组,DBG算法开始普遍运用。
假设我们获得的reads是20bp,图1a中,生成6个片段,每个片段长度(L)是10bp,至少重叠长度(O)为5bp,然后各个片段建立OLC图。
图1b的Kmer为5,建立DBG图。
DBG算法相比于OLC的优势是什么?
由于二代测序得到的reads长度较短,包含的信息量较少,因此完成基因组拼接需要较高的覆盖度。OLC算法适用于读长较长的序列组装,通过构成的OLC图寻找Consensus sequence的过程,实际上是哈密顿通路寻找的问题,算法非常复杂。
若采用OLC算法,会大大增加拼接的复杂性以及运算量。
而采用DBG算法,通过K-1的overlap关系,构建DBG图,通过寻找欧拉路径得到Contig序列,从算法的角度极大的简化了组装的难度。
讲完算法,我们以目前应用广泛的 SOAPdenovo 软件为例来介绍组装过程。
SOAPdenovo软件的组装过程
(1)通过Kmer之间K-1的overlap关系构建contig(重叠群),如图2:
(2)利用pair-end信息,将无overlap关系的contigs搭建成scaffold(脚手架),如图3:
1数据纠错
要得到一个有较高准确性的基因组图谱,首先对测序得到的数据进行处理:
将reads逐bp打断成长度为K的连续核酸序列,如上图a所示,若这条reads中间由于测序错误有一个错误的碱基,那么在得到的Kmer中,也会有一些错误Kmer或者低频Kmer。
绘制Kmer频数分布图时,如上图b所示,Error free代表没有测序错误的Kmer频数分布,Error rate1%代表有1%错误率的Kmer频数分布。
错误Kmer对后续组装会产生很大的困扰,因此,在构建DBG图之前,需要先对数据进行纠错。纠错的两种方法:
(1)基于Read间的比对,通过多序列比对,通过概率模型区分测序错误引起的错误Kmer。这种方法纠错准确,但需要消耗较大的计算资源。如ALLPATH-LG,ECHO等纠错软件都基于这种方法。
(2)通过Kmer频数图谱进行区分,这类软件如SOAPdenovo,Euler等。
2构建Contig
根据Kmer之间的overlap关系进行连接,如下图所示:
reads(read1:AGATCTTGTTATT;read2:GTTATTGATCTCC)逐bp的打断成长度为5bp的Kmer,根据Kmer间的overlap关系进行连接。可以看到两条reads中 GATCT 和 GTTATT 是两个重复的片段,在构建De Bruijn图中,会形成如上图的泡状结构以及多个分支的情况,面对这种很复杂的图,如何才能找到那一条正确的路径呢?
(1)对De Bruijn图进行化简
简化De Bruijn图需要去掉无法继续连接的分支、低覆盖度的分支,并且利用序列信息化简重复序列在De Bruijn图的分叉通路,对于少量的杂合位点,采用随机选择策略,合并杂合位点。通常需要考虑如下几种情况:
(2)得到一个简化的De Bruijn图后,仍然会因有很多分叉位点无法确定真正的连接关系,因此接下来在每个分叉位点将序列截断,得到了最初contigs。
留给大家一个思考题:根据上述步骤,我们看下图4中复杂的De Bruijn示意图,可以得到什么样的contigs呢?(答案见文末)
3构建scaffold
将测序得到的reads比对回得到的contigs,利用reads之间的连接关系和插入片段大小信息,将contigs组装成scaffolds。
4补洞
得到的scaffold中间会有较多的gap,为了使组装的序列更完整,需再次利用测序的双末端数据之间的配对关系连接contigs,并利用测序数据与已经组装的contig之间的覆盖关系对contig之间空隙进行补洞,延长contigs,补洞后的contigs长度相比补洞之前一般增加2-7倍。
以上就是SOAPdenovo组装的基本过程,看明白了吗?
“揭开组装的神秘面纱下篇”敬请期待~
参考文献
1.Li RQ, Zhu HM, Ruan J, et al. Denovo assembly of human genomes with massively parallel short readsequencing. Genome Res. 2010, 20(2), 265-72.
2.Li ZY, Chen YX, Mu DS, et al. Comparison of the two majorclasses of assembly algorithms: overlap-layout-consensus andde-bruijn-graph. Brief Funct Genomics. 2012, 11(1), 25-37
3 string graph算法
有利于组装散列重复序列。
string graph中的节点是长度不一的序列,这些序列是由overlapping reads生成,需要设置一个最小overlap大小。
学习资源:
The fragment assembly string graph
基因组组装算法研究(已审核) - 百度文库
基因组组装工具之 SOAPdenovo 使用方法
SOAPdenovo一个新颖的适用于组装短reads的方法,能组装出类似人类基因组大小的de novo草图。
该软件特地设计用来组装Illumina GA short reads,新的版本减少了在图创建时的内存消耗,解决了contig组装时的重复区域的问题,增加了scaffold组装时的覆盖度和长度,改进了gap closing,更加适用于大型基因组组装。
(SOAPdenovo是为了组装大型植物和动物基因组而设计的,同样也适用于组装细菌和真菌,组装大型基因组大小如人类时,可能需要150G内存。)
1.配置文件
一般大型基因组组装项目都会有多个文库,配置文件包含文库的位置信息 以及其他信息。
配置文件包含 全局信息 和 多个文库部分信息。
全局信息:max_rd_len:任何比它大的read会被切到这个长度。
文库部分由[LIB]开始,并包含如下信息:
1) avg_ins
文库的平均插入长度,或者是插入长度分布图的峰值。(科普:理论上插入片段长度是成正态分布的,并不是严格控制的)
2) reverse_seq
这个选项有 0 或 1 两个选项,它告诉组装器read序列是否需要被完全反转。Illumima GA 产生两种 paired-end 文库:一是forward-reverse;另一个是 reverse-forward。"reverse_seq"参数应该如下设置:0,forward-reverse(由典型的插入长度少于500 bp的DNA末端片段生成);1,reverse-forward(由环状文库,典型的2 kb以上的文库生成)。
3) asm_flags
决定reads哪一段会被利用,1(仅进行contig组装);2(仅进行scaffold组装);3(contig和scaffold都组装);4(只进行gap closure)。
4) rd_len_cutof
组装器会过滤掉当前文库中到这个长度之间的reads。
5) rank
为整数值,它决定在scaffold组装时reads被利用的顺序。文库中具有同样rank值的会被同时使用(在组装scaffold时)。
6) pair_num_cutoff
该参数是成对number的 cutoff value,为了得到两条contigs的可靠的连接 或
pre-scaffolds。paired-end reads and mate-pair reads 的最小数量分别是 3 和 5.
7) map_len
这个参数在“map”阶段生效,它是read 和 contig 的最小比对长度,用来建立一个可靠的read定位。
paired-end reads and mate-pair reads 的最小的长度分别是 32 和 35.
组装器接受三种read格式:FASTA, FASTQ and BAM。
Mate-pair关系:
fastq中两个文件的同行序列;fasta中的邻行序列,bam文件比较特殊。
配置文件中,单端文件"f=/path/filename"or"q=/pah/filename"表示fasta or fastq格式。
双端reads被放在两个fasta文件中,分别为"f1=" and "f2="。
fastq文件由"q1=" and "q2="表示。
双端reads如果全在一个fasta文件中,则用"p="选项;reads在bam文件中则用"b=".选项。
以上参数大多是可选的,如果你不知道怎么用,可以不设置,让软件使用默认参数。
2.命令及参数
常用的一站式运行方式:
${bin} all -s config_file -K 63 -R -o graph_prefix 1>ass.log 2>ass.err
分四步运行:
${bin} pregraph -s config_file -K 63 -R -o graph_prefix 1>pregraph.log 2>pregraph.err
OR
${bin} sparse_pregraph -s config_file -K 63 -z 5000000000 -R -o graph_prefix 1>pregraph.log 2>pregraph.err
${bin} contig -g graph_prefix -R 1>contig.log 2>contig.err
${bin} map -s config_file -g graph_prefix 1>map.log 2>map.err
${bin} scaff -g graph_prefix -F 1>scaff.log 2>scaff.err
all (pregraph-contig-map-scaff)的参数
-s <string> 配置文件:config
-o <string> 输出图:输出图文件名的前缀
-K <int> kmer(最小 13, 最大 63/127): kmer size, [23]
-p <int> cpu核数 [8]
-a <int> 初始的内存:避免内存再分配,单位为G [0]
-d <int> KmerFreqCutoff: kmers with frequency no larger than KmerFreqCutoff will be deleted, [0]
-R (optional) resolve repeats by reads, [NO]
-D <int> EdgeCovCutoff: edges with coverage no larger than EdgeCovCutoff will be deleted, [1]
-M <int> mergeLevel(min 0, max 3): the strength of merging similar sequences during contiging, [1]
-m <int> max k when using multi kmer
-e <int> weight to filter arc when linearize two edges(default 0)
-r (optional) keep available read(*.read)
-E (optional) merge clean bubble before iterate
-f (optional) output gap related reads in map step for using SRkgf to fill gap, [NO]
-k <int> kmer_R2C(min 13, max 63): kmer size used for mapping read to contig, [K]
-F (optional) fill gaps in scaffold, [NO]
-u (optional) un-mask contigs with high/low coverage before scaffolding, [mask]
-w (optional) keep contigs weakly connected to other contigs in scaffold, [NO]
-G <int> gapLenDiff: allowed length difference between estimated and filled gap, [50]
-L <int> minContigLen: shortest contig for scaffolding, [K+2]
-c <float> minContigCvg: minimum contig coverage (c*avgCvg), contigs shorter than 100bp with coverage smaller than c*avgCvg will be masked before scaffolding unless -u is set, [0.1]
-C <float> maxContigCvg: maximum contig coverage (C*avgCvg), contigs with coverage larger than C*avgCvg or contigs shorter than 100bp with coverage larger than 0.8*C*avgCvg will be masked before scaffolding unless -u is set, [2]
-b <float> insertSizeUpperBound: (b*avg_ins) will be used as upper bound of insert size for large insert size ( > 1000) when handling pair-end connections between contigs if b is set to larger than 1, [1.5]
-B <float> bubbleCoverage: remove contig with lower cvoerage in bubble structure if both contigs coverage are smaller than bubbleCoverage*avgCvg, [0.6]
-N <int> 基因组大小 [0]
-V (optional) 组装的可视化信息输出 [NO]
学到的基本概念:
参考资料:
SOAPdenovo官方网站
测序深度和覆盖度(Sequencing depth and coverage)
总是跑数据,却对数据一无所知,这说不过去吧。
看几篇文章吧
Sequencing depth and coverage: key considerations in genomic analyses
(只讲二代)
Assembly of large genomes using second-generation sequencing(参考文献)
(二代最佳测序深度:50X)
Large Genome Assembly with PacBio Long Reads(已更新)
(纯三代最少50X,二三代联合:任意深度,策略不同)
回答几个问题:
不同的测序(denovo组装、重测序、转录组、外显子、表观),各对数据的深度和覆盖度有什么要求?
二代和三代在测序深度和覆盖度上的要求有什么不同?
four major study designs:
- de novo genome sequencing
- genome resequencing
- transcriptome sequencing
- genomic location analyses (for example, chromatin immunoprecipitation followed by sequencing (ChIP–seq) and chromosome conformation capture (3C))
四项主要研究设计:
1.重新测序基因组
2.基因组重测序
3.转录组测序
4.基因组定位分析(例,染色质免疫沉淀后测序(ChIP-seq)和染色体构象捕获(3C))
参考资料:
Question: de novo sequence assembly with extremely high coverage