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.pswp.cn/web/79221.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/79221.shtml
英文地址,請注明出處:http://en.pswp.cn/web/79221.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Vue3 el-tree:全選時只返回父節點,半選只返回勾選中的節點(省-市區-縣-鎮-鄉-村-街道)

需求原因&#xff1a;全選時&#xff0c;傳給接口的code數據太多了&#xff1b; 如果加上 check-strictly 父節點與子節點無關聯&#xff0c;可以初步滿足需求 效果如下使用了check-strictly的話&#xff0c;tree就沒有了半選效果 不好的地方&#xff1a;用戶體驗感不好&#x…

使用 docker 安裝 nacos3.x

一、安裝 nacos 1.拉取鏡像 使用如下指令拉取鏡像 docker pull nacos/nacos-server 拉取完成后&#xff0c;可以使用以下命令查看是否拉取到對應的鏡像&#xff0c;默認拉取最新鏡像 docker images 2.新建掛載文件目錄 mkdir -p /home/ubuntu/nacos/conf/mkdir -p /home/…

高性能Python Web 框架--FastAPI 學習「基礎 → 進階 → 生產級」

以下是針對 FastAPI 的保姆級教程&#xff0c;包含核心概念、完整案例和關鍵注意事項&#xff0c;采用「基礎 → 進階 → 生產級」的三階段教學法&#xff1a; 一、FastAPI介紹 FastAPI 是一個現代化的、高性能的 Python Web 框架&#xff0c;專門用于構建 APIs&#xff08;應…

H2 Database Select 語句執行流程

H2 Database Select 語句執行流程 使用 // CREATE TABLE IF NOT EXISTS test(id INT primary key, name VARCHAR(255)) // insert into test(id, name) values(1, name1), (2, name2), (3, name3), (4, name4); String sql "SELECT * FROM test where id > 1 and na…

理解 Envoy 的架構

理解 Envoy 的架構對于深入理解 Istio 至關重要&#xff0c;因為 Envoy 是 Istio 數據平面的核心。Envoy 是一個高性能的 C 分布式代理&#xff0c;設計為云原生應用和大規模微服務架構的網絡基礎。 以下是 Envoy 架構的關鍵組成部分和核心理念&#xff1a; 核心設計理念&…

Android開發-常用布局

在Android應用開發中&#xff0c;布局決定了用戶界面的結構和元素之間的相對位置。選擇合適的布局不僅能夠提升用戶體驗&#xff0c;還能提高代碼的可維護性和靈活性。本文將介紹幾種最常用的Android布局方式&#xff0c;包括LinearLayout、RelativeLayout、ConstraintLayout以…

如何在MySQL中實現類似Redis的PING命令的功能來檢測連接狀態?

要在MySQL中實現類似Redis的PING命令的功能來檢測連接狀態&#xff0c;可以采用以下方法&#xff1a; 方法一&#xff1a;使用簡單的SQL查詢 最直接的方法是通過執行一個簡單的查詢來檢測連接狀態&#xff0c;例如&#xff1a; SELECT 1;如果查詢成功并返回結果&#xff08;…

Vue 系列之:defineProps、defineEmits、...

defineProps 用于接收父組件傳遞的屬性值。 父組件&#xff1a; <!-- 父組件 --> <template><Child1 str"字符串" :num"num" />-----------------<Child2 str"字符串" :num"num" /> </template><…

windows服務器部署Gitlab

代碼托管,如果對工具功能要求不高,Gitea也可以滿足需要,只是功能相對比較簡單。 通常GltLab是部署在linux服務器上的,windows版本已經不維護了。不過現在windows10 11已經可以實現部署了,一個是windows本機部署linux虛擬機(windows商店直接安裝或者其他虛擬機平臺都可以)…

剖析 FFmpeg:從基本功能到過濾器,實現音視頻處理的靈活性

目錄 1.解復用2 解碼2.1 音頻解碼2.2 視頻解碼 3 修飾3.1 avio3.2 重采樣 4 過濾器4.1 過濾器基本知識4.2 簡單過濾器4.3 復雜濾鏡圖 1.解復用 解復用就是把容器中的媒體流分離出來&#xff0c;方便我們對媒體流處理。 step1&#xff1a;對媒體文件上下文初始化 AVFormatCont…

