基因组组装流程
1. 前期准备
背景信息:
GC含量和 GC分布
基因组重复程度
基因组⼤⼩估计
杂合情况
最好的情况是对⽅能提供已经发表的近源物种。根据近源物种分析以上信息,尤其是GC含量以及对应的GC分布,重复程度。
2. 测序策略
根据基因组⼤⼩和具体情况选择个⼤概的k值,根据“测序X数推导说明.pdf”制定⽤于构建contig所需的数据量以及所需的构建的⽂库数量。对于植物基因组⼀般考虑的是⼤kmer(>31),动物的话⼀般在27左尼龙片
右,具体根据基因组情况调整。需要在短⽚段数据量达到20X左右的时候进⾏kmer分析。Kmer分析正常后,继续加测数据以达到最后期望的数据量。
3. 组装流程
原始数据-数据过滤-纠错-kmer分析-denovo组装
3.1 数据过滤:
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/Filter_data/⽬录下有程序、源代码、使⽤⽂档、test实例
/nas/GAG_01A/asmbly/yanglinfeng/Filter_gz/⽬录下程序⽤法和上⾯⼀样,读gz压缩⽂件,省去解压缩
3.2 数据纠错:
/ifs1/GAG/asmble/fanw/Asmbly/source_codes/correct_error/correct_error_v1.0/有先使⽤多线程版本correct_error_pread
说明⽂档以及算法详见“Error_correction_algorithm.doc”
3.3 kmer分析:
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/kmerfreq/⽬录下有程序、源代码、使⽤⽂档、
/ifs1/GAG/asmble/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/asmble/wangzhiwen/raid6/bin/gc_vs_depth/coverage_gc_dis.sh
运⾏脚本会得到使⽤说明美国地形
4.4 基因组的单碱基深度分布
较为理想的分布是接近泊松分布,这样说明测序的随机性较好。计算基因组单碱基深度⽤到所有reads的soap的结果,程序如下,直接运⾏的到帮助信息。
/
nas/GAG_01A/asmbly/Databa/Asmbly/chenyan/01.Data_verage
4.5 确定污染,去除污染reads
将在疑似污染区域中的scaffold,scaffold 80%落在疑似区域,将scaffold断成contig,取⽚段>1k或者更长的部分(根据实际情况选择)与nt库做blast⽐对,取⽐对结果最好的以确定是否为污染,污染物为什么物种,使⽤注释组流程:
/nas/GAG_02/huangqf/GACP-8.-annotation/Dbxref/bin/blast_databa.pl
美甲的危害下载确定的污染物的基因组序列作为reference,将所有的reads与之⽐对,能有⽐上的就去掉对应的⼀对reads,过滤后的reads再进⾏重新组装。
5. 确定组装版本后的处理以及检验
5.1 原始contig定位
主要是针对原始contig的准确度远⾼于补洞部分的序列,这样在后期注释、进化可以区别对待。
将原始contig定位到补洞后scaffold上,选取长度⼤于cutoff的contig,利⽤的是nucmer的⽐对,根据⽐对结果进⾏定位,⽐上位置为⼤写的ATCG,其余位置为⼩写atcg。输出⽂件为*.OUT
相应脚本和程序⽬录:
宣告失踪的条件/nas/GAG_01A/asmbly/Databa/Asmbly/yanglinfeng/confirm_contig2scaffold/
使⽤说明请参考⽬录下README.doc
5.2 针对关键区域的PE关系数的确定
针对注释或者进化对某些scaffold区域的分析得到较为重要的结果,需要进⼀步确定是否存在组装错误问题。
从之前的所有reads的soap结果中选取对应的scaffold⽐对结果,利⽤程序
/ifs1/GAG/asmble/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/asmbly/yanglinfeng/EST_and_BAC/EST_work.sh
6.2 BAC评价
参考/nas/GAG_01A/asmbly/yanglinfeng/EST_and_BAC/BAC_pipeline.pl
使⽤⽂档请查看:
/nas/GAG_01A/asmbly/yanglinfeng/EST_and_BAC/BAC_
7. 其他使⽤到的程序以及说明
7.1 Connect Mated Read(CMR)
⽤于将测通的PE reads连接成⼀条长reads。
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/cmr/cmr
手术的英文
运⾏得到帮助信息,说明⽂档在⽬录:
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/cmr/
金羊毛
7.2 simulate_solexa_reads
⽤于模拟solexa reads,运⾏得到帮助信息。
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/simulate_solexa_reads/simulate_solexa_reads
说明⽂档在⽬录:
/nas/GAG_01A/asmbly/Databa/Asmbly/Package/simulate_solexa_reads/
7.3 项⽬⽬录结构
对于项⽬的⽬录结构,每个项⽬下分6个⼦⽬录。如:
/ifs1/GAG/asmble/chenyan/cucumber/⽬录⾥⾯包含有
00.data 01.analysis 02.asmbly 03.soap 04.evaule 05.super-scaffold 06.backup
00.data主要放置原始数据链接,处理后数据,Sanger测序数据
01.analysis主要是针对初步产出的20X的分析,包括Kmer分析和细菌污染⽐对分析
02.asmbly 主要是保存组装的版本
03.soap主要是需要分析⽂库的插⼊⽚段,⼤⽚段数据去除⼩峰,reads数据去除污染,还有GC—Depth的分布等等
04.evaluate 主要是对组装结果的评价,包括EST,BAC评价,全基因组线性化的⽐对(有reference序列)和两个组装版本间的⽐较
05.super-scaffold 主要是针对有fosmid-end和bac-end数据的项⽬
06.backup 主要是备份中期传给客户的报告,序列,还有上述需要备份的脚本和配置⽂件。
⽂章来源:基因组所培训