当前位置: 首页 > java >正文

NextPolish1.4.1 安装与使用-bioinformatics tools54

01 简介

NextPolish 是一个用于修正由低准确度长读段(如 ONT 或 CLR)组装出来的基因组序列中碱基错误(SNV/Indel)的工具。它支持:

  • 仅使用短读段

  • 仅使用长读段

  • 同时使用短读段与长读段

NextPolish 包含两个核心模块,采用逐步(stepwise)策略对参考基因组中的错误碱基进行修正。

如果你要对原始第三代测序(TGS)长读段(错误率约为 10–15%)进行纠错或组装,请使用 NextDenovo。

02 安装

1. 下载

使用以下命令:

wget https://github.com/Nextomics/NextPolish/releases/latest/download/NextPolish.tgz

 注意:如果你遇到诸如 GLIBC_2.14 not foundliblzma.so.0: cannot open shared object file 的错误,请尝试使用该页面提供的兼容版本。

2. 依赖项

  • Python 2 或 3

  • paralleltask

安装:

pip install paralleltask

3. 编译安装

tar -vxzf NextPolish.tgz cd NextPolish make 

4. 卸载

cd NextPolish make clean

5. 测试是否安装成功

nextPolish test_data/run.cfg

03 使用

1:准备短读段文件列表(SGS FOFN)

ls reads1_R1.fq reads1_R2.fq reads2_R1.fq reads2_R2.fq > sgs.fofn

2:创建配置文件 run.cfg

genome=input.genome.fa echo -e "task = best\ngenome = $genome\nsgs_fofn = sgs.fofn" > run.cfg

3:运行程序

nextPolish run.cfg

输出结果

  • 打磨后的序列:/path_to_work_directory/genome.nextpolish.fasta

  • 统计信息文件:/path_to_work_directory/genome.nextpolish.fasta.stat

提示

你也可以用自己的比对流程(如 BWA + samtools),仅调用 NextPolish 的打磨模块,这在本地系统上通常会更快,但打磨后的基因组质量一致。

重要说明

建议先使用长读段(如 HiFi 或 ONT)对原始基因组进行打磨,再用短读段进一步优化,避免短读段在高错误率区域中错配。尤其是基于无共识算法(如 miniasm)生成的初步组装,更容易出现错配。

04 案例
4.1 使用短读进行基因组精修

准备 sgs_fofn 文件

ls reads1_R1.fq reads1_R2.fq reads2_R1.fq reads2_R2.fq > sgs.fofn

创建 run.cfg 配置文件

[General] job_type = local job_prefix = nextPolish task = best rewrite = yes rerun = 3 parallel_jobs = 6 multithread_jobs = 5 genome = ./raw.genome.fasta # 基因组文件 genome_size = auto workdir = ./01_rundir polish_options = -p {multithread_jobs} [sgs_option] sgs_fofn = ./sgs.fofn sgs_options = -max_depth 100 -bwa

运行

nextPolish run.cfg

精修完成后输出

  • 序列:/path_to_work_directory/genome.nextpolish.fasta

  • 统计信息:/path_to_work_directory/genome.nextpolish.fasta.stat

提示

用户自定义的比对流程在本地运行时比默认流程更快,精修后基因组的准确性与默认流程一致。

自定义比对流程示例(短读)

round=2 threads=20 read1=reads_R1.fastq.gz read2=reads_R2.fastq.gz input=input.genome.fa for ((i=1; i<=${round};i++)); do bwa index ${input}; bwa mem -t ${threads} ${input} ${read1} ${read2} | \ samtools view --threads 3 -F 0x4 -b - | \ samtools fixmate -m --threads 3 - - | \ samtools sort -m 2g --threads 5 - | \ samtools markdup --threads 5 -r - sgs.sort.bam samtools index -@ ${threads} sgs.sort.bam samtools faidx ${input} python NextPolish/lib/nextpolish1.py -g ${input} -t $i -p ${threads} -s sgs.sort.bam > genome.polishtemp.fa input=genome.polishtemp.fa done # 最终精修后的基因组:genome.nextpolish.fa
4.2 使用长读进行基因组精修

准备 lgs_fofn 文件

ls reads1.fq reads2.fa.gz > lgs.fofn

创建 run.cfg 配置文件

