macでインフォマティクス

macでインフォマティクス

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

メタゲノムの機能的アノテーションを行う自動化されたパイプライン MetaLAFFA

2021 2/8 mambaインストール追記

 

 微生物群集の機能的能力の解析は、マイクロバイオームに基づく研究の重要な要素となっており、腸内マイクロバイオームとうつ病[ref.22]、自閉症[ref.18]、2型糖尿病[ref.16]などの宿主の状態との間の関連性についての新たな洞察を提供している。このような機能プロファイルは、一般的にショットガンメタゲノムシークエンシングおよびそれに続く機能アノテーションを介して得られる。この機能アノテーションは、リードをコンティグにアセンブリし、検出されたオープンリーディングフレームをアノテーションされた遺伝子配列にマッピングするか、または個々のリードを直接アノテーションされた遺伝子配列にマッピングすることによって行うことができる[ref.17]。アセンブリベースのアプローチは、メタゲノムアセンブルゲノム(MAG)の再構築を可能にすることで、一定の利点を提供することができるが、このアセンブルプロセスは信じられないほど困難であり、法外な時間とメモリの消費を伴うことがある。さらに、このような取り組みは、異なるゲノム間での不均一なシークエンシングデプスや高い系統レベルの配列多様性などの要因により、非常に断片化されたアセンブリになることがよくある[ref.7]。これに比べて、アセンブリフリー、またはリードベースのアノテーションアプローチは、リソース要件が低く、アセンブリ問題を回避できるため、より実用的でアクセスしやすいオプションを提供することができる。ここで紹介するパイプラインは、この後者のリードベースのアノテーションアプローチを利用している。

 このようなリードベースのアノテーションを容易にするために、HUMAnN2 [ref.6]、MG-RAST [ref.10]、eggNOG-mapper [ref.8]、SUPER-FOCUS [ref.19]、YAMP [ref.23]などの様々なパイプラインが最近導入されている。これらのパイプラインの標準的なワークフローは、入力としてFASTQまたはFASTAファイルを取り、微生物遺伝子配列のデータベースにリードをマッピングし、それらの遺伝子に関連した機能的な能力を持つリードをアノテーションし、最終的に1つ以上のレベルの記述的分解能で機能プロファイルを生成することを含んでいる。しかし、これらのパイプラインには、フィルタリングされていないシーケンスデータを処理する機能、そして分散コンピューティングシステムとのネイティブ統合、および/またはワークフローのカスタマイズのための適切なオプションなど、最新のハイスループット、完全、分散、および計算集約的な機能アノテーションに不可欠な1つ以上の重要な機能が欠落していることが多い(論文表1)。
 ここでは、これらの欠点を解決する新しい機能アノテーションパイプラインであるMetaLAFFAについて説明する。MetaLAFFAは、パイプラインに様々な品質管理手段を組み込むことで、ユーザが一般的な前処理ステップを個別に実行する必要がなくなる。また、MetaLAFFAは、計算クラスタ管理システムと簡単かつ効果的に統合できるように設計されており、利用可能な計算リソースと分散並列データ処理を最大限に活用することができる。最後に、MetaLAFFAはパイプラインの操作を設定するための便利なインターフェースを提供し、実行するパイプラインステップの選択や個々のステップの操作パラメータを含む広範なカスタマイズオプションをユーザーに提供する。
 デフォルトの設定では、MetaLAFFAは、品質管理、リードマッピング、機能アノテーションの3つの基本的なフェーズでメタゲノムアノテーションを実行する(論文図1)。大まかに言えば、品質管理フェーズでは、一般的な前処理操作により、入力ショットガンメタゲノムデータから不要なリードや低品質のリードを除去することを目的としている。次に、品質管理されたリードを微生物遺伝子の配列データベースにアラインメントし、各遺伝子のアバンダンスを計算する。最後に、機能アノテーションの段階では、これらの遺伝子の豊富さをコミュニティの機能能力とコミュニティのメタゲノム内のそれらの豊富さの分類に変換する。このセクションでは、MetaLAFFAがデフォルトの設定で実行する正確なステップについて、ツールとデータベースのデフォルトの選択、およびユーザーが特定の使用例に合わせて変更できる可能性を含めて詳しく説明する。

 MetaLAFFAの品質管理フェーズ(論文図1、緑色で強調表示)は、Human Microbiome Project(HMP)[ref.20]のプロトコルにインスパイアされているが、特定の方法論は現在のベストプラクティスを反映するために更新されている。MetaLAFFAでは、KneeadDataと同様のコンポーネントツールを利用しているが、各ステップをよりよく区分し、ユーザーが個々のコンポーネントをよりよく設定し、カスタマイズできるようにするために、KneeadDataは利用していない。まず、MetaLAFFAでは、Bowtie 2 [ref.12]を用いて1000ゲノムプロジェクト[ref.1]から入手可能なデコイ配列を用いてHS37D5ヒトゲノムリファレンスにリードをマッピングし、ヒトと同定されたリードを破棄することで、ホストリードを削除する。プロジェクトに応じて、ユーザーは、異なる宿主生物から汚染物質を除去するために、代替の「宿主」データベースを代用することができる。次に、MetaLAFFAは、PICARDツールセットのMarkDuplicatesを使用して重複したリードを識別し、それらのリードを破棄することで、人為的な重複を除去する。品質管理段階の最後のステップは、品質のトリミングとフィルタリングであり、リードの末端から品質の低い塩基を除去し、短すぎるリードを廃棄する。これはTrimmomaticとMAXINFOのトリミング基準を用いて実行される。この品質管理段階の後、ユーザーは、コミュニティのメタゲノムコンテンツをプロファイリングするための基礎となる高品質の微生物リードを残さなければならない。

 リードマッピングの段階(論文図1、青で強調表示)では、ほとんどのメタゲノムアノテーション手順で迅速に配列をアラインメントするためのコアツールであるDIAMONDを使用して、タンパク質配列のUniRef90データベースにリードをアラインメントすることから始まる。アノテーションプロジェクトの目的に応じて、UniRef90データベースの代わりに他のデータベースを使用することもできる。例えば、抗生物質耐性遺伝子のコレクションを含むCARDのようなデータベースを使用することで、ユーザーは関心のあるコミュニティ内でのこれらの抗生物質耐性遺伝子の豊富さをプロファイリングすることに特に焦点を当てることができる。HUMAnN2や他のパイプラインと同様に、ペアエンドのリードは、リードマッピングの段階で別々にマッピングされ、ペアの半分だけが遺伝子にアラインするペアに過度のペナルティを与えないようにしている。リードをアライメントした後、MetaLAFFAはこれらのマッチをスキャンして、データベース内の各リードについてベストマッチ(または同点がある場合はベストマッチ)を特定する。このベストマッチ戦略は、機能プロファイリングにおいて高い特異度をもたらすことが示されているが、ユーザーは特異度を犠牲にして感度を上げるための代替戦略を選択することができる。例えば、MetaLAFFAはベストNマッチ戦略のオプションも提供している。この戦略は、例えば、長いリードが隣接する遺伝子にまたがっているかもしれないという懸念がある場合に望ましいかもしれない。アライメントステップからのマッチを精製した後、各遺伝子にマッピングされたリードの数を合計することにより、遺伝子のアバンダンスが計算される。あるリードが複数の遺伝子に等しくマッチした場合、そのリードは、それらの遺伝子のそれぞれのアバンダンスに均等に分布する小数のカウントとして寄与される。この結果、各サンプルの遺伝子のアバンダンスプロファイルが得られ、これはMetaLAFFAの第三段階では、コミュニティの機能的能力のより解釈しやすい分類に変換することができる。

 最後に、MetaLAFFAは機能アノテーションの段階を実行する(論文図1、オレンジ色で強調表示)。このフェーズの最初のステップは、類似した機能的能力を持つ遺伝子、すなわち機能的オルソログの豊富さを計算することである。デフォルトでは、遺伝子と機能的オルソロジーグループの間のこれらの関連付けは、遺伝子をKEGGオルソロジーグループまたはKOにマッピングしたUniRef90データベースのアノテーションに由来する。ユーザーがリードをマッピングするために別のデータベース(例:CARD)を選択した場合、ユーザーは遺伝子-オルソログマッピングを適切に更新する必要がある。前の段階での遺伝子のアバンダンスの計算と同様に、MetaLAFFAは、機能的オルソログの各グループに属する遺伝子のアバンダンスを合計することによってこれを行う。ある遺伝子が複数のオルソロジーグループに関連している場合、その豊富さは、それらのオルソロジーグループのそれぞれの豊富さの間で均等に分配される。結果として得られる機能的プロファイルは、次に、MUSiCCを用いて補正され、オルソログのリードカウントを各機能的オルソログのゲノムあたりの平均コピー数に変換する。あるいは、ユーザーはMetaLAFFAを設定して、相対的な豊富さの観点から機能的プロファイルを残すことができる。最後に、MetaLAFFAはEMPANADAを使用して、オーソログの豊富さをより広範な機能分類の豊富さに集約する。このツールは、各パスウェイの存在を裏付ける証拠に基づいて、KOの豊富さをKEGGパスウェイ(およびモジュール)の豊富さに集約する。ユーザーは、リードを遺伝子にマッピングするために別のデータベースを使用したい場合は、オーソログから広範な分類へのマッピングを変更する必要があるかもしれないし、それをすべて一緒にスキップする必要がある。機能アノテーションフェーズの出力、およびMetaLAFFAからの最終出力は、コミュニティの機能的能力のKEGG KOモジュール、およびパスウェイレベルのプロファイルである。

 デフォルトのMetaLAFFAパイプラインの各ステップが完了すると、MetaLAFFAはそのステップのサマリー統計の表も生成する。例えば、品質管理段階のステップでは、これらの表は、各サンプルから廃棄されたリードの数、各サンプルの新しい平均ベース品質、品質トリミング後の各サンプルの平均リード長を要約している。後のステップでは、これらの要約統計には、遺伝子データベースへのアラインメントに成功したリードの数、ベストマッチまで縮小したときに残ったマッチの数、および各サンプルに存在するユニークな機能的オルソログの数が含まれる。MetaLAFFAが機能的アノテーションを完了すると、これらのサマリー統計情報は、パイプラインの動作をまとめた1つの表にまとめられる。
 MetaLAFFAは、Pythonベースのワークフロー管理フレームワークであるSnakemakeに実装されている。Snakemakeは、各ステップの期待される入力と出力に基づいてパイプラインの異なるステップ間の依存関係を決定し、後のステップは入力が利用可能になってから実行されるようにする。このアプローチの利点の1つは、Snakemakeがステップの期待される出力が不足している場合に自動的に検出し、パイプラインを停止し、失敗の原因となった問題に対処した後に、ユーザーが最も最近正常に完了したステップから操作を再開することができることである。

 Snakemakeのもう一つの便利な機能は、パイプライン操作をコンパートメント化する機能である。Snakemakeは、パイプライン内のステップを独立したジョブに分割することができる。MetaLAFFAは、このオプションを利用して、複数のFASTQファイルの品質管理とリードマッピングを、1つの操作としてすべてを処理しようとするのではなく、サンプルに特化したジョブに分けることができる。このコンパートメント化は、MetaLAFFAが1つのサンプルを処理する際に失敗した場合(例えば、入力FASTQが不正な形であったためにホストフィルタリングに失敗した場合など)、失敗前に正常に処理されていたサンプルはすべて正常に処理されたものとして認識されることを意味する。その結果、MetaLAFFAは、障害の原因が対処され、ユーザーがMetaLAFFA操作を再開すると、それらのサンプルを不必要に再処理することを回避する。

 最後に、Snakemakeには並列処理と分散コンピューティングを利用するための機能が組み込まれており、MetaLAFFAユーザーは利用可能な計算リソースを最大限に活用することができる。具体的には、Snakemakeは、どのステップ(ステップが別々のジョブに分割されている場合は個々のジョブ)が独立しており、並列に実行できるかを自動的に判断する。Snakemakeは、ローカルで実行されている場合は利用可能なコアを使用し、利用可能な分散コンピューティング環境(HTCondor、SGE、SLURMなど)で独立したジョブを並列に実行する。これにより、MetaLAFFAユーザーは利用可能なコンピュートクラスタをフルに活用することができ、大規模なショットガンメタゲノムデータセットの迅速なアノテーションが可能になる。

 

