macでインフォマティクス

macでインフォマティクス

HTS (NGS) 関連のインフォマティクス情報についてまとめています。

メタゲノムデータセットをタンパク質レベルでアセンブリし、ホモログサーチを行う GRASP2

 

 メタゲノミクスは、特定の微生物群集のゲノム含有量を研究するための培養に依存しないアプローチである。典型的なメタゲノミクス研究では、環境サンプルから微生物のDNAが抽出され、次世代シークエンシング(NGS)技術を使用してシークエンシングされる。中程度または複雑度の高い微生物群集から得られたメタゲノミクスデータの分析は、構成微生物の分類学的およびゲノム的多様性が高いこと、およびしばしば不十分なおよび/または不均一なシーケンシングカバレッジのために困難である。そのようなデータセットde novoアセンブリ(シーケンスリードから個々の微生物ゲノムを再構築することを目的とする)は、しばしば不完全で断片的であり、下流の機能的および分類学的分析を妨げる。たとえば、MetaHIT(Metagenomics of the Human Intestinal Tract)プロジェクトデータアセンブリでは、コンティグN50はわずか2.2kbであり、リードの53%以上は未アセンブルのままだった[ref.1]。

 アセンブリに依存しない分析方法は、利用可能なデータベースに対してそれらを検索することによって個々のリードに直接アノテーションを付ける。これらのデータベースは、completeシーケンシングされたゲノム、タンパク質およびタンパク質ドメイン、ならびにアノテーション付き分類法を有するマーカー遺伝子を含み得る。データベースに対する有意なヒットは、データベース内のリードと配列の間の相同性を示唆し、個々のリードの機能と分類法を推論し、続いてコミュニティ全体の機能を予測することを可能にする。ただし、このアプローチは既存のデータベースの完全性に大きく依存している。実際には、そのようなデータベースは、ほとんどの環境における微生物の多様性が十分に特徴付けられていないかまたはシーケンシングされていない、単純でよく研究されたコミュニティを除いて、めったに利用できない。この場合、ほとんどのデータベース検索では、中程度または遠隔相同性の検出が行われる。これは、closely relatredの検出と比較してより困難である。そのようなホモログ検索は、限られた量の機能的および分類学的シグナルしか含まないリード長の短さによってさらに混乱する。

 本著者らは、失われた機能的および分類学的シグナルを再構築するためにリードを重ね合わせそれらを長くすることでこの問題に取り組むことを試みた。リードのオーバーラップ検出は、デノボアセンブリで採用されているものと同様である。しかし、ほとんどのアセンブラのように過度のエラー修正や積極的なグラフフィルタリング、プルーニングは行わなかったため、豊富なゲノムのほとんどの多型を保持することができる。さらに、(FragGeneScan [ref.2]を使用して)ヌクレオチドリードから翻訳されたショートペプチド配列に対してリードオーバーラップ検出を行った。このアプローチは、アミノ酸空間における同義置換の崩壊により、タンパク質配列をより効果的に再構築することが示されている[ref.3]。そのような直感に基づいて、著者らは以前に概念的な重なりグラフにおいてクエリ/リファレンスタンパク質のホモログに対応するパスウェイを見つけることを目的としたGRAPS(ガイド付き参照ベースの短いペプチドのアセンブリ)と呼ばれる同時アラインメントおよびアセンブリアルゴリズムを開発した。。この意味で、GRASPはリファレンスのホモログタンパク質配列を再構築する遺伝子中心アセンブリツールとして使用することができる。それはまた、アセンブリされたコンティグをテンプレートとして使用することによって、個々の相同なリードを動員するためのホモログ検索ツールとしても使用され得る。ベンチマークデータは、GRASPが既存のホモログ検索ツールの再現率を精度を落とすことなく約40%から約60%に向上させたことを示した[ref.4]。 RAPSearch [ref.5]やDIAMOND [ref.6]のような最近開発されたホモログ検索ツールは、計算効率の向上に焦点を当てており、再現率のパフォーマンスは低い。したがって、効率的な同族体検索ツールは多数利用可能だが、GRASPは依然として高い再現率と全体的なパフォーマンスを誇るツールである。

 しかし、GRASPで行われるde novoアセンブリのため、BLASTのような伝統的なリードベースのホモログ検索ツールよりはるかに遅くなる。さらに、GRASPはまた、アセンブリ工程を補助するために使用される接尾辞配列データ構造を記憶するために大量のメモリを必要とする。したがって、GRASPは、人間の口腔環境から生成されたデータなど、比較的単純で小さなメタゲノムデータセットにのみ適用されていた。 GRASPの実用的な実用性を拡張するために、本著者らはGRASPxと呼ばれる新しいアライメントとアセンブリの同時アルゴリズムを開発した[ref.7]。 GRASPxは、GRASPの本来のパフォーマンスを犠牲にすることなく、GRASPの速度を最大30倍向上させる。 GRASPxもGRASPと同量のメモリを使用する。パフォーマンスが大幅に向上したにもかかわらず、GRASPxは他のホモログ検索ツールよりも多くの時間とスペースを必要としていた。

 この論文では、GRASPxの計算効率とスペース効率をさらに向上させるために、GRASP2と呼ばれる、完全に再設計された同時アライメントとアセンブリアルゴリズムを紹介する。 GRASPx、BLAST、PSI-BLAST、およびFASTMを含むホモログ検索アルゴリズムのセットに対してGRASP2をベンチマークした。ベンチマークの結果は、GRASP2がGRASPxよりも8倍高速であり、インデックス作成フェーズとアセンブリ/検索フェーズの両方で8倍メモリ使用量が少ないことを示した。 GRASP2はGRASPxと同じ高い性能を持っている。そしてGRASP2は他のホモログ検索ツールよりもかなり優れている。これらの結果は、本発明者らの新しいアルゴリズムが、同時アラインメントおよびアセンブリアルゴリズムの実行時間および所要スペースを効果的に減らすことができることを示唆している。結果として得られるソフトウェアGRASP2は、その高い性能と著しく改善された計算効率のために大きな応用の可能性を持っている。

 最初にGRASPxのアルゴリズムフレームワークを要約して、ここでさらに改善された制限を特定する。 GRASPxは、2つの主な段階、すなわち効率的なオーバーラップ検出を容易にするためにリードセット全体から接尾辞配列を構築するためのindexing段階、およびリファレンスタンパク質のホモログに対応するパスウェイについて概念的重なりグラフを検索するアセンブリ/検索段階を含む。(以下略)

 

 