[General] job_type = local job_prefix = nextPolish task = best rewrite = yes rerun = 3 parallel_jobs = 6 multithread_jobs = 5 genome = ./raw.genome.fasta genome_size = auto workdir = ./01_rundir polish_options = -p {multithread_jobs} [lgs_option] lgs_fofn = ./lgs.fofn lgs_options = -min_read_len 1k -max_depth 100 lgs_minimap2_options = -x map-ont

运行

nextPolish run.cfg

精修完成后输出

  • 序列:/path_to_work_directory/genome.nextpolish.fasta

  • 统计信息:/path_to_work_directory/genome.nextpolish.fasta.stat

自定义比对流程示例(长读)

round=2 threads=20 read=read.fasta.gz read_type=ont # 可为 clr(PacBio)、hifi(高准确性PacBio)、ont(纳米孔) declare -A mapping_option=(["clr"]="map-pb" ["hifi"]="asm20" ["ont"]="map-ont") input=input.genome.fa for ((i=1; i<=${round};i++)); do minimap2 -ax ${mapping_option[$read_type]} -t ${threads} ${input} ${read} | \ samtools sort - -m 2g --threads ${threads} -o lgs.sort.bam samtools index lgs.sort.bam ls `pwd`/lgs.sort.bam > lgs.sort.bam.fofn python NextPolish/lib/nextpolish2.py -g ${input} -l lgs.sort.bam.fofn -r ${read_type} -p ${threads} -sp -o genome.nextpolish.fa if ((i!=${round})); then mv genome.nextpolish.fa genome.nextpolishtmp.fa input=genome.nextpolishtmp.fa fi done # 最终精修后的基因组:genome.nextpolish.fa
4.3 使用短读和长读联合精修
  • 准备 sgs.fofnlgs.fofn

  • 创建 run.cfg 文件如下:

[General] job_type = local job_prefix = nextPolish task = best rewrite = yes rerun = 3 parallel_jobs = 6 multithread_jobs = 5 genome = ./raw.genome.fasta genome_size = auto workdir = ./01_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-ont
4.4 使用短读和 hifi 长读联合精修
  • 准备 sgs.fofnhifi.fofn

  • 创建 run.cfg 文件如下:

[General] job_type = local job_prefix = nextPolish task = best rewrite = yes rerun = 3 parallel_jobs = 6 multithread_jobs = 5 genome = ./raw.genome.fasta genome_size = auto workdir = ./01_rundir polish_options = -p {multithread_jobs} [sgs_option] sgs_fofn = ./sgs.fofn sgs_options = -max_depth 100 -bwa [hifi_option] hifi_fofn = ./hifi.fofn hifi_options = -min_read_len 1k -max_depth 100 hifi_minimap2_options = -x map-pb
http://www.xdnf.cn/news/5077.html

相关文章:

  • leader-line文本添加click点击事件
  • 【人工智能学习之注意力机制浅析】
  • 学习黑客威胁情报(Threat Intelligence)
  • 一文了解Python中的requests库:网络交互的基础
  • AI服务器通常会运用在哪些场景当中?
  • STM32CubeMX安装及使用分享
  • 切比雪夫不等式专题习题
  • Qt开发:项目视图(Item Views)的介绍和使用
  • CRC 循环冗余校验
  • TRAE 配置blender MCP AI自动3D建模
  • 京东商品详情接口 item_get 深度解析
  • 学习一下linux的思路和笔记分享
  • CSS opacity
  • 已解决:安卓刚打开新项目的时候,会下载该项目要求的sdk gradle,开了科学上网也慢
  • C++学习-入门到精通-【5】类模板array和vector、异常捕获
  • B树和B+树
  • xxl-job的pg数据库改造适配
  • TiDB预研-分页查询、连接查询、执行计划
  • yolov5基础--yolov5源码阅读(common.py)
  • LeRobot 项目部署运行逻辑(六)——visualize_dataset_html.py/visualize_dataset.py
  • 4-37:某单位分配到一个地址块 136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:....
  • 全局异常未能正确捕获到对应的异常
  • shell脚本基础详细学习(更新中)
  • 资产月报怎么填?资产月报填报指南
  • 半导体供应链集成使用EDI,RosettaNet,及自定义API 之间的差异
  • 【Light】帕多瓦大学超表面技术:开启矢量光束相位偏振定制新时代
  • (pnpm)引入 其他依赖失败,例如‘@element-plus/icons-vue‘失败
  • 如何保证Session的一致性
  • temu采购自养号全流程解析:从账号搭建到安全下单的技术闭环
  • lvm详细笔记