iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
AI & Data

16S rRNA 從次世代到三代定序-生資QIIME2資料分析趣系列 第 23

[Day 23] TGS pb-16S-nf : 分析流程概述與安裝

  • 分享至 

  • xImage
  •  

三代定序分析主程式 pb-16S-nf v0.3

QIIME2 對於二代定序資料高度支援,
但在第三代定序的資料相容性上仍未完善,
本篇採用由 PacBio 官方於 2022.8 出品,
結合 QIIME2 等眾多套件的超級方便軟體 pb-16S-nf
並擁有下列特色 :

  1. 單一指令執行所有分析流程
  2. 自帶兩種分類器 VSEARCH 與 Naive Bayes classifier
  3. Naive Bayes classifier 結合 SILVA, GTDB and RefSeq + RDP 多重資料庫
  4. 內建 Krona 動態圓餅與 PICRUSt2 基因功能預測

仔細看標題軟體版本為 v0.3 難不成是測試版 ?
對,就是拿麼新,你已經站生物資訊的浪頭上了( •̀ ω •́ )✧

這裡附上一張 PacBio HiFi 平台與其他產品/競品比較,
使用自己的序列檔案時要留意是否符合下圖綠色框框的標示 :
https://ithelp.ithome.com.tw/upload/images/20221003/20151510pz5oJ93sbH.png
(Logsdon, G. A., Vollger, M. R., & Eichler, E. E., 2020)

  • 分析流程 (Worlflow)

    根據官方釋出資料,會發現其流程與[Day 05]介紹的 QIIME2 大致一致,
    圖中包含 :
    Input -> Trimming -> QC -> Taxonomy classification -> Phylogenic tree, diversity analysis, visualization ...
    pb-16S-nf=workflow

    觀察紅色字體部分,可以發現與先前介紹的步驟相當類似。若沒有分析過次世代定序資料,強烈建議先實作完 NGS 分析再學習三代會比較上手 !
    Reference : pb-16S-nf

    比起 QIIME2 本身, pb-16S-nf 又囊括了更多套件補足 QIIME2 在三代分析的不足,
    甚至提供一鍵跑完上述所有流程 !

  • 安裝環境

    • conda 建置環境與安裝 Mamba 及 Nextflow 輔助套件

      conda create --name TGS python=3.8
      
      conda activate TGS
      
      #建立一個名為 TGS 虛擬環境,並進入環境
      
      conda install mamba -n base -c conda-forge
      
      mamba init
      
      #多執行緒版 conda install,若是一路學習過來的讀者,mammba 已在 [Day 19] 安裝,可跳過這兩行
      
      conda install -c bioconda nextflow
      
      #提供自動執行 Pipeline、中斷能繼續分析的軟體,pb-16S-nf 需要它
      
    • 下載 pb-16S-nf 主程式

      git clone https://github.com/PacificBiosciences/pb-16S-nf.git
      #這個連結會下載最新版本的pb-16S-nf
      
      #############################
      #2023.01.29 補充說明 :
      #若在後續步驟中發現不明原因的報錯,
      #可以嘗試重新安裝本篇採用的v0.3版本 :
      
      wget https://github.com/PacificBiosciences/pb-16S-nf/archive/refs/tags/v0.3.tar.gz
      #下載v0.3版本
      
      tar zxvf v0.3.tar.gz
      #解壓縮
      
      mv pb-16S-nf-0.3 pb-16S-nf
      #更改檔名之後(以便與後續教學吻合)可前往下一步驟
      
      
    • 修正配置檔案 (v0.3版才需要做這步驟,新版可跳下一點:初始化與下載資料庫和分類器)

      這裡有個神奇 Bug ,會導致安裝失敗,
      需要修正配置檔案 qiime2-2022.2-py38-linux-conda.yml
      我們需要先將 bioconductor-genomeinfodbdata 版本要求調整 :

      cd pb-16S-nf/env
      #進去 pb-16S-nf/env資料夾
      
      vi qiime2-2022.2-py38-linux-conda.yml
      #編輯 qiime2-2022.2-py38-linux-conda.yml
      

      找到 bioconductor-genomeinfodbdata=1.2.7
      將其改為 :

      bioconductor-genomeinfodbdata=1.2.6
      

      不知道什麼原因 1.2.7 載點失效,於是降版。

      :wq 儲存後,回到 pb-16S-nf 資料夾 :

      cd ..
      
    • 初始化與下載資料庫和分類器
      過程會有點久,可以先去看場電影,可以開 screen 跑 :

      nextflow run main.nf --download_db
      #開始下載物種資料庫與分類器
      

      完成畫面 :

      executor >  Local (1)
      [8b/ae67a7] process > pb16S:download_db [100%] 1 of 1 ✔
      'Completed at: 04-Oct-2022 00:00:08
      Duration    : 12m 22s
      CPU hours   : 0.8
      Succeeded   : 1'
      
  • 測試是否安裝成功

    echo -e "sample-id\tabsolute-filepath\ntest_data\t$(readlink -f test_data/test_1000_reads.fastq.gz)" > test_data/test_sample.tsv
    
    #Create sample TSV for testing
    
    nextflow run main.nf \
      --input test_data/test_sample.tsv \
      --metadata test_data/test_metadata.tsv \
      -profile conda \
      --outdir results
    
    #運行小小的測試資料,這指令內容是不是有點熟悉~
    

    順利的話會出現如下圖所示的提示訊息,就可以快樂前往下一天 :
    https://ithelp.ithome.com.tw/upload/images/20230204/20151510dWd8g9KdNN.png

    如果有未安裝完全的環境,在過程中會自動補齊,
    補齊過程有點久,可以去運動再回來。
    Reference : pb-16S-nf

  • 報錯情況

    • csvtk: command not found 報錯

      如果遇到紅字報錯且含有以下文字:

      Command error:
      .command.sh: line 2: csvtk: command not found
      

      執行以下指令補安裝csvtk套件,並刪除先前的測試資料紀錄 :

      conda install -c bioconda csvtk
      
      rm -r report_results
      

      再重新執行測試資料分析 :

      nextflow run main.nf \
        --input test_data/test_sample.tsv \
        --metadata test_data/test_metadata.tsv \
        -profile conda \
        --outdir results
      

