对组装之后的三代基因组进行polish
一:利用pilon软件进行二代数据对三代数据polish
准备数据 :
- 三代数据组装好的基因组文件:draft.fa
- illumina的双端测序数据经过质控之后的数据:read1_fq.gz read2_fq.gz
比对(bwa)
构建索引
$bwa index -p index/draft draft.fa
- 比对并排序
-
$bwa mem -t 16 index/draft raed1_fq.gz read2_fq.gz |samtools sort -@ 10 -O bam -o align.bam
- 对比对好的bam文件建索引
-
$samtools index -@ 10 align.bam
-
标记重复
$sambamba markup -t 10 align.bam align_markup.bam
过滤高质量比对的reads
$samtools view -@ 10 -q 30 align_markup.bam >align_filter.bam
$samtools index -@ 10 align_filter.bam
使用pilon进行polish
java -Xmx10G -jar pilon-1.23.jar --genome draft.fa --frags align_filter.bam --fix snp,indels --output pilon_polished --vcf & >pilon.log
- pilon的参数
- --frags: 表示输入的是1kb以内的paired-end文库,
- --jumps表示 大于1k以上的mate pair文库,
- --bam则是让软件自己猜测
- -vcf: 输出一个vcf文件,包含每个碱基的信息
- --fix: Pilon将会处理的内容,基本上选snps和indels就够了
- --variant: 启发式的变异检测,等价于--vcf
- --fix all,breaks, 如果是polish不要使用该选项
- --minmq: 用于Pilon堆叠的read最低比对质量,默认是0。
二:可用 samtools, arrow, pbmm2, pbindex 用三代Pacbio组装后的结果 进行polish
准备数据
- 组装得到的基因组文件raw_assembly.fa [falcon, canu, mecat2 以及flye等软件只对三代数据进行组装得到的组装结果
- 公司给的raw bam文件【类似这样的XXX.subreads.bam】
gcpp用法与GenomicConsensus类似,参数都类似,所以最后一步可以改为:
$gcpp -j 16 -r assembly.fa -o variants.vcf -o consensus.fasta map.pacbio.bam
三. 最后使用quickmerge对多个软件拼接的结果进行合并,来提高组装质量
最简单的就是直接运行quickmerge的一个py脚本
$merge_wrapper.py hybrid_assembly.fasta self_assembly.fasta
还有一种是分步运行
$nucmer -l 100 -p out1 -t 8 reference.fa query.fa $delta-filter -i 95 -r -q out.delta > out.rq.delta $quickmerge -d out.rq.delta -q query.fa -r reference.fa -hco 5.0 -c 1.5 -l 520000 -ml 10000
一般-l选择引用(-r)程序集的N50作为初始值,-ml一般大于5000。
这里讲一下nucmer和delta-filter都是mumer里面的程序包,quickmerge里面自带了mummer,要是想进一步了解也可以自己下载:mummer官网github的mummer
- nucmer参数及用法
$nucmer [options] <Reference> <Query> -l|minmatch 设置单个匹配的最小长度(默认20) -p|prefix 设置输出文件的前缀(默认为out)
- delta-filter参数及用法
-
$delta-filter [options] <deltafile> -i float 设置最小对齐标识[0,100],默认为0 -r 允许query overlaps(多对多) -q 允许reference overlaps(多对多)
1 可以 merge 两种不同组装方法的三代组装结果 (e.g. one generated with PBcRor canu and another generated with FALCON).
2 You can run Ka-kit's finisherSC after running quickmerge to improve the contiguity even further.
3 组装merge前后的Assembly polishing with Quiver and pilon is strongly recommended.
来源:
https://www.jianshu.com/p/b5b420d1eb17
https://github.com/mahulchak/quickmerge/wiki
对组装之后的三代基因组进行polish
posted on 2020-06-05 17:36 BPSO_mynotes 阅读(2598) 评论(0) 编辑 收藏 举报