インストール

ubuntu16.04でテストした(docker使用、ホストOS macos10.12)。

依存

  • GCC version 2.8.0+
  • Boost library version 1.46.0+
  • cmake
  • make
#手っ取り早く全部入れる
apt update && apt install libboost-all-dev cmake make gcc

#Fraggenescanなどシーケンシングリードからproteinを予測する方法も必要
#bioconda (link)
conda install -c bioconda -y fraggenescan

GRASP2本体 SourceForge 

ターボールをダウンロードして解凍、ビルドする。

tar -zxvf GRASP2_V0.02.tar
cd GRASP2_release/
cmake CMakeLists.txt
make -j 16
cd bin/

> ./grasp2-assemble --help

# ./grasp2-assemble --help

Usage: grasp-assemble [query] [peptide_db] [contig_out]

 

List of options:

  --help                 print the help message

  --query arg            query sequences (in FASTA format)

  --db arg               short-peptide reads (in FASTA format)

  --contig_out arg       assembled contigs output (in FASTA format)

  --alignment_out arg    alignment output (between query and contigs, in 

                         BLAST-style format)

  --index arg (=index)   working directory where the indexing files should be 

                         found

  --gap_open arg (=-10)  gap open penalty for sequence alignment

  --gap_extend arg (=-1) gap extension penalty for sequence alignment

  --band_size arg (=40)  band size for sequence alignment

  --e_value arg (=10)    e-value cutoff (Karlin-Altschul statistics)

  --orphan arg           align orphan reads (true/false; default false)

  --num_threads arg (=1) maximum number of threads to be used

  --verbose arg          print intermediate information (true/false; default 

                         true)

 

> ./grasp2-build --help

# ./grasp2-build --help

Usage: grasp-build [peptide_db (FASTA)]

 

List of options:

  --help                     print the help message

  --db_file arg              short-peptide reads (in FASTA format)

  --index arg (=index)       working directory for indexing file dump

  --extension_len arg (=10)  minimum overlap length for path extension

  --neighbor_score arg (=11) neighbor score for 3-mer seed matches

  --num_threads arg (=1)     maximum number of threads to be used

  --verbose arg              print intermediate information (default true)

 

GRASPxも入れる。

同様にbuildする。

cd GRASPx_src/
#Makefileの2行目をカレントパスに修正してからmake
make -j 16

 

実行方法

1、FragGeneScanを使いgenomeやショートリードからアミノ酸配列を得る。ここではアセンブリ配列contig.fastaを指定。

run_FragGeneScan.pl -genome=contigs.fasta -out=output -complete=0 -train=illumina_5 -thread=20
  • -genome=        sequence file name including the full path
  • -complete=    1 if the sequence file has complete genomic sequences. 0 if the sequence file has short sequence reads
  • train=     file name that contains model parameters. [complete] for complete genomic sequences or short sequence reads without sequencing error.  [sanger_5] for Sanger sequencing reads with about 0.5% error rate. [sanger_10] for Sanger sequencing reads with about 1% error rate. [454_10] for 454 pyrosequencing reads with about 1% error rate. [454_30] for 454 pyrosequencing reads with about 3% error rate. [illumina_5] for Illumina sequencing reads with about 0.5% error rate. [illumina_10] for Illumina sequencing reads with about 1% error rate.

output.faやgffファイル等が出力される。

 

2、Indexing 

bin/grasp2-build Short-peptides.fa

 

3、アセンブリ

bin/grasp2-assemble [Query_proteins] [Short-peptide_reads] [Contig_output]

 

4、リードをアセンブリしたcontigにマッピング

graps-map [Short-peptide_reads] [Contig_output] [Map_output]

テスト中。

 

引用

GRASP2: fast and memory-efficient gene-centric assembly and homolog search for metagenomic sequencing data

Cuncong Zhong, Youngik Yang, Shibu Yooseph
BMC Bioinformatics 2019 20 (Suppl 11) :276