最近,PubChem Identifier Exchange Serviceの能力に感動したので,紹介しておきます.
https://pubchem.ncbi.nlm.nih.gov/idexchange/idexchange.cgi
これは,コラム「化合物表記方法」
https://sites.google.com/site/esitomonokai/jie-xi-bu-wu/hua-he-wu-biao-ji-fang-fa
で紹介した,InChIKey,InChI code,SDFや,データベースID(KEGG IDやHMDB IDなど)を相互変換してくれるPubChemのサービスです.
管理人の研究において,最近,HMDB,YMDB,UNPD,KNApSAcKなどの代謝物データベースに登録されている化合物を
1.「共通のID」で管理しておきたい
2.PubChem Compound ID (CID)があるなら,それを管理しておきたい
3.共通のIDから,そのIDで一番最もらしい「代謝物慣用名」を持っておきたい
ということがありました.
1の共通のIDは,もちろんInChIKeyです.
https://sites.google.com/site/esitomonokai/jie-xi-bu-wu/hua-he-wu-biao-ji-fang-fa/inchitoinchikey
InChIKey自体を取得することは実はすごく簡単で,ChemAxonのMolConverterでいちころです.
http://www.chemaxon.com/products/marvin/molconverter/
ChemAxonについては,あまりにも便利なので,別コラムでいつかまとめて取り上げます.
アカデミックフリーですので,教育機関に在籍の方は積極的に導入して損はないツールです.
MolConverter自体は,Windowsなら「コマンドプロンプト」というものを使わないといけないのですが,たとえば数万の化合物構造を格納したSDFファイル(Sample.sdf)があったとして,それをInChIKeyに変えたい場合は,
>molconvert inchikey sample.sdf –o sample-inchikey.txt –g –Y
とすればsample-inchikey.txtの中に変換結果のInChIKeyが入ってきます.後ろの-gや-Yは,エラーを無視してがんばって最後までやらせるための引数です.
さて,このようにInChIKeyのリスト,たとえば以下のような
リストができたとして,これのPubChem CIDを手に入れたい!ということであれば,このPubChem Identifier Exchange Serviceでいちころだということです.
使い方は簡単で,メイン画面のInput listでInChIKeysを選んで,ファイル名に先ほどの変換したファイルを選択.(上記のような少ない場合は,コピー&ペーストで貼り付ける方法もある)
2つ目のOperator Typeは,Same CIDかSame, Connectivityを選ぶ(お好み).
Same CIDは,上記InChIKeyと完全にマッチするPubChem CIDのみ取得するということで,Same, Connectivityは,同じ結合情報(つまり,光学異性を除いた場合)を持つCIDを取得するということになります.
上に紹介したInChIKeyを見て,一瞬で「あっこれ,光学異性を考えていないんだな」って察知できた人は,かなりInChIに詳しい方だと思います.
InChIKeyの最初の14桁のアルファベットは,化合物の結合関係(Connectivity)を表していて,次からの9桁のアルファベットは,isomer(E, Z等)やStereo(D, L等)を表しています.上に紹介したUHFFFAOYSの9桁は有名で,「異性体は定義しない」コードを示しています.
ですので,このようなInChIKeyをお持ちの方は,Same, Connectivityを選んだほうが良いのかもしれません.
話は長くなりましたが,最後にOutput IDsとしてCIDsを選択し,Output MethodにTwo column file,Compressionは変換したいファイルサイズによりますが普通はNo compressionで良いと思います.
あとは,Submit jobのボタンを押すだけ.それで簡単にPubChem CIDが一括で手に入っちゃいます.
このサービスのすごいところは,なんといってもスピード!早いです.基本的には,一瞬で変換は終わっちゃいます.
さて,本日最後,共通のID(InChIKey)から,慣用的に(つまり人間でもわかる)化合物名を取得するという目的においても,このPubChemサービスは「ある程度」力を発揮します.
「ある程度」と書いた理由は,Output IDsでSynonymsを選んだ場合,候補の化合物名を何から何まで全部出力してきます.多いもので50-100個の化合物名が同じInChIKeyから出力されます.
InChIKeyの有り難みがわかる一方で,こっちとしては「生物学に一番使われると思われる」化合物名がほしいっていう要求があるので,さてどうしたものか…
ということで,管理人はCTS(Chemical Translation Service)を使いました.
http://cts.fiehnlab.ucdavis.edu/
これは,上記検索されたもののうち,「一番生物学的らしい」名前を出力してくれる機能を持っています.何に基づいていたか忘れましたが…(たしか,BioCyc,HMDB,PubChemの何らかだった気がする…)
これは便利なんですが,弱点としては遅いということ.30万件のInChIKeyを全部変換するのに3日かかりました.ちなみにPubChem serviceだったら2分くらいでした.あと,Batch検索は基本的にはRestを使ったウェブプログラミングの知識を知っていないとできないという,プログラムの知識がない人には厳しい仕様になっています.
というわけで,メタボロミクスを真剣にやるぞ!という研究者,学生の方は,本当に簡単な知識で良いので,プログラムは少しできたほうが良いってことがここでも出てきますね!
今日は以上です.