👩‍⚕️

KneadDataおよびHUMAnNでのショットガンメタゲノム解析_2

に公開

この記事の要約

  • ショットガンメタゲノム解析とは、環境中のすべての生物のDNAをまとめて読み取り、どんな生物がいて、どんな遺伝子を持っているかを調べる解析方法である。
  • 前回 は、KneadDataおよびHUMAnNを用いてショットガンメタゲノム解析を行った。今回は解析結果についての図示を行う。

はじめに

皆さんこんにちは。
株式会社アンプラットです。

この記事では前回 (解析方法 / 結果の紹介) に引き続き、HMがKneadDataとHUMAnNの図示の方法を紹介していきます。
前回、KneadDataおよびHUMAnNを用いてショットガンメタゲノム解析を行う_1 ではKneadDataおよびHUMAnNを用いてショットガンメタゲノム解析を行いました。今回は前回の解析結果について図示を行うため、まだの方はそちらもぜひご覧ください。

最後までご覧いただけますと幸いです。

※ 記事は当社社員、役員でも確認をしており、ある程度の信頼性は担保できていますが、完全ではないので、そこはご認識の上、ご覧くださいませ。


KneadDataおよびHUMAnNでのショットガンメタゲノム解析_2

実際にKneadDataおよびHUMAnNでのショットガンメタゲノム解析を行った際の流れを記述する。
データが大きいのでサーバーなどで行うことを推奨する。


目次


1. 前回のおさらい

前回は、KneadData、HUMAnNを用いてショットガンメタゲノム解析を行った。

ショットガンメタゲノム解析とは?

ショットガンメタゲノム解析とは、環境中のすべての微生物のDNAをまとめて読み取り、どんな生物がいて、どんな遺伝子を持っているかを調べる解析方法である。

KneadDataとは?

たとえば腸内細菌のメタゲノムデータを解析するとき、サンプル中にはヒト由来のDNAや食べ物のDNAなど、本来解析したい微生物以外の配列が普通に混ざっている。こうした“ノイズ”を取り除かないと、後の解析結果が大きく歪んでしまう可能性がある。
KneadDataは、こうした混合サンプル(例:腸内フローラ、環境サンプルなど)の生データ(FASTQ)から、不要な配列(ヒトDNA・低品質リード・アダプターなど)を除去するためのツールである。
公式サイトはこちら

HUMAnNとは?

腸内や環境などにすむ多様な微生物たちは、単なる“誰がいるか”だけでなく、どんな代謝経路や機能を持っているのかが重要である。
たとえば「このサンプルでは脂肪酸分解経路が豊富」「こちらではビタミン合成経路が多い」といった機能的な違いを見たいときに活躍するのがHUMAnNである。
HUMAnNは、メタゲノムやメタトランスクリプトームデータから微生物群の機能構成を推定するツールである。
公式サイトはこちら

今回は、前回の解析結果のうち、代謝経路(Metabolic Pathway)ごとのアバンダンスをまとめたものである merged_pathabundance.tsv について図示を行う。
なお、前回、正規化を行ったことにより、merged_pathabundance.tsvの値はCPM(Counts Per Million)で正規化しており、各サンプル内の総和を 1,000,000 とした相対量であることに注意する。


2. humann3-toolを用いた図示

humann3-toolとは、HUMAnNの解析結果を可視化しやすい形に加工するための補助ツールである。
今回はこのツールを用いて、サンプル間やパスウェイ構成の類似性を見るための図を作る。

2.1 metadata.csvの作成

実験の前提条件に合わせて、下のようにmetadata.csvを作成する。

sample_id,[区分け]
[サンプル名]_Abundance,[ラベル]
[サンプル名]_Abundance,[ラベル]

例えば、このようになる。

sample_id,Group
SRR17531755_Abundance,A
SRR17531756_Abundance,B

今回は、前回の記事 で解析したいファイルを入れた~/humann/Input_filesにこのmetadata.csvを入れて図示を行う。

その後、前回使用したdockerコンテナに入る。なお、これ以降の操作はdockerコンテナ内で行う。
コンテナには以下のコマンドで入ることができる。

docker exec -it humann_container bash

2.2 図示の実行

humann3-toolsを使用した図示

以下のコマンドで図示を実行する。

humann3-tools viz \
--abundance-file /work/Output_files/final/merged_pathabundance.tsv \
--metadata-file /work/Input_files/metadata.csv \
--output-dir /work/Output_files/final \
--pca \
--barplot
【出力ファイル】

/work/Output_files/final内に、barplot_top25_pathway.svgpca_pathway.svgができる。

必要であれば、以下のコマンドで.svg.pngに変換できる。

cairosvg /work/Output_files/final/pca_pathway.svg -o /work/Output_files/final/pca_pathway.png
cairosvg /work/Output_files/final/barplot_top25_pathway.svg -o /work/Output_files/final/barplot_top25_pathway.png
  • barplot_top25_pathway.png

【出力ファイル解説】

横軸:Group(A / B)
→ グループごとに平均されている(複数サンプルがある場合)
縦軸:Mean Abundance(パスウェイの平均存在量)
色:各色は異なる「メタボリックパスウェイ(代謝経路)」を表す
→ 例: UNINTEGRATED|g__Prevotella.s__Prevotella_copri は Prevotella copri由来の未統合機能
→ 棒が高い=その経路がサンプル中でよく検出されたことを意味する

  • pca_pathway.png

【出力ファイル解説】

