ハイスループットなショートリードメタゲノミクスにより、微生物コミュニティの大規模な種レベルの解析と機能的な特徴付けが可能になった。マイクロバイオームには同一種の複数の株が含まれることが多く、株によってその機能的役割に重要な違いがあることが示されている。最近のロングリードベースの手法の進歩により、複雑なマイクロバイオームから細菌ゲノムを正確にアセンブルすることが可能になり、菌株を解決するためのまだ実現されていない機会が生まれている。本発表では、シングルサンプルの低複雑度メタゲノムにおいて、ロングリードデータに独自に依存した菌株分離を行うメタゲノム解析パイプライン、Strainberryを紹介する。Strainberryを模擬コミュニティでベンチマークしたところ、ほぼ完全なリファレンスカバレッジと99.9%の塩基精度で菌株を分離したアセンブリを生成することに成功した。また、実データセットにStrainberryを適用したところ、個々の菌株ゲノムを用いた従来のメタゲノム解析と比較して、20〜118%の追加ゲノム情報を生成するアセンブリを改善することができた。また、Strainberryは、複雑なマイクロバイオームにおいて、菌株ゲノムを完全に分離して、微生物の多様性を洗練させることができることを示す。本研究は、より複雑な環境下での菌株分離型メタゲノム組み立てに関するさらなる方法論の改善の出発点になると期待される。
インストール
git clone https://github.com/rvicedomini/strainberry.git
cd strainberry
mamba env create -n sberry --file environment.yml -y
conda activate sberry
export PATH=$PWD:${PATH}
#samtoolsのバージョンでエラーが起きる可能性がある。1.12に更新すると解消された(*1)
mamba install -c bioconda -y samtools==1.12
> strainberry -h
usage: strainberry -r PATH -b PATH -o PATH [--nanopore] [-n int] [-s float]
[-c int] [-h] [-V] [-v]
Automated strain separation of low-complexity metagenomes
Required arguments:
-r PATH, --reference PATH
Strain-oblivious assembly in FASTA format
-b PATH, --bam PATH Read alignment in BAM format
-o PATH, --out-dir PATH
Output directory of Strainberry assemblies
Optional arguments:
--nanopore Input consists of Oxford Nanopore reads
-n int, --max-strains int
Attempt strain-separation at most for the provided
strain multiplicity [5]
-s float, --snv-density float
Minimum SNV percentage to consider haplotype blocks
[0.1]
-c int, --cpus int Maximum number of CPUs to be used [1]
Other arguments:
-h, --help Show this help message and exit
-V, --version Show version number and exit
-v, --verbose Verbose output
テストラン
1、ランするには、株レベルアセンブルが出来ているか不明なメタゲノム・アセンブリ(例:metaFlyeで生成)のfastaファイル、座標ソートされたロングリード・アライメントのBAMファイルが必要。fastaファイル、BAMファイルともに、samtools faidx、samtools indexコマンドでインデックスを作成しておく必要がある。
#flye, minimap2, samtoolsのインストール
mamba install -c bioconda samtools minimap2 flye -y
cd example
flye --meta --pacbio-raw reads.fq.gz --out-dir flye_out --genome-size 300k --threads 12
minimap2 -ax map-pb -t 12 flye_out/assembly.fasta reads.fq.gz | samtools sort > alignment.sorted.bam
cp flye_out/assembly.fasta .
samtools faidx assembly.fasta
samtools index alignment.sorted.bam
2、Strainberryのラン
fastaファイルとbamファイルを指定する。
strainberry -r assembly.fasta -b alignment.sorted.bam -o sberry_out -c 4
- -r Strain-oblivious assembly in FASTA format
- -b Read alignment in BAM format
- -o Output directory of Strainberry assemblies
- -c Maximum number of CPUs to be used [1]
テストデータのランには5分程度かかる。
sberry_out/
(Githubより)ファイル assembly.fasta には、大腸菌 K12 株と W 株の小さな領域のコンセンサスである一つの配列が含まれている。Strainberry の実行に成功すると、ファイル assembly.scaffolds.fa には二つのscafffolds(一つは K12 株、もう一つは W 株に近い)が含まれる。
> seqkit stats assembly.fasta sberry_out/assembly.scaffolds.fa
引用
Strainberry: automated strain separation in low-complexity metagenomes using long reads
Riccardo Vicedomini, Christopher Quince, Aaron E. Darling & Rayan Chikhi
Nature Communications volume 12, Article number: 4485 (2021)
*1
途中samtgools sortのエラーが出た。samtools の1.10が導入されていたが、エラーメッセージから最新のsamtools 1.12に更新すると解消できそうだったので、該当するcondaの環境をアクティベート後に1.12を導入した(作業ディレクトリが残っている限り、やり直すとエラーが起きたステップから再開される)。