HP

Elhanan Borenstein Lab

Example HMP data

NIH Human Microbiome Project - HMASM

 

手順

1. ホストリードのフィルタリング

ホストリードは、後の分析が目的の微生物群集の機能的な可能性のみを考慮したものであることを確認するために除去する必要がある。これは、上皮細胞の過剰な脱落を引き起こす特定の消化管疾患(例:潰瘍性大腸炎)を持つ宿主からのヒト糞便サンプルのように、サンプルの大部分がホストリードで構成されている可能性がある場合に特に重要である。MetaLAFFAのデフォルトはBowtie 2 (Langmead and Salzberg 2012)を使用している。デフォルトのホストデータベースは、1000 Genomes Project, hs37d5 (1000 Genomes Project Consortium 2015)からのデコイを使用したヒトリファレンスである。

2. duplicated readsのフィルタリング

重複リードフィルタリングは、シーケンシングのアーチファクト(PCR重複または光学的重複)のために、誤ってサンプル中に複数回出現するリードを除去することを目的としている。しかしながら、メタゲノム研究において、PCR重複フィルタリングは、特に所定の種または株が高頻度に存在する場合には、高度に類似したリードの存在があり得るため、必ずしも適切なものではない(Nayfach and Pollard 2016)。このようなシナリオでは、実際には同じ配列のコピーがより多く存在しており、重複したリードをフィルタリングして除去することで、コミュニティ内でのこの高いコピー数のシグナルを減衰させる。代わりに、光学的重複は、フローセル上で増幅した後に、重複したリードの大規模なクラスタが2つの別々のクラスタとして登録された場合に発生し、これらは除去しても安全である。デフォルトの重複フィルタリングプログラムは、バイオインフォマティクスツールのPicardセットのMarkDuplicatesであり、デフォルトでは光学的重複のみが除去される。