パスウェイ構成の類似性を見る図。
多次元データをPCA (Principal Component Analysis)を用いて2次元に縮約し、サンプル間の類似性を視覚化する。通常PCAは第3主成分以降もあるが、分散の大きい2成分について扱う。
近い点ほど似ている(pathwayの構成が似ている)、遠い点ほど異なる(pathwayの構成が違う)ことがわかる。
※図中に表示される極小値1e−24 −1.380975707e−12は描画上のスケール表示であり、実質的な意味は持たない。
今回はサンプル数2で行っているためPC1が100%となり、1次元で表されている。



3. HUMAnNを用いた図示

ここでは、HUMAnN本体の機能を用いた図示を行う。

3.1 merged_pathabundance.tsv の編集

merged_pathabundance.tsvにサンプル名を追加する。

2行目に、以下のようにサンプル名をtab区切りで追加する。

SampleName	[サンプル名1]	[サンプル名2] ...

今回は、以下のように追加した。

SampleName	SRR17531755	SRR17531756

すると、このようになる。

※行を追加した状態でhumann3-toolsを使用した図示を行うとエラーになるので、先にhumann3-toolsを使用した図示を行うことをおすすめします。

3.2 図示の実行

経路ごとの微生物寄与率のbarplotを図示する

humann_barplot \
  --input /work/Output_files/final/merged_pathabundance.tsv \
  --focal-metadata SampleName \
  --last-metadata SampleName \
  --focal-feature 1CMET2-PWY \
  --output /work/Output_files/final/plot_1.png \
  --sort sum
【オプション】
  • --input:入力ファイル
  • --focal-metadata:色分けや凡例の基準(ここでは SampleName)
  • --last-metadata:並び順やグループ分けの基準
  • --focal-featuremerged_pathabundance.tsvをみて、解析したい種名を「:」の手前まで入れる。今回だと1CMET2-PWYと入れて行っている
    [merged_pathabundance.tsvの中身]
  • --output:出力画像の保存先
  • --sort sum:総量(合計値)に基づいてサンプルを並べ替える(ファイル名の順番に並べたい場合は--sort sum metadataとする)
【出力ファイル】

/work/Output_files/final内に、plot_1.pngができる。
この図は、階層化された出力を視覚化している。
この図だと1CMET2-PWY: folate transformations III (E. coli)について、経路ごとの微生物寄与率を積み上げで表現している。
※「階層化」とは、1つの代謝経路(pathway)が、どの微生物によって担われているかを分解して表示することである

経路ごとの微生物寄与率のbarplotをログスケールに変換して図示する

humann_barplot \
  --input /work/Output_files/final/merged_pathabundance.tsv \
  --focal-metadata SampleName \
  --last-metadata SampleName \
  --output /work/Output_files/final/plot_2.png \
  --focal-feature 1CMET2-PWY \
  --sort sum metadata \
  --scaling logstack
【オプション】
  • --input:入力ファイル
  • --focal-metadata:色分けや凡例の基準(ここでは SampleName)
  • --last-metadata:並び順やグループ分けの基準
  • --output:出力画像の保存先
  • --focal-featuremerged_pathabundance.tsvをみて、解析したい種名を「:」の手前まで入れる。今回だと1CMET2-PWYと入れて行っている
  • --sort sum metadata:ファイル名の順番に並べる(ソートされた順に並べたい場合は--sort sumとする)
  • --scaling logstack:値を対数変換して積み上げ表示
【出力ファイル】

/work/Output_files/final内に、plot_2.pngができる。
この図は、階層化された出力を視覚化している。
この図だと1CMET2-PWY: folate transformations III (E. coli)について、経路ごとの微生物寄与率をログスケールで表現している。

Bray–Curtis距離でソートする

humann_barplot \
  --input /work/Output_files/final/merged_pathabundance.tsv \
  --focal-metadata SampleName \
  --last-metadata SampleName \
  --output /work/Output_files/final/plot_3.png \
  --focal-feature 1CMET2-PWY \
  --sort braycurtis \
  --scaling logstack \
  --as-genera \
  --remove-zeros
【オプション】
  • --input:入力ファイル
  • --focal-metadata:色分けや凡例の基準(ここでは SampleName)
  • --last-metadata:並び順やグループ分けの基準
  • --output:出力画像の保存先
  • --focal-featuremerged_pathabundance.tsvをみて、解析したい種名を「:」の手前まで入れる。今回だと1CMET2-PWYと入れて行っている
  • --sort braycurtis:サンプル間の Bray–Curtis 距離行列を計算し、類似したサンプルが隣り合うように並び順を決める
  • --scaling logstack:値を対数変換して積み上げ表示
  • --as-genera:属レベルで集約して描画
  • --remove-zeros:ゼロ値の行を除外
【出力ファイル】

/work/Output_files/final内に、plot_3.pngができる。
属レベルに再分類し、経路を保持するサンプルのみを対象に、生態学的類似性(Bray–Curtis距離)に基づいて並べ替えた寄与構造を示す。


終わりに

いかがでしたでしょうか。

今回は、KneadDataおよびHUMAnNを用いてショットガンメタゲノム解析を行った後の、図示の手法をご紹介しました。
株式会社アンプラットでは、バイオインフォマティクス解析のサポートから、研究者向けの環境構築・ワークフロー開発まで、研究に専念できる環境づくりを幅広く支援しています。
「こんな解析がしてみたい」「もっと効率よく研究を進めたい」など、お気軽にご相談ください。

ANPLATのブログ

Discussion