微生物群集に含まれる細菌種は、ゲノムの小さな変異によって区別される菌株の混合物であることが多い。ショートリード法は、菌株間の小規模な変異を検出するために使用できるが、これらの変異を連続したハプロタイプにphasing(位相を揃える)することはできない。ロングリードメタゲノムアセンブラは、連続した細菌chromosomeを作成できるが、しばしば、種レベルのコンセンサスを優先して菌株レベルの変異を抑制する。ここでは、NanoporeおよびPacBioリードから株レベルのメタゲノム・アセンブリとphasingを行うアルゴリズム、Strainyを紹介する。Strainyでは、de novoメタゲノム・アセンブリを入力として、株のバリアントを同定し、それをフェーズ処理し、連続したハプロタイプにアセンブルする。NanoporeおよびPacBioメタゲノム・データのシミュレーションおよび模擬データを用いて、Strainyが正確で完全な菌株ハプロタイプをアセンブルすることを示し、その完全性と正確性において、現行のNanoporeベースの手法を上回り、PacBioベースのアルゴリズムと同等であることを示す。次に、Strainyを使用して、複雑な環境メタゲノムの菌株ハプロタイプをアセンブルし、細菌種における明確な菌株分布と変異パターンを明らかにした。
Tutorial
https://github.com/katerinakazantseva/strainy?tab=readme-ov-file#strainy-tutorial
インストール
git clone https://github.com/katerinakazantseva/strainy
cd strainy
git submodule update --init
make -C submodules/Flye
mamba env create -f environment.yml -n strainy
conda activate strainy
./strainy.py -h
#docker imageも公開されている
docker pull mkolmogo/strainy:1.0
>./strainy.py -h
usage: strainy.py [-h] -o OUTPUT -g GFA -m {hifi,nano} -q FASTQ [-s {phase,transform,e2e}] [--snp SNP] [-t THREADS] [-b BAM] [--link-simplify] [--debug] [--unitig-split-length UNITIG_SPLIT_LENGTH] [--only-split ONLY_SPLIT] [-d CLUSTER_DIVERGENCE] [-a ALLELE_FREQUENCY]
[--min-unitig-length MIN_UNITIG_LENGTH] [--min-unitig-coverage MIN_UNITIG_COVERAGE] [--max-unitig-coverage MAX_UNITIG_COVERAGE] [-v]
options:
-h, --help show this help message and exit
-s {phase,transform,e2e}, --stage {phase,transform,e2e}
stage to run: either phase, transform or e2e (phase + transform) (default: e2e)
--snp SNP path to vcf file with SNP calls to use (default: None)
-t THREADS, --threads THREADS
number of threads to use (default: 4)
-b BAM, --bam BAM path to indexed alignment in bam format (default: None)
--link-simplify Enable agressive graph simplification (default: False)
--debug Generate extra output for debugging (default: False)
--unitig-split-length UNITIG_SPLIT_LENGTH
The length (in kb) which the unitigs that are longer will be split, set 0 to disable (default: 50)
--only-split ONLY_SPLIT
Do not run stRainy, only split long gfa unitigs (default: False)
-d CLUSTER_DIVERGENCE, --cluster-divergence CLUSTER_DIVERGENCE
cluster divergence (default: 0)
-a ALLELE_FREQUENCY, --allele-frequency ALLELE_FREQUENCY
Set allele frequency for internal caller only (pileup) (default: 0.2)
--min-unitig-length MIN_UNITIG_LENGTH
The length (in kb) which the unitigs that are shorter will not be phased (default: 1)
--min-unitig-coverage MIN_UNITIG_COVERAGE
The minimum coverage threshold for phasing unitigs, unitigs with lower coverage will not be phased (default: 20)
--max-unitig-coverage MAX_UNITIG_COVERAGE
The maximum coverage threshold for phasing unitigs, unitigs with higher coverage will not be phased (default: 500)
-v, --version show program's version number and exit
Required named arguments:
-o OUTPUT, --output OUTPUT
output directory (default: None)
-g GFA, --gfa GFA input gfa to uncollapse (default: None)
-m {hifi,nano}, --mode {hifi,nano}
type of reads (default: None)
-q FASTQ, --fastq FASTQ
fastq file with reads to phase / assemble (default: None)
テストラン
StrainyはPacBio HiFi、Nanopore R9(Guppy5+)、R10シーケンサーをサポートしている。
(metaFlyeの)GFAファイルとアセンブル/phasingのリードを指定する。
cd strainy/
./strainy.py -g test_set/toy.gfa -q test_set/toy.fastq.gz -o out_strainy -m nano -t 8
- -g input gfa to uncollapse (default: None)
- -t number of threads to use (default: 4)
-
-o output directory (default: None)
-
-m {hifi,nano} type of reads (default: None)
-
-q fastq file with reads to phase / assemble (default: None)
出力例
出力についてはレポジトリのOutput filesで説明されています。
- "--mode hifi"のプリセットではリードのアラインメントにmap-hifiが使われるが、minimap2の"-x map-hifi"はminimap2のバージョンによっては存在しないためエラーになることがある。おそらくminimap2を最近のバージョンにアップグレードすれば解決する。
- (レポジトリより)最初のクラスタリングでは、最も分岐の多い株が分離される一方で、(バリアントが少ない)近縁の株は結合したままになる可能性がある。この問題を解決するために、Strainyでは、株のバリアントに対する感度を高めたクラスタリング手順を再帰的に繰り返す。 クラスタリングの厳密さの閾値を上げることで、非常に類似した株のコラプス(注;バリエーションを潰してコンセンサスで表現すること)を可能にし、より分岐した株だけ分離することもできる。
引用
Strainy: phasing and assembly of strain haplotypes from long-read metagenome sequencing
Ekaterina Kazantseva, Ataberk Donmez, Maria Frolova, Mihai Pop & Mikhail Kolmogorov
Nature Methods (2024), Published: 26 September 2024
関連