原核生物ゲノムのショートリードアセンブリにおける欠損領域は、しばしばシーケンス技術の偏りや繰り返しエレメントに起因するとされ、前者は特定の遺伝子座のシーケンスカバレッジの低さ、後者はde novoアセンブリグラフの未解決ループに起因するとされる。本著者らは、ショートリードアセンブリ(ドラフトゲノム)と対応するクローズドアセンブリを比較し、欠損領域を抽出して配列および機能レベルで解析するコマンドラインツール、SASpectorを開発した。SASpectorは、解読したゲノムの必要性をベンチマークすることができ、アセンブリの品質を管理するパイプラインに組み込むことができる。また、公開データベースでshort-readとlong-readの両方のデータが利用できるアセンブリにおける欠損の比較調査に使用できる可能性がある。SASpector は https://github.com/LoGT-KULeuven/SASpector で入手できる。このツールは
Python3で実装され、pipとDocker(0mician/saspector)を通じて利用できる。
Githubより
SASpectorは、ショートリードアセンブリとリファレンスゲノム(例えばハイブリッドアセンブリで得られたもの)を比較するツールで、リファレンスから欠落した(マッピングされていない)領域を抽出し、それらを解析して機能および組成パターンを見ることができるものです。解析の目的は、なぜこれらの領域がショートリードアセンブリで見逃されるのか、また、解決されたゲノムを欠く場合にゲノムの重要な部分が見逃されるのかを説明することです。
本ツールは、リファレンスゲノムとショートリードアセンブリをコンティグ/ドラフトゲノムとして、ともに FASTA 形式でグローバルインプットとして受け取ります。このリポジトリには、欠損領域を取得するためのコマンドラインツール `SASpector` と、欠損領域を評価・解析するためのスクリプトが含まれています。
- mapper.py:ProgressiveMauve (Mauve aligner)を用いたリファレンスアセンブリに対するショートリードアセンブリのマッピング
- summary.py:マップ済み、未マップ(欠損)、競合領域をFASTAファイルに抽出。また、欠損領域と参照領域の要約統計量を作成し、別々のタブ区切りファイルに書き出す。
- gene_predict.py:Prokkaを用いた欠損領域内の遺伝子予測。オプションで、予測された遺伝子に対して、ユーザー定義のタンパク質データベースをFASTAファイルで指定してBLASTXを実行します。このリポジトリでは、細菌種についてUniprotKBから検索したタンパク質データベースを見つけることができます。Escherichia coli, Pseudomonas aeruginosa, Klebsiella pneumoniae, Bacillus subtillis, Staphylococcus aureusの各菌種について、UniprotKBから検索したタンパク質データベースを見ることができます。オプションとして、追加解析が可能なスクリプトもあります。
- kmer.py:欠損領域のタンデムリピート、およびSourmashを用いた欠損領域とマップされた領域のkmerのペア比較。
- coverage.py:BAMファイルから欠損領域とマップされた領域の平均カバレッジを計算します。
- quastunmap.py: リファレンスに対する欠損領域のゲノム品質評価を行い、QUAST と Icarus を用いたゲノムビューワを提供します。
SASpector = #Python3 #tool comparing #shortread draft #genome to closed assemblies. Extract/analyze missing regions. Integrate in pipeline for #assembly #quality #analysis @noort_zuit #lab #publication @OxfordJournals @OUPBioinfohttps://t.co/pvcjGgOw8R@illumina @nanopore pic.twitter.com/5cXCfc7lh0
— Rob Lavigne (@RobLavigne1) April 6, 2022
Fresh from the press. Commandline tool to compare short read assemblies with complete genomes regarding composition and function Saspector #bioinformatics #tools #genomics with @RobLavigne1 https://t.co/mMUCJCgY9g
— vera van noort (@noort_zuit) April 7, 2022
インストール
レポジトリの説明の通り、condaで環境を作って依存を導入した (ubuntu18)。
#まず環境を作って依存するサードパーティのツールを導入する
mamba create -n SASpector python=3.7 -y
conda activate SASpector
mamba install -c conda-forge -c bioconda -c defaults blast emboss progressivemauve prokka quast samtools sourmash trf mash pyani -y
#本体
git clone https://github.com/LoGT-KULeuven/SASpector
cd SASpector
python setup.py install --user
#docker
docker run -it -v $FOLDER:/opt/saspector/ 0mician/saspector /bin/bash
> SASpector -h
usage: SASpector - Short-read Assembly inSpector [-h] -draft Contigs FASTA
[-ref [Reference FASTA]]
[-p [Prefix]] -dir Output
path [--force]
[-fl [Length flanks bp]]
[-db [Protein FASTA file]]
[-trf]
[-msh [mash sketch file]]
[-k [k size]] [-q]
[-c [BAM file]]
optional arguments:
-h, --help show this help message and exit
-draft Contigs FASTA, --draft Contigs FASTA
Illumina FASTA file as contigs/draft genome
-ref [Reference FASTA], --reference [Reference FASTA]
Completed assembly FASTA file as reference genome
-p [Prefix], --prefix [Prefix]
Set the prefix of the files, use for example the
strain name
-dir Output path, --outdir Output path
Output directory
--force Force output directory overwrite
-fl [Length flanks (bp)], --flanking [Length flanks (bp)]
Add flanking regions [Default = 100 bp]
-db [Protein FASTA file], --proteindb [Protein FASTA file]
BLAST protein database FASTA file
-trf, --tandem_repeats
Run tandem repeat finder within missing regions
-msh [mash sketch file], --mash_selection [mash sketch file]
Automatic selection of genome amongst RefSeq 202
database (complete genomes) /!\ Experimental feature!
-k [k size], --kmers [k size]
Sourmash analysis
-q, --quast Run QUAST for unmapped regions against reference
assembly
-c [BAM file], --coverage [BAM file]
Run SAMtools bedcov to look at short-read coverage in
the missing regions.Needs alignment of reads to the
reference genome in BAM format
テストラン
cd SASpector/test_data/
SASpector -ref Psae_closed_assembly.fasta -draft Psae_draft_assembly.fasta -p out -dir outdir
outdir/
unmappedregions.fastaが欠損領域のFASTAファイルで、mappedregions.fastaがマップされた領域のFASTAファイルになる。さらにconflictregions.fastaは正しくマッピングされなかった領域で、他にも
length_missing.jpg;欠損領域の長さの分布図
gc_content_missing.jpg;欠損領域のGC含量の分布図
codons_missing.jpg;欠損領域の各アミノ酸の平均頻度の箱ひげ図 (for all 6 reading frames)
Githubより
- まず、MauveはprogressiveMauveアルゴリズムで両ゲノムのアライメントを実行する。これにより、サブディレクトリ prefix.alignment が生成され、いくつかの出力ファイルと、参照ゲノム中のマッピングされた領域とマッピングされていない領域の座標を含む backbone ファイルが得られる。
- バックボーンファイルが解析され、リファレンスゲノムからショートリード・アセンブリでカバーされていない配列が抽出される。これらは、ヘッダに接頭辞と座標を持つ multi-fasta ファイルに書き込まれる。この作業は、マップされた領域と競合する領域(ギャップやインデルのために正しくマップされなかった領域)に対して等しく行われる。summary というサブディレクトリに、2つのタブ区切り形式のサマリーファイルが生成される。1 つは参照用で、ギャップがある領域とない領域の量、それらがリファレンスゲノムに占める割合、GC 含有量、長さが記載されている。もう一つはマッピングされていない領域で、各領域の GC content と長さ、そして各アミノ酸の出現頻度を全 6 リーディングフレームで平均化したものである。
- 最後に、SASpector は Prokka を使って欠損領域にある遺伝子を予測し、タンパク質の FASTA ファイルデータベースが提供された場合、SASpector は Prokka からの出力配列をデータベースと BLAST して、配列のヒット数をタブ区切りにしたサマリーを生成する。
オプションの解析
- kmer解析とタンデムリピート解析。SASpectorは、Tandem Repeats Finderを実行し、タンデムリピートのある欠損領域のHTMLレポートを作成する。最後に、SASpectorは、sourmashを使用して、比較研究のために、欠損領域のkmerとマップされた領域(k-size = 31)のペアワイズ比較を実行する。
- カバレッジ解析:BAMファイルが提供された場合、SASpectorはSAMtoolsを使用して、欠損領域とマッピングされた領域の平均カバレッジを計算する。ソートされたBAMファイルと、両領域のカバレッジを示すタブ区切りのレポートが生成される。
- QUAST。SASpector は、ゲノム品質評価のために、リファレンスゲノムに対して欠損領域の QUAST を実行する。ゲノムビューアとして Icarus を提供する。
引用
SASpector: analysis of missing genomic regions in draft genomes of prokaryotes
Cédric Lood, Alejandro Correa Rojo, Deniz Sinar, Emma Verkinderen, Rob Lavigne, Vera van Noort
Bioinformatics, Published: 06 April 2022