ONT定序細菌基因體組裝 (R10.4.1 flowcell)

ONT定序細菌基因體(實驗方法參閱:)在Linux系統下進行組裝。檔案基本需求:fastq格式raw data (由R10.4.1晶片產出,定序時間約20小時)。

系統及軟體需求:

System/Software/package Category Version
Ubuntu Linux - 22.04
Miniconda - 3
flye assembler
checkM assembly QC
metabat2 binning tool
GTDB-tk taxonomy identification
MUMmer genome comparison 4
Quast genome stats

1. 合併 raw sequences

cat barcode01/* > Emundtii_nano_raw.fastq.gz

將同一barcode的所有fastq.gz檔用cat合併。
此範本以組裝單一genome:Emundtii(Enterococcus mundtii)為例。

2. 以Flye組裝

flye --nano-raw Emundtii_nano_raw.fastq.gz --out-dir Emundtii --threads 12

--nano-raw for ONT regular reads, pre-Guppy5 (<20% error) 由於使用real-time base-calling,擔心準確度不高,所以用預設quality參數。 --nano-hq for ONT high-quality reads: Guppy5+ SUP or Q20 (<5% error) 理論上R10晶片已經可以達Q20以上,也可以直接使用high quality參數。 --threads 執行核心數。

註:如果是metagenome或是懷疑非純菌(後續checkM可以檢查),則要開啟--meta模式,即metaFlye。

flye --nano-raw Bthetaiotaomicron_nano_raw.fastq.gz --out-dir Bthetaiotaomicron_meta --meta --threads 12

組裝完,打開output資料夾,找到assembly_info.txt

#seq_name   length  cov.    circ.   repeat  mult.   alt_group   graph_path
contig_7    2767607 219 Y   N   1   *   7
contig_9    50538   362 Y   N   2   *   9
contig_4    34952   643 N   Y   3   *   4
contig_1    33617   601 N   Y   3   *   1
contig_8    11868   660 N   Y   3   *   8
contig_2    4335    615 N   Y   3   *   2
contig_5    3724    1153    N   Y   6   *   5
contig_6    2271    2318    N   Y   12  *   6
contig_3    2130    159 N   Y   159 *   *,3,*

可以看到有幾個contigs,circ.意思是不是circular genome,同時看length是不是合理的genome size。cov. 是coverage,219X 高於一般認為100X的數量。 另外,次長的contig有可能會是plasmid,檢查circ.跟長度是否吻合plasmid條件。 這個例子顯示,congtig_7就是完整的2.7M circular genome,contig_9可能是50.5K plasmid。 其他contigs可能就是重複、不完整的大片段,repeat就可能顯視為Y。 如果是meta樣本,contigs多、length小、circ.多為N…

3. checkM檢查genome品質

genome assembly完整度、污染程度(檢查是不是meta樣本)

要在conda的checkm environment下執行,要先執行conda activate checkm。結束後切換回原環境conda deactivate

checkm lineage_wf -t 12 -x fasta Emundtii Emundtii_checkm > Emundtii_checkm.log

log檔最後會顯示報告

--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  Bin Id            Marker lineage         # genomes   # markers   # marker sets   0     1    2   3   4   5+   Completeness   Contamination   Strain heterogeneity  
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  assembly   o__Lactobacillales (UID544)      293         475           267        18   455   1   1   0   0       96.13            0.87               0.00          
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

如果是meta或是混菌,就會出現很高的污染率。

checkm lineage_wf -t 12 -x fasta Bthetaiotaomicron Bthetaiotaomicron_checkm \> Bthetaiotaomicron_checkm.log
-------------------------------------------------------------------------------------------------------------------------------------------------------------
  Bin Id        Marker lineage      # genomes   # markers   # marker sets   0   1    2    3    4   5+   Completeness   Contamination   Strain heterogeneity  
-------------------------------------------------------------------------------------------------------------------------------------------------------------
  assembly   k__Bacteria (UID203)      5449        104            58        3   19   63   17   2   0       97.26           93.29               0.79          
-------------------------------------------------------------------------------------------------------------------------------------------------------------

就需要回頭跑metaFlye。

4. CGView (Circular Genome Viewer)

https://proksee.ca/ 將組裝好的fasta檔assembly.fasta下載下來後,上傳到proksee CGView看genome。也可以做簡單的annotation。

5. Binning

如果checkM判定可能為meta樣本,並且用metaFlye組裝後,可進行binning分離混菌的組成。

(1) binning

metabat2 -i Bthetaiotaomicron_meta/assembly.fasta -o Bthetaiotaomicron_meta_binning/bins

(2) checkM

checkm lineage_wf -t 12 -x fa bins/ checkm_output/ > Bthetaiotaomicron_meta_checkm.log
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  Bin Id          Marker lineage         # genomes   # markers   # marker sets    0     1    2    3   4   5+   Completeness   Contamination   Strain heterogeneity  
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
  bin.4      g__Bacteroides (UID2691)        33         839           309         94   731   13   0   1   0       87.47            2.61              47.37          
  bin.3    o__Lactobacillales (UID544)      293         475           267        168   300   6    1   0   0       61.62            1.64               0.00          
  bin.2    o__Lactobacillales (UID355)      490         336           184        245    90   1    0   0   0       25.15            0.14               0.00          
  bin.1        k__Bacteria (UID203)         5449        104            58         98    6    0    0   0   0        7.21            0.00               0.00          
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

6. Identify taxonomy with GTDB-tk

不能在NAS的資料夾上執行,因為不支援ln連結功能

conda activate gtdbtk

gtdbtk classify_wf --genome_dir bins/ --out_dir gtdbtk_out --cpus 12 --skip_ani_screen --extension fa

參數--extension 預設是fasta,如果不是,就要加上這個參數

7. Reference genome comparison with MUMmerplot

conda activate mummer

nucmer -p Csanguinis GCF_037465145.1_ASM3746514v1_genomic.fna ~/nanopore/00_RESULTS/nanopore_genome_20241226/barcode09_meta_binning/bins/bins.1.fa

show-coords -rcl Csanguinis.delta > Csanguinis.coords

mummerplot --postscript  -l Csanguinis.delta

-p 為輸出檔案前綴,接著放reference genome(上NCBI下載),後放要比對的genome。

因為server沒有支援X11,所以ps或png圖檔不會自動輸出,需要再執行:

gnuplot out.gp