一:利用pilon软件进行二代数据对三代数据polish
准备数据 :
比对(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
$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
二:可用 samtools, arrow, pbmm2, pbindex 用三代Pacbio组装后的结果 进行polish
准备数据
$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 [options] <Reference> <Query> -l|minmatch 设置单个匹配的最小长度(默认20) -p|prefix 设置输出文件的前缀(默认为out)
$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
原文:https://www.cnblogs.com/bio-mary/p/12851347.html