3. クオリティトリミングとフィルタリング

前処理の最終ステップは、クオリティトリミングとフィルタリングである。品質のトリミングとフィルタリングの目的は、特定のしきい値以下の品質を持つ塩基をリードの片方または両端からトリミングし、特定の長さのしきい値を下回るリードを除去することで、シーケンシングノイズを低減することである。このステップでは、Trimmomatic(Bolger, Lohse, and Usadel 2014)をデフォルトで使用し、Trimmomaticの最大情報基準に基づいてリードをトリミングし、60bpより短いリードをフィルタリングする。

4. リードの遺伝子IDへのマッピング

次に、同定された遺伝子に対応するタンパク質配列のデータベースに対して、1−3の処理をしたリードをマッピングする。この(リードベースのアノテーション)方法は、2つの主要なアノテーションアプローチのうちの1つであり、リードベースのアノテーションである。

リードのアノテーションは、多くの場合、事前に機能的な関連性を持つ遺伝子配列のデータベースにリードをアラインメントすることによって実行される。これらのアラインメントは、多くの場合、翻訳されたアラインメントとして実行される。すなわち、リードのヌクレオチド配列を可能なアミノ酸配列に6フレーム翻訳し、それらのアミノ酸配列を遺伝子に関連するタンパク質配列にアラインメントする。MetaLAFFAは、その速度とビルトイン並列化のため、デフォルトのアライナーとしてDIAMOND(Buchfink, Xie, and Huson 2015)を使用している。デフォルトでは、MetaLAFFAは、存在する場合には、遺伝子配列のUniRef90リファレンスデータベース(UniProt (Consortium 2018)から)を使用するように設定されているが、アノテーションされた遺伝子配列の他のデータベースが利用可能であれば(例えばKEGGなど)使用することもできる。