下回是範例序列下載與製作輸入檔案~


上一篇
[Day 22] TGS 第三代定序原理 (Pacific Biosciences)
下一篇
[Day 24] TGS pb-16S-nf : 範例序列下載與製作輸入檔案 (Manifest & Metadata)
系列文
16S rRNA 從次世代到三代定序-生資QIIME2資料分析趣33
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
evelinayyl
iT邦新手 5 級 ‧ 2023-02-06 15:02:04

你好,感謝詳細的教學
我按照上述步驟(v0.3)進行安裝,但是出現以下錯誤:
Error executing process > 'pb16S:QC_fastq (1)'

Caused by:
Process pb16S:QC_fastq (1) terminated with an error exit status (255)

Command executed:

seqkit fx2tab -j 8 -q --gc -l -H -n test_1000_reads.fastq.gz | csvtk mutate2 -C '%' -t -n sample -e '"test_data"' > test_data.seqkit.readstats.tsv
seqkit stats -T -j 8 -a test_1000_reads.fastq.gz | csvtk mutate2 -C '%' -t -n sample -e '"test_data"' > test_data.seqkit.summarystats.tsv
seqkit seq -j 8 --min-qual 20 test_1000_reads.fastq.gz --out-file test_data.filterQ20.fastq.gz
echo -e "test_data "$PWD"/test_data.filterQ20.fastq.gz" >> test_data_filtered.tsv

Command exit status:
255

Command output:
(empty)

Command error:
.command.sh: line 2: seqkit: command not found
[ERRO] empty file: -

Work dir:
/home/lab617/YY/CCKuopacbio/pb-16S-nf/work/7b/34139fef1c1ebe32920c2033ade0ec

Tip: you can try to figure out what's wrong by changing to the process work dir and showing the script file named .command.sh
我有試過錯誤中描述的指令看起來沒問題,請問你有遇過類似的錯誤嗎?

MDChain iT邦新手 3 級 ‧ 2023-02-06 15:11:06 檢舉

看起來是環境沒有裝好,蠻多使用者有回報這類問題,可能目前還是測試版關係。可以確認家目錄有無nf_conda資料夾,內含pb-16S開頭資料夾兩個與qiime2資料夾一個。

如果都沒有或是不完整,建議把整個nf-conda資料夾移除,重新執行文章中測試是否安裝成功那一點的指令,讓它自行重新安裝環境。

我要留言

立即登入留言