NextPolish是武汉未来组开发的一个三代基因组polish工具(另外一个常用软件是Pilon)。NextPolish可以使用二代短读序列或者三代序列或者两者结合去纠正三代长读长序列在组装时导致的碱基错误(SNV/Indel)。由于它是专为polish设计,因此在运行速度和内存使用上都优与Pilon。
软件安装
目前NextPolish已经支持Python2/3,推荐使用Python2.7。NextPolish运行依赖Python的两个模块,分别是psutil和drmaa,其中只有psutil才是必须的,drmaa仅在你需要投递任务时才是必须的。
确认我们的Python版本, 以及检查是否安装了所需要的Python模块
python -V
# Python 2.7.15
python -c "import psutil"
python -c "import drmaa"
mkdir -p ~/opt/biosoft
cd ~/opt/biosoft
wget https://github.com/Nextomics/NextPolish/releases/download/v1.2.2/NextPolish.tgz
tar -zxvf NextPolish.tgz
# 编译软件
cd NextPolish && make -j 10
# 加入到.bashrc或.zshrc
export PATH=~/opt/biosoft/NextPolish:$PATH
软件使用
注意:如果你的基因组用的是miniasm这类缺少consensus步骤的组装软件,那么你需要运行racon利用三代序列进行polish。否则,由于基因组上存在过高的错误率,导致二代序列错误比对,影响polish效果。
threads=20
genome=input.genome.fa # 组装的基因组
lgsreads=input.lgs.reads.fq.gz # 三代长度序列
# 将三代回帖到参考基因组
minimap2 -a -t ${threads} -x map-ont/map-pb ${genome} ${lgsreads}| \
samtools view -F 0x4 -b - | \
samtools sort - -m 2g -@