5. リードマッピングヒットのフィルタリング

リードを遺伝子配列にマッピングした後、MetaLAFFAはこれらのヒットをフィルタリングしてアノテーションの質を向上させる。ヒットをフィルタリングする方法はいくつかあるが、それはリードごとにどれだけのベストヒットが保持されるか、機能的なアノテーションを持たない遺伝子へのヒットが保持されるかどうかに依存している。これらの方法の違いについては、Carrら(Carr and Borenstein 2014)で議論されており、ヒットフィルタリングの異なる選択から生じる感度と特異性のトレードオフを分析している。デフォルトでは、MetaLAFFAはヒットをフィルタリングするためにカスタムPythonスクリプトを使用し、最も高い特異度のヒットフィルタリング方法(すなわち、最も信頼できるヒットを保持するが、信頼度が低いためにいくつかの真のヒットを見逃してしまう可能性がある)を使用している。

6. 遺伝子カウント

ヒットがフィルタリングされると、MetaLAFFAは、配列データベース内の各遺伝子にマップされたリードの数に基づいて、遺伝子の豊富さをカウントする。マップされたリードに基づいて遺伝子量をカウントする際には、2つの重要な考慮事項がある。すなわち、長い遺伝子は短い遺伝子よりもシークエンシングされる可能性が高いため、遺伝子の長さで正規化されるべきである。2番目の検討事項は、リードが複数の遺伝子にマップされている場合のカウントである。これは2つの方法で行うことができる。1つは、リードがマップする各遺伝子に1のカウントを与える方法、もう1つは、リードがマップする遺伝子の間でリードのカウントを分割し、各リードが合計で1のカウントを貢献させる方法である。前者の方法では二重カウントの問題が発生する可能性があるため、MetaLAFFAではデフォルトで小数の遺伝子カウント方法を使用している。遺伝子長の正規化と小数カウントは、MetaLAFFAのデフォルトの操作では、カスタムPythonスクリプトによって実行される。

