对拼接结果进行纠错,或者称为抛光。既可以使用二代测序数据,也可以使用三代数据。
pilon
pilon 是一款基于二代测序数据进行纠错的软件,比较消耗计算资源。要求输入为比对好的bam文件。
下载地址:https://github.com/broadinstitute/pilon/releases
## 准备基因组文件
genome.fa
## 创建基因组文件的bwa比对的index
bwa index genome.fa
# 比对并排序
bwa mem -t 6 genome.fa fq1.gz fq2.gz | samtools sort - -o reads.bam
## 创建比对结果index文件
samtools index reads.bam
## 进行pilon 纠错,二倍体需要添加--diploid 参数
java -Xmx10G -jar home/software/pilon-1.23/pilon-1.23.jar \
--genome genome.fa \
--frags reads.bam \
--changes --vcf --diploid --threads 6 \
--outdir ./pilon_out \
--output genome_pilon
racon
racon 是一款可以使用illumina、pacbio 和nanopore 数据进行polish 的软件。一般我们使用三代数据作为输入, 纠错多次。输入为比对好的sam文件。
软件网址:https://github.com/isovic/racon
## 比对
## map-ont for ont; map-hifi for hifi; map-pb for clr
minimap2 -ax map-pb -t 8 genome.fasta pacbio.fastq.gz > pacbio.sam
## 纠错
racon -t 8 pacbio.fastq.gz pacbio.sam.gz genome.fasta > pacbio.racon.fa
nextPolish
nextPolish 是2019 年发表的一款快速和准确的纠错软件,输入数据可以是illumina、pacbio 或nanopore 数据。
下载地址:https://github.com/Nextomics/NextPolish
需要准备一个配置文件run.txt
nextPolish run.txt
#参考配置文件
cat run.txt
[General]
job_type = local
job_prefix = nextPolish
task = best
rewrite = yes
rerun = 3
parallel_jobs = 6
multithread_jobs = 5
genome = ./genome.fasta #输入数据
genome_size = auto
workdir = ./rundir
polish_options = -p {multithread_jobs}
[sgs_option]
sgs_fofn = ./sgs.fofn
sgs_options = -max_depth 100 -bwa
[lgs_option]
lgs_fofn = ./lgs.fofn
lgs_options = -min_read_len 1k -max_depth 100
lgs_minimap2_options = -x map-pb -t {multithread_jobs}