kafka學習筆記(四、生產者、消費者(客戶端)深入研究(三)——事務詳解及代碼實例)

1.事務簡介 Kafka事務是Apache Kafka在流處理場景中實現Exactly-Once語義的核心機制。它允許生產者在跨多個分區和主題的操作中&#xff0c;以原子性&#xff08;Atomicity&#xff09;的方式提交或回滾消息&#xff0c;確保數據處理的最終一致性。例如&#xff0c;在流處理中…

Missashe計網復習筆記(隨時更新)

Missashe計算機網絡復習筆記 前言&#xff1a;這篇筆記用于博主對計網這門課所學進行記錄和總結&#xff0c;也包括一些個人的理解。正在更新當中…… 第一章 計算機網絡體系結構 考綱內容 (一) 計算機網絡概述 計算機網絡的概念、組成與功能;計算機網絡的分類; 計算機網絡…

PVP鼠標推薦(deepseek)

下面有不懂的自行百度查找&#x1f44d; ?? 以下是幾款在 雙擊性能&#xff08;DBC&#xff09; 和 拖拽點擊&#xff08;DC&#xff09; 方面表現優秀的游戲鼠標推薦&#xff0c;結合了硬件性能、微動壽命以及玩家口碑&#xff1a; 1. 羅技 G102/G203 Lightsync 特點&#…

ABP vNext + EF Core 實戰性能調優指南

ABP vNext EF Core 實戰性能調優指南 &#x1f680; 目標 本文面向中大型 ABP vNext 項目&#xff0c;圍繞查詢性能、事務隔離、批量操作、緩存與診斷&#xff0c;系統性地給出優化策略和最佳實踐&#xff0c;幫助讀者快速定位性能瓶頸并落地改進。 &#x1f4d1; 目錄 ABP vN…

為啥大模型一般將kv進行緩存,而q不需要

1. 自回歸生成的特點 大模型&#xff08;如 GPT 等&#xff09;在推理時通常采用自回歸生成的方式&#xff1a; 模型逐個生成 token&#xff0c;每次生成一個新 token 時&#xff0c;需要重新計算注意力。在生成第 t 個 token 時&#xff0c;模型需要基于前 t-1 個已生成的 t…

3DGS-slam:splatam公式

配套講解視頻&#xff1a;https://www.bilibili.com/video/BV1ZgfBYdEpg/?spm_id_from333.1387.homepage.video_card.click&vd_sourced4c3e747c32049ddd90dcce17208f4e0 1、多維高斯分布公式: 對于多維&#xff08;多變量&#xff09;高斯分布&#xff0c;概率密度函數的…

從Dockerfile 構建docker鏡像——保姆級教程

從Dockfile開始 dockerfile簡介開始構建1、編輯dockerfile2、構建鏡像3、拉取鏡像4、推送到鏡像倉庫 鏡像的優化1、優化的基本原則2、多階段構建 dockerfile簡介 開始構建 1、編輯dockerfile # 使用官方的 Python 3.8 鏡像作為基礎鏡像 FROM python:3.8-slim# 設置工作目錄 …

開元類雙端互動組件部署實戰全流程教程(第2部分:控制端協議拆解與機器人邏輯調試)

作者&#xff1a;那個寫了個機器人結果自己被踢出房間的開發者 游戲邏輯房間結構參考界面 從這張圖我們能看出&#xff0c;該組件按功能結構細分為多個房間&#xff0c;每個房間底注、準入標準不同&#xff0c;對應的控制模塊也有層級區分。常規來說&#xff0c;一個“互動房間…

[特征工程]機器學習-part2

1 特征工程概念 特征工程:就是對特征進行相關的處理 一般使用pandas來進行數據清洗和數據處理、使用sklearn來進行特征工程 特征工程是將任意數據(如文本或圖像)轉換為可用于機器學習的數字特征,比如:字典特征提取(特征離散化)、文本特征提取、圖像特征提取。 特征工程步驟…

[數據庫之十一] 數據庫索引之聯合索引

執行數據庫查詢時&#xff0c;通常查詢條件是多對個屬性進行判斷和約束&#xff0c;對于這種類型的查詢&#xff0c;如果存在多個索引則使用多個索引&#xff0c;或者使用建立在多屬性搜索碼上的索引&#xff0c;這樣能提高查詢效率。 一、使用多個單碼索引 假設數據表 instruc…