7. オルソログカウント

次のステップは、遺伝子の豊富さをアノテーションされた機能の豊富さに変換することである。通常、これらは、様々な機能アノテーションシステム(例えば、KEGG(Kanehisa et al. 2018)、MetaCyc(Caspi et al. 2007)など)によって定義された機能オルソロジーグループの豊富さの形で来る。これらの機能オルソロジーグループは、通常、単一の遺伝子に対応するタンパク質が実行し得る機能に対応する。しかしいくつかの遺伝子は複数のオルソロジーグループにマッピングされ得るので、各遺伝子は、関連する各オルソロジーグループにその全アバンダンスを寄与するか、または関連する各オルソロジーグループにそのアバンダンスの分数的な寄与にするか方法は異なる。ここでも二重カウントの問題があるため、デフォルトでは、オルソログの豊富さをカウントする際に、端数寄与法(fraction contribution method)を使用している。また、MetaLAFFAは、デフォルトでUniProt遺伝子機能アノテーションからKEGGオルソロジーグループ(KO)の豊富さを計算する。デフォルトでは、オルソロジーグループのアバンダンスの計算は、カスタムPythonスクリプトを使用して行われる。

8. オルソロジーグループのアバンダンスの修正

初期のオルソロジー群の豊富さが計算されると、通常はサンプル間での比較を可能にするために修正する必要がある。具体的には、標準的なショットガンメタゲノムシークエンシングからのリードカウントに基づくオルソロジー群の豊富さは、本質的に組成的なものである(すなわち、リードカウントに基づく豊富さは、オルソロジー群の絶対的な豊富さではなく、相対的な豊富さを反映している)。この問題を考慮し、オーソロジー群の豊富さを、サンプル間の有効な標準統計比較を可能にする形に変換するために、MetaLAFFAは、デフォルトの操作中にMUSiCC(Manor and Borenstein 2015)を使用している。MUSiCCは、細菌ゲノム全体で普遍的にシングルコピーであると同定された遺伝子を使用して、リードベースの相対的なオルソロジー群の豊富さを、サンプル内のゲノム全体での平均オルソロジー群コピー数に変換する。デフォルトでは、MetaLAFFAは、普遍的なシングルコピーの遺伝子の豊富さを使用してKOの豊富さを補正するために、学習モデルを使用してMUSiCCのサンプル間正規化とサンプル内補正を使用している。

