遺伝子オントロジーエンリッチメント解析

GO 解析

遺伝子オントロジー(gene ontology; GO)は、遺伝子の生物的プロセス、細胞の構成要素および分子機能に着目して、遺伝子に付けられるアノテーションである。ある遺伝子に付けられた GO を調べることによって、その遺伝子の機能や細胞内局在を推定できる場合がある。

RNA-seq を利用して発現変動解析では、データセットによっては数百もの発現変動遺伝子を動的できる場合がある。このような大量な遺伝子に対して、その機能を解明する方法の一つとして遺伝子オントロジーのエンリッチメント解析がある。エンリッチメント解析を行うとき、発現変動遺伝子のみに着目した一般的なエンリッチメント解析と、発現変動遺伝子だけでなく遺伝子全体に着目した Gene Set Enrichment Analysis (GSEA) とよばれる解析方法がある。いずれも、R/Bioconductor のパッケージで解析できる

R パッケージ

統計解析用フリーソフトウェア R 上で利用できる GO 解析のパッケージは Bioconductor で多数提供されている。いずれも詳細なドキュメントが付いており、R ユーザーにとっては入門しやすいといえる。多数のパッケージのうち、いくつかを以下にリストアップし、その使い方を簡単に紹介する。

GO.dbGO のオントロジー、定義や類似語などを R のオブジェクトとして保存し、R から簡単に取り扱えるようにしたパッケージ。
clusterProfilerRNA-seq に対応した GO 解析、KEGG パスウェイ解析用のパッケージ。
topGOFisher 検定、t 検定、Kolmogorov-Smirnov 検定などによる GO 解析。

GO エンリッチメント解析

GO エンリッチメント解析は、遺伝子全体のうち特定の GO でアノテーションされた遺伝子の割合と、発現変動遺伝子のうち特定の GO でアノテーションされた遺伝子の割合を計算し、その割合を比べることによって、その GO が発現変動遺伝子の中で有意に多く観測できるか(エンリッチしているか)どうかを検定することである。以下に具体的な検定方法を書く。

解析対象の全遺伝子数を N とする。このうち、発現変動遺伝子として同定できた遺伝子数を n とする。次に、全遺伝子のうち、特定の GO(例えば、GO:0010582)でアノテーションされている遺伝子の数を m とする。また、n 個の発現変動遺伝子のうち、k 個が GO:0010582 でアノテーションされているものとする。このとき、発現変動遺伝子とそうでない遺伝子、そして GO:0010582 でアノテーションされた遺伝子とそうえない遺伝子の分割表は次のように書ける。

遺伝子オントロジーを利用したエンリッチメント解析

このとき、GO:0010582 が発現変動遺伝子セットでエンリッチメントしているかどうかを調べるためには、k/n が m/N よりも有意に大きいかどうかを検定すればよい。この目的に対してフィッシャーの正確確率検定とカイ二乗検定などが利用できる。例えば、フィッシャーの正確確率検定の場合、発現変動遺伝子のうち k 個の遺伝子が GO:0010582 アノテーションされる確率は次の式に基づいて計算できる。

\[ P(X=k) = \frac{\begin{pmatrix}m \\ k \end{pmatrix} \begin{pmatrix} N-m\\ n-k \end{pmatrix} }{\begin{pmatrix}N \\ n\end{pmatrix}} \]

このような検定をすべての GO に対して行う。それぞれの検定結果として p-value が出力される。次に、多重検定補正を行い、q-value を計算し、閾値を設けて、発現変動遺伝子に有意にエンリッチした GO を検出する。

GO はツリー構造をしている。ツリーの下の層の GO でアノテーションされた遺伝子は、その上の層の GO でもアノテーションされていることになる。そのため、ツリーの上の層にある GO は検定で有意差が出にくい。また、上の層の GO にあるほど一般的な機能が記述されることが多く、下の層の GO ほど具体的な機能が記述される場合が多い。そのため、エンリッチメント解析を行うにあたって、上の層にある GO を除いてから行うこともある。さらに、GO によって、アノテーションされた遺伝子数が異なる。500 個の遺伝子もアノテーションされた GO と 5 個の遺伝子だけがアノテーションされた GO の重要度が異なる。そのため、あまりにも少ない遺伝子でしかアノテーションされていない GO を除いて解析する場合もある。例えば、遺伝子数 50-500 でアノテーションされた第 4 層以下の GO のみに対してエンリッチメント解析を行うのが一つの目安と言える。もちろん、この目安は生物種などによって調整する必要があり、試行錯誤が必要である。

GSEA

GSEA はエンリッチメント解析の一つである。上で述べたエンリッチメント解析では、統計量に閾値を設けて発現変動遺伝子を検出し、ある GO が有意に発現変動遺伝子にエンリッチしているかどうかを検定するものである。これに対して、Gene Set Enrichment Analysis (GSEA) は、閾値を設けずに、まず p-value などの統計量に従って遺伝子を昇順で並べる(発現変動遺伝子が始めにくるように並べる)。次に、この並べ替えられた遺伝子のリストの先頭から遺伝子を 1 つずつ確認していく。その遺伝子が特定の GO にアノテーションされているならば何点かをプラスして、その遺伝子がその GO でアノテーションされていなければ何点かを減点する。すべての遺伝子に対してこの操作を行うと、加点と減点が繰り返され、最終的にはジグザグの形をした折れ線グラフが得られる。この折れ線グラフの形を利用して、エンリッチメントスコアを計算する。これが GSEA である。

遺伝子オントロジーを利用したGSEAエンリッチメント解析

References

  • Ashburner M, Ball CA, Blake JA, Botstein D, Butler H, Cherry JM, Davis AP, Dolinski K, Dwight SS, Eppig JT, Harris MA, Hill DP, Issel-Tarver L, Kasarskis A, Lewis S, Matese JC, Richardson JE, Ringwald M, Rubin GM, Sherlock G. Gene ontology: tool for the unification of biology. The Gene Ontology Consortium. Nat Genet. 2000, 25(1):25-9. PubMed Abstract
  • Huntley RP, Sawford T, Martin MJ, O'Donovan C. Understanding how and why the Gene Ontology and its annotations evolve: the GO within UniProt. Gigascience. 2014, 3(1):4. PubMed Abstract