Unicycler で Hybrid アセンブリを試す

実行環境SSH 接続先の Linux / wgs-hybrid
前提前処理済みのIlluminaペアとNanoporeリードがあること

1. 入力を揃える

この章では、Illuminaのグラフを長いリードの情報でつなぐUnicyclerを使います。前の工程のリードをそのまま再利用し、比較の途中でフィルタ条件を変えません。

cd /home/bsjinzai
ls -lh qc/illumina_1.clean.fastq.gz \
  qc/illumina_2.clean.fastq.gz \
  qc/nanopore.filtered.fastq.gz

入力は3つともリードです。Racon後のFASTAを -l に指定しないでください。

2. Unicycler をインストールする

conda create -n wgs-hybrid \
  --override-channels -c conda-forge -c bioconda \
  --strict-channel-priority unicycler
conda activate wgs-hybrid
unicycler --version
spades.py --version

Unicyclerが利用するSPAdesなどの依存ツールも導入されます。Illumina単独の環境とは別なので、こちらの版も記録します。

3. 2種類のリードで組み立てる

unicycler \
  -1 qc/illumina_1.clean.fastq.gz \
  -2 qc/illumina_2.clean.fastq.gz \
  -l qc/nanopore.filtered.fastq.gz \
  -o assembly/hybrid \
  --mode normal \
  -t 8 \
  > logs/unicycler.stdout.log 2> logs/unicycler.stderr.log
conda list --explicit > logs/wgs-hybrid.explicit.txt

-1 と -2 がショートリードのペア、-l がロングリードです。

4. グラフとログを確認する

ls -lh assembly/hybrid/assembly.fasta assembly/hybrid/assembly.gfa
conda activate wgs-long
seqkit stats -a -T assembly/hybrid/assembly.fasta \
  > results/hybrid.stats.tsv
cat results/hybrid.stats.tsv

Windows側のPowerShellで、Hybridのグラフをダウンロードします。

New-Item -ItemType Directory -Force "$HOME\genome-workshop\assembly\hybrid"
scp -P PORT USER@HOST:/home/bsjinzai/assembly/hybrid/assembly.gfa "$HOME\genome-workshop\assembly\hybrid"

WindowsのBandageでgenome-workshop\assembly\hybrid\assembly.gfaを開き、Illumina単独とFlyeのグラフと比べます。環状化の判定はUnicyclerのログやFASTAヘッダーも確認します。

観察 記録する内容
配列の連続性 contig数と長さがどのように変わったか
接続関係 分岐が解消したか、残ったか
短い配列 単独の方法で見えなかった配列があるか
環状化 どの配列が環状と判定されたか

5. Hybrid の結果をどう考えるか

結果の違いには、リードの種類、アセンブラのアルゴリズム、設定、バージョンが影響します。

Unicycler 0.5.0以降では、最終段階のPilon polishingが削除されています。使った版と実行ログを確認します。公式リリースノートに変更が記載されています。

参考:Unicycler公式ドキュメント。