一:利用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