SQL言語 (MySQL)

SQL言語を使った遺伝子の選択

マイクロアレイのデータを処理するときに知っておくと便利なツールとして、SQL言語があります。コンピューターにいろいろな命令を出すのが、プログラミング言語と呼ばれるものです。その中でもデータベースの処理に特化した言語が、SQL言語です。(SQL言語にはいくつかの種類があり、ここでは MySQL という種類を用います。)

プログラミング言語の中でも、SQL言語は、人間にも比較的読みやすい言語です。例えば、次のようなものです。

SELECT ProbeID, GeneSymbol
FROM 'アノテーションのテーブル名';

アノテーションのデータが、データベースのテーブルに格納されていれば、このような表現で、ProbeID と GeneSymbol の一覧を取得できます。

アノテーションの GO に “tumor” を含む遺伝子すべてを取得するには、次のようなSQL(クエリー)を用います。

SELECT a.ProbeID, a.GeneSymbol, a.GO, d.Sample1, d.Sample2
FROM annotation a
INNER JOIN data d
ON a.ProbeID = d.ProbeID
WHERE a.GO LIKE '%tumor%';

 

 

Gene Ontology (GO) の得意、不得意

GOを使うと何でも解析できるというわけではありません。GOには、その構造上、得意な点と不得意な点があります。

GOの得意な点

マイクロアレイ解析の結果から、特定の用語(機能、キーワード)を持つ遺伝子だけを取り出せます。マイクロアレイ解析の結果を表示したエクセルのGOの列を検索すればよいです。または、AmiGO で、GOの特定の用語を持つ遺伝子のリストをあらかじめ取得しておき、遺伝子名を検索する方法もあります。(探したい遺伝子が1個か2個なら、よいのですが、大量に検索するときは、データを一度データベースに登録して、SQL言語を利用するなど、情報処理の技術を使うことをお勧めします。人的ミスを防げますし、時間がかかりません。ご相談ください。

GOの不得意な点

当然ながら、GOに登録されていない用語(機能、キーワード)を扱うことができません。例えば、 “apoptosis” ではなく、 “apoptotic process” でなければなりません。”response to tumor necrosis factor” (GO:0034612) はありますが、 “tumorigenesis” はありません。”oncogenesis” という用語も現在は使われていません。流行の stemness genes はありませんが、 “stem cell differentiation” (GO:0048863) はあります。

よく使われる用語であっても、意外と登録されていなかったりします。(登録されていない原因はいろいろです。言い換えができたり、GOの思想と合わないなど。)この場合は、単語を区切るなり、別のいい方を考えたり、もっと細かいプロセスに分解して考える必要があります。

“tumorigenesis” の例でいえば、GOの用語中に “tumor” を含むものすべてという選び方をする必要があります。また、転移 (metastasis) に関連する遺伝子を選びたいとしても、 GO に “metastasis” はありませんので、GO:0051726 : regulation of cell cycle と GO:0007155 : cell adhesion と GO:0042379 : chemokine receptor binding というように複数のプロセスに分けて考え、それらをGOに持つものすべてを対象として選択することになります。

 

AmiGO を使った Gene Ontology (GO) の検索(結果の表示と取得)

検索結果の表示と取得

用語の検索結果の画面において、用語の右側に表示された遺伝子数をクリックすることで、その用語をアノテーションに持つ遺伝子の一覧を表示できます。このとき、遺伝子数が多い場合は一覧が表示されません。生物種を選択して、フィルターをかける必要があります。

検索結果とフィルター

一覧が表示されます。この結果をファイルとして保存するには、 “gene association format” をクリックします。こうして取得されたリストは、マイクロアレイデータを解析する際に役立ちます。

検索結果の取得。

検索結果には、選択した用語(例の場合は、GO:0043066 negative regulation of apoptotic process)と、その子供の用語をアノテーションに持つ遺伝子も含まれています。例の場合、GO:0071866 negative regulation of apoptotic process in bone marrow をアノテーションに持つ2個の遺伝子が含まれています。

子供の用語を含む結果。
 

AmiGO を使った Gene Ontology (GO) の検索

GOの検索

AmiGO では、特定の用語(キーワード)が GO に登録されているかどうかの検索が行えます。ボックスに検索したい用語を入力し、「送信」ボタンをクリックします。

検索画面

 

下図のような検索結果が表示されます。必ずしも検索した単語が登録されているとは限らないため、その単語を含む用語や、似ている用語、シノニムなどが表示されます。検索結果の各用語の右側に表示されている xxxx gene products は、その用語をアノテーションに持つ遺伝子の数です。この例の場合、 アポトーシス抑制 (GO:0043066 negative regulation of apoptotic process) をアノテーションに持つ遺伝子が、3579個存在するということが示されています。(標準のフィルター無しの設定では、すべての生物種における結果の合計値です。)

検索結果
 

Gene Ontology (GO) の階層構造

GO の階層構造

整理するために階層構造になっています。用語と用語に親子関係があるとも言えます。例えば、「細胞」の中に「細胞内領域」があり、「細胞内領域」の中に「核」があり、「核」の中に「染色体」があるといった具合です。

これらの用語の階層構造は、 AmiGO の Tree Browser で見ることができます。

GO の Tree Browser 表示。

階層構造の上位の用語ほど、あいまいな用語になっています。また、下位のものほど、より意味の限定された用語になっています。用語に親子関係があると何が便利かというと、階層構造をたどることで、あいまいな用語でまとめて検索ができる点です。

例えば、アポトーシス促進 (GO:0043065 positive regulation of apoptotic process) と、アポトーシス抑制 (GO:0043066 negative regulation of apoptotic process) は、その共通の親であるアポトーシス作用 (GO:0006915 apoptotic process) という用語でまとめて検索できます。

GOの階層構造は、Directed acyclic graph (DAG) という特殊な階層構造で、親を複数持つことができます。しかし、マイクロアレイデータのアノテーションを扱う上で、特に意識する必要はないと思います。