9. オルソロジーグループを高次機能記述に集約する

MetaLAFFAの最後のステップは、機能的オルソロジーグループの豊富さを、より高レベルの機能記述(例えば、モジュールやパスウェイ)の豊富さに集約することである。初期のオルソロジーグループのカウントでは、多くの場合、何千ものユニークな機能が得られることがあるため、これは結果の解釈のしやすさに役立つ。この問題を処理する1つの方法は、初期の機能的オルソロジーグループを、機能的類似性または生物学的プロセス(例えば、炭水化物代謝)における共通のメンバーシップに基づいて、より高レベルの機能分類に集約することである。これにより、解析すべき機能の数がより管理しやすくなり、また、高レベル機能分類の興味深い傾向を明らかにすることができる。デフォルトでは、MetaLAFFAは、オルソロジーグループを集約する際にEMPANADA(Manor and Borenstein 2017)を使用し、それらの機能カテゴリのそれぞれの存在の支持に基づいて、オルソロジーグループの豊富さを、それが属する機能カテゴリのすべての間で割り当てる。KOと高次機能記述(モジュールおよびパスウェイ)との間の関連付けは、デフォルト設定の下でKEGG BRITE階層(Kanehisaら2018)から決定される。

10. 結果のまとめ

MetaLAFFAのもう一つの重要なコンポーネントは、パイプラインの各ステップに付随するサマリー統計量の自動生成である。デフォルトのサマリー統計には、入力FASTQと各FASTQフィルタリングステップ後の結果FASTQのリード数、平均リード長、平均塩基品質、ヒット数、マップされたリード数、関連遺伝子数、アノテーションされたオルソログの数が含まれる。

 

インストール

ubuntu18.04LTSでテストした。

依存

本体 Github

#condaのレシピではpythonのバージョンは3.6指定になっている。
conda create -n metalaffa python=3.6 -y
conda acctivate metalaffa
conda install -c bioconda -c borenstein-lab metalaffa -y

#mamba
mamba create -n metalaffa -c bioconda -c borenstein-lab metalaffa -y
source activate metalaffa

prepare_databases.py -h

$ prepare_databases.py -h

usage: prepare_databases.py [-h] [--human_reference] [--ko_mappings]

                            [--uniprot] [--force]

 

Downloads and formats default databases.

 

optional arguments:

  -h, --help            show this help message and exit

  --human_reference, -hr

                        If used, download the human reference + decoy

                        sequences used in the 1000 genomes project (hs37d5).

  --ko_mappings, -km    If used, download bacterial ko-to-module and ko-to-

                        pathway mappings from the 2013 version of the KEGG

                        database.

  --uniprot, -u         If used, download the default UniProt gene sequence

                        reference database for read mapping.

  --force, -f           Normally, if the expected output files already exists,

                        this script will skip generating them. Use this option

                        to force the script re-download and/or regenerate all

                        specified databases, even if they already exist.

 

 

