今回からは,「化合物表記方法」を見ていきたいと思います.そして,各化合物表記方法のメリットやデメリットを,管理人の主観とおりまぜながら紹介したいと思っています.最初のコラムは,InChIとInChIKeyについてです.
さっそくですが,KEGG (http://www.genome.jp/kegg/)にいって,’Alanine’を検索してみました.
結果:http://www.genome.jp/dbget-bin/www_bget?cpd:C00041
なんのことはない,AlanineのKEGG ID・構造・組成式・反応・経路等々,きれいに整理されているわけですが,今回の問題は’Name’のところに,
L-Alanine, L-2-Aminopropionic acid, L-alpha-Alanine
と3つの呼び名が割り当てられているという事実です.これは,Synonyms(同意語)です.Alanineと一口に言ってもいろいろな呼び方がある.
生物の方はAlanineと呼ぶことが多いかもしれないし,化学の方は2-Aminopropionic acid(さすがにAlanineは違うかもですが…)と呼ぶことが多いかもしれない.つまり,
「Alanineという呼び方は,化合物を定義するものとしては不安定」
ということです.
また,もう一つ重要なことは,ミスタイプ(Alanene, Alanen, Alanin)としてしまうと,検索に引っかかってこないこともさることながら,最重要事項として,
「自分になじみ深い化合物の呼び名が,データベースに別の名前でしか登録されていない場合,検索されない」
ということを,認識していなければならないということです.このような問題を解決するため,データベース側は独自の「ID」というものを用意し,ユーザーは各自で慣用名とデータベースIDの対応表を作っておくことで,上記のような問題を回避することができます.
このようなデータベースIDというものは,厳密には化合物表記方法とは言えないかもしれませんが,非常に重要だと思ったので先に書きました.
管理人(メタボロミクス研究者)が良く使うデータベースとしては,
・PubChem (Compound ID: CIDとSubstance ID: SIDがあるが,CIDを推奨)
・Dictionary of Natural Products (DNP)
・Kyoto Encyclopedia of Genes and Genomes(KEGG)
・Human Metabolome Database (HMDB)
・KNApSAcK
・LIPIDMAPS
・BioCyc
であり,in-houseで化合物の名前(自分がしっくりくるものでよい)と,これら個別のIDを一斉に管理しておくことで,利用したいデータベースにおいてミスなく検索可能となる.(データベースの利用法については,また別途コラムを作成予定)
手作業でこのような情報を全部そろえるなんて鬼畜な作業はしないでくださいね.基本的に,どれか1つをそろえるだけで良いと思います.(管理人はKEGG,無ければpubchem CIDを推奨)
そしたら,CTS(Chemical Translation Service)にて,自分がほしいIDを一括検索・変換してくれます.
http://cts.fiehnlab.ucdavis.edu/
で,「おそらく」これからの時代,せっかくなのでInChI CodeとInChIKeyの2つの化合物記述子は管理しておいたほうが良いかと思うので,上記データベースIDに加えて余力があればこの2つも管理しておきましょう.
やっと前置きが終了…ここからが本題です.このコラム第一回で取り合げるのはInChIとInChIKeyの2つです.この2つはデータベースIDとは異なり,間違いなく「化合物記述子」と呼ばれるものです.
わかりやすい動画
https://www.youtube.com/watch?v=rAnJ5toz26c
個人的に,あこがれのStephen Stein先生が出てきて超テンション上がった記憶があります.
InChI codeの最も重要なところは,「化合物の立体構造を一義的に定義」しているところにあり,InChIで示される化合物はこの世でたった一つしか存在しないということです.
たとえばAlanineだったら,
InChI=1S/C3H7NO2/c1-2(4)3(5)6/h2H,4H2,1H3,(H,5,6)/t2-/m0/s1
です.上記はStandard InChIです.スラッシュ(/)ごとに意味が区切られていて,各接頭辞(prefix)にはそれぞれ意味があります.全部で6つの階層が存在し,それぞれの階層にはいくつかのサブ階層が存在します.全InChIで唯一,必ず記載を義務づけられているのは,最初の組成式だけです.(義務というより,他の階層は化合物によっては書けないというのが正しいと思います.)
各階層が何を表しているのかは,個別に調べてください.(http://en.wikipedia.org/wiki/International_Chemical_Identifier)
InChIKeyは,上記InChI codeに1対1対応した(InChI→InChIKey変換ソフトが存在する),27文字の配列です.
たとえばAlanineは
QNAYBMKLOCPYGJ-REOHCLBHSA-N
となります.
InChIは,よく見ればどのような構造をしているのかを想像することができますが(まぁ無理ですが…),InChIKeyとなると,もはやなんの化合物を表したものなのかは全くわかりません.
ただし,重要なことは,InChIKeyは
「化合物を一義的に定義する」
「検索に容易なインデックスとしての機能を果たす」
という2つの側面を持っているということです.
次回から見ていきますが,SMILESは表記ゆれの問題があるし,SDFはインデックスとしての機能は持たないので,一義性と利便性が最も高い化合物記述子だと思います.
化合物構造から特有の化合物プロパティ(LogPなど)を計算させたい場合,
原則SDFファイルを取ってきて,
何らかのMolecular Descriptorで読み込ませて,
化合物プロパティを出力させて,
たとえばクロマトグラムの保持時間や化合物のイオン化効率を予測するための変数として使う.
ことをすると思うのですが,このような目的のためにSDFを管理するのは,ファイル容量も大きくなるので,InChIKeyで管理しておくのが,便利ですよね.
ただ,InChIは
「直観性」
がありません.このような直観性を持って化合物を記述するための方法としてはSDFとSMILESがあります.次回はSMILESを紹介したいと思います.