create_new_MetaLAFFA_project.py -h

$ create_new_MetaLAFFA_project.py -h

usage: create_new_MetaLAFFA_project.py [-h] new_directory

 

Creates a new MetaLAFFA project directory that utilizes the same reference

resources as your original MetaLAFFA installation, but with its own

configuration files that you can customize to the new project.

 

positional arguments:

  new_directory  Path to new project directory.

 

optional arguments:

  -h, --help     show this help message and exit

 

 

./MetaLAFFA.py -h

$ ./MetaLAFFA.py -h

usage: MetaLAFFA.py [-h] [--use-cluster] [--cluster CLUSTER]

                    [--jobscript JOBSCRIPT] [--cores CORES]

                    [--latency-wait LATENCY_WAIT]

 

Wrapper script to run the pipeline, ensuring that the shell environment for

Snakemake is correct.

 

optional arguments:

  -h, --help            show this help message and exit

  --use-cluster         MetaLAFFA should use the configured cluster

                        environment for running jobs.

  --cluster CLUSTER, -c CLUSTER

                        The submission wrapper to use when submitting an

                        individual cluster job (default:

                        src/sge_submission_wrapper.py)

  --jobscript JOBSCRIPT, --js JOBSCRIPT

                        The job script to use when submitting an individual

                        cluster job (default: src/configured_jobscript.sh)

  --cores CORES, --jobs CORES, -j CORES

                        Number of jobs to have submitted to the cluster queue

                        at any one time, or if running locally, the number of

                        cores to use for running jobs in parallel (default:

                        50).

  --latency-wait LATENCY_WAIT, --output-wait LATENCY_WAIT, -w LATENCY_WAIT

                        Number of seconds to wait after a job finishes before

                        checking that the output exists. This can avoid

                        Snakemake incorrectly marking a step as failed when a

                        file might not be immediately visible due to network

                        latency (default: 60).

ラッパーのMetaLAFFA.pyはcreate_new_MetaLAFFA_project.py によって生成される(テストラン参照)。

 

データベースの準備

MetaLAFFAが利用可能なデータベース全てをダウンロードする。以下のコマンドを実行する。

prepare_databases.py -hr -km -u
  • --human_reference, -hr   If used, download the human reference + decoy sequences used in the 1000 genomes project (hs37d5).
  • --ko_mappings, -km    If used, download bacterial ko-to-module and ko-to-pathway mappings from the 2013 version of the KEGG database.
  • --uniprot, -u    If used, download the default UniProt gene sequence reference database for read mapping. 

 ダウンロードとビルドには1日ほどかかった。

 

テストラン

create_new_MetaLAFFA_project.py metalaffa_example
cd metalaffa_example
wget http://downloads.hmpdacc.org/data/Illumina/stool/SRS017307.tar.bz2 -P data/
tar -jxf data/SRS017307.tar.bz2 --one-top-level=data --strip-components=1
gzip data/*.fastq

data/のfastq.gzは<sample>.R1.fastq.gzと<sample>.R2.fastq.gz という命名則に則っていなければならない。ここではsample1_.R1.fastq.gzとsample1_.R2.fastq.gz、sample1_.S.fastq.gzにリネームした。

f:id:kazumaxneo:20201224141040p:plain

準備ができたら実行する。create_new_MetaLAFFA_project.pyで生成されたMetaLAFFA.pyを叩く。

cd metalaffa_example/
./MetaLAFFA.py

#クラスター環境でラン (準備のセクションを参照)
./MetaLAFFA.py --use-cluster

 

出力

f:id:kazumaxneo:20201224191505p:plain

 

引用

MetaLAFFA: a flexible, end-to-end, distributed computing-compatible metagenomic functional annotation pipeline

Alexander Eng, Adrian J. Verste, Elhanan Borenstein
BMC Bioinformatics volume 21, Article number: 471 (2020)