MassBankを用いて化合物を同定する

IMSC2012日本語プログラム
MassBankを用いて化合物を同定する
蓬莱尚幸1)、 西岡孝明2)
1)茨城高等工業専門学校
2)奈良先端科学技術大学院大学
September 17, 2012
プログラム
• 前半: 「化合物を同定する」
蓬莱尚幸
• 後半: 「化合物を推定する」
西岡孝明
IMSC2012日本語プログラム
「MassBankを用いて化合物を同定する」
MassBankデータベース・サービス
茨城工業高等専門学校
蓬莱 尚幸
MassBankの特徴
既存のデータベースと比較して ...
スペクトルデータ
• これまでのMSDB(NISTなど)
– 低分解能 EI-MS スペクトルが中心
• 1 化合物 - 1 スペクトルが基本
• m/z値(整数)と相対強度(100分率)
NIST:MS/MSを増強中
・約1/3はペプチド
・ほとんどが低分解能
- 2012追加分からOrbitrapも
• MassBank
– ESI-CID-高分解能 MS スペクトル
• 1化合物 - 複数のスペクトル:MS/MS, (MS)n
• m/z値(実数)と実測強度と相対強度、LCやCEの保持時間
– 二次情報の提供
• 各種データベースへのリンク
• フラグメント・イオンのアノテーション
• 化合物の開裂スキーム
提供方法
• これまでのMSDB
– CD等の媒体の有償配布
• 定期的/不定期的なupdate
– 同梱閲覧ソフトのインストール
• MassBank
– 無償公共データベース
– インターネット利用:分散データベース
• ブラウザ+JavaApplet
• 随時update、直ちに検索に反映
収集方針
• これまでのMSDB
– 測定条件の統一⇒コンテンツの均質化
– 測定困難な化合物の存在
• MassBank
– 様々な測定条件のスペクトルの共有財産化
• 多くの参加者がデータを持ち寄り、公開する
• 実際の測定を"in situ"に記録
– 検索/解析技術の向上⇒高い同定性能
• インフォマティクス技術の向上のためには
多種多量のデータが必要
[cf. GenBank, RefSeq, ...]
MassBankサービス
サービス
コミュニティ
“Public Repository”
蓄積 公開データベース
共有 インターネット
閲覧 検索、ダウンロード
公開 アップロード
研究者
研究室
会社・大学
個人
測定、抽出 測定ソフト、ビューワ
化学的解析、物質同定 ピーク同定ソフト
蓄積、検索 スペクトル管理ソフト
8
マススペクトルは共有財産
コミュニティ
公開スペクトル
データベース
質量分析技術の
発展に寄与
開発に不可欠な
大量データを提供
新しい解析インフォマティクス技術
ピークアノテーション、化合物推定、...
公開データを利用したインフォマティクスの研究
-化合物同定/推定に関する新しい技術の研究
MassBankプロジェクトにおける成果は後半で!
MassBankで公開しているグループ
25 研究グループ(
研究グループ(日本17,
日本17, EU 4, USA 2, スイスと中国 1) が10データサーバから約
10データサーバから約1
データサーバから約1万5千
化合物の 31,153 MSデータを公開
MSデータを公開 (2012年
(2012年8月). うち約1/4
うち約1/4が高分解能データ。
1/4が高分解能データ。
MassBankの特徴
• 代謝物を中心にしたマススペクトルの収集
– 様々な機器、実験条件で測定されたスペクトル
– 高分解能ESI-(MS)n
• 分散協調型の公開データベース
– 多くの機関から提供されたデータ
– インターネットを介したサーバ連携
• 関連ソフトウェアの提供
– 世界的な(デファクト)スタンダードを目指す
化合物同定の方法
スペクトルデータベースの利用方法
GC-, LC-, CE-MSを用いた一般的な
低分子化合物の同定方法
① 既知化合物(標準試薬)の分析と参照データ化
– 保持時間(Retention Time; RT)、MSスペクトルを測定
•
測定方法の標準化
– 参照データに変換
•
Retention Index (RI)へ変換、m/zと強度を標準化
– 参照データDBに蓄積
② 未知試料の測定/分析
– RT、MSスペクトルの測定
– RI、MSデータに変換
③ 未知試料のRI、MSデータを参照データDBに照合
– 一致/類似したら、同定できたと判定
– コサイン相関を用いたMSデータの比較
MassBankでも実施可能
MassBankの基本機能
化合物同定のための検索機能
類似スペクトル検索
ユーザが準備したクエリスペクトルを元に、 MassBank から類似スペクトルを検索
クエリスペクトルと検索結果のスペクトルをグラフィカルに比較
検索結果
スコア
クエリスペクトル
0.96
0.92
• クエリファイルの準備
• 検索実行
• 検索結果の表示
– Compare View
– Package View
0.88
0.86
15
クエリファイル
半角スペース
名称
化合物名などの任意の
名称を記述(省略可能)
ピーク情報
m/z と強度の列
スペースとセミコロンで区切る
改行を挿入可能
(空行は許さない)
空行
スペクトルの区切り
Name: Sample Compound 1
70 24; 71 10; 72 68; 73 999;
74 107; 75 162; 76 13; 77 40;
78 3; 79 7; 80 1; 82 7; 83 5;
84 9; 85 9; 86 22; 87 8; 88 4;
89 2; 90 1;
Name: Sample_Compound 2
73.1 15008;
78.54 4456;
79.45 2158311;
85.3 964800;
86.11 150;
90.0 804911;
Name: Sample …
任意の文字列
先頭に「Name:」を必ず記述
半角スペース
78.54 4456;
強度
セミコロン区切り
Name: Sample Compound 3
178.876379147 15; 186.884786287 8;
229.504276894 9; 360.7581988508 12;
スペクトルは
個でも複数でもよい
スペクトルは1個でも複数でもよい
m/z
強度は、相対強度でも絶対強度でもよい
m/zと強度は、整数でも実数でもよい
と強度は、整数でも実数でもよい
16
検索実行&Compare View
クエリスペクトル
クエリの選択
クエリスペクトル
検索結果(スコア順)
検索結果
検索結果
Package View(複数結果の比較)
④
③
クエリ
②
検索結果から選択
①
①
クエリ
②
③
④
スペクトルの類似性の評価方法
コサイン相関
コサイン相関
• 多次元ベクトル量の類似度
– 同じ向き(θ=0)ならば、1
– 逆向き(θ=180)ならば、ー1
– 大きさの違いは反映されない
ベクトル v1
内積
v1 • v 2
Score(v1, v 2) = cos θ =
v1 ⋅ v 2
θ
大きさ
ベクトル v2
MSデータへの適用
• m/zの値ごとに次元を割当てる。
• Intensityを各次元の要素(値)とする。
整数m/zのコサイン相関
• ベクトル空間の次元数=ピーク数(m/z数)
クエリのピーク数+検索対象のピーク数
-クエリと検索対象に共起するピーク数
q3
q1
q5
Score(q, d ) = cos θ =
q•d
q⋅d
q = q12 + q32 + q 4 2 + q52
q4
(q1, 0, q3, q4, q5, 0)
クエリ
d • q = q1⋅ d1 + q4 ⋅ d4
d6
d = d12 + d22 + d42 + d5 2
d4
d1
d2
(d1, d2, 0, d4, 0, d5)
検索対象
0
・ ①~⑥:m/z
①~⑥:
・ q1~
~q5, d1~
~d6:強度
:強度
①
②
③
④
⑤
⑥
次元数=6
MassBankにおけるm/zの実数化
• 許容範囲(Tolerance)を考慮したベクトル空
間(次元数)の決定
q3
q1
q5
q4
(q1, 0, q3, q4, q5, 0)
クエリ
d6
d4
d1
d2
(d1, d2, 0, d4, 0, d5)
検索対象
0
q1~
~q5, d1~
~d6:強度
:強度
①
②
③
④
⑤
⑥
Toleranceは、測定機器性能、検索目的などに依存するので、
MassBankではユーザによる指定が可能
次元数=6
MassBankの基本機能
化合物をクエリにした検索
化合物検索
化合物名や組成式によるDB検索
AND/OR検索
検索
Compound Name: 化合物名
(文字列の部分一致検索、別名も検索対象)
Exact Mass: 化合物の質量
Tolerance: 化合物の質量の誤差範囲
Formula: 化合物の組成式
(文字列の完全一致検索、ワイルドカード「*」を許す)
部分構造検索
奈良先端科学技術大学院大学
金谷研で開発された
部分構造検索エンジンを
使用しています
化合物の部分構造によるDB検索
部分構造の指定:
・エディタによる直接入力
・Molfileのアップロード
MSスペクトルのピーク(m/z)検索とのAND検索
検索結果
化合物ごとに集約
精密質量
組成式と構造式
各データへのリンク
マウスを構造式に乗せると
拡大表示される
拡大表示される
指定して「複数スペクトル表示」や「スペクトル検索連携」
MassBankの利便性を高める機能
インタネット・サービスとしての利点を活かして...
バッチ検索
大量のクエリスペクトルを一気に検索
C:¥¥data¥query.txt
[email protected]
1. クエリファイルの準備
2. クエリファイルのアップロード
3. 検索開始
4. 簡単なメッセージのみ
5. 全結果を電子メールで送付
[email protected]
検索結果(テキストファイルとして電子メールに添付)
検索結果(テキストファイルとして電子メールに添付)
ID
スペクトルのタイトル
組成式
精密質量 スコア
ヒットした
ピーク数
検索結果サマリ(
ファイルとして電子メールに添付)
検索結果サマリ(HTMLファイルとして電子メールに添付)
結果サマリ(
クエリごとにスコア最上位のみ
KEGGパスウェイにヒットした
化合物(すべて)を表示
MassBankのAPI化
目的:ユーザがMassBankを部品として利用するプログラムを作成
ブラウザ
ユーザ
手作業のためのGUI
(Graphical User Interface)
MassBank Server
ユーザ独自
プログラム
サーバアクセスのためのAPI
(Application Programming Interface)
SOAP (Simple Object Access Protocol)
- プログラムからサーバへインターネット経由でアクセスするための標準的なAPI
- 多くの言語(Java, Perl, PHP, C++, Rubyなど)で利用可能
MassBank SOAPのメソッド呼出し
• 取得系メソッド
– getInstrumentTypes:分析機器種別リストを取得
– getRecordInfo: MassBankレコードを取得
– getPeak: ピークデータの取得
• 検索系メソッド
– searchSpectrum:類似スペクトル検索
– searchPeak: ピークのm/zによるスペクトル検索
– searchPeakDiff: m/zの差によるスペクトル検索
• バッチ処理関連メソッド
– execBatchJob: 類似スペクトル検索のバッチ処理を開始
– getJobStatus: バッチ処理の実行状況を取得
– getJobResult : 終了したバッチ処理の検索結果を取得
SOAPを使うと何ができるのか?
• ユーザサイドでMassBankの複数の機能を
組み合わせる
• MassBankのデータを入力とする分析ツールを
作成する
• 大量データに対して処理を繰り返す。
• MassBankと他のWebサービスを
組み合わせる
• 既存のツールにMassBank検索機能を
追加する
SOAP
複数の機能の組合せ
例:検索結果top10のスペクトルを化合物ごとにまとめ、ピークの異同をプロファイルする
入力スペクトル
59.000 514852.0
71.200 1178219.0
87.400 207921.0
89.000 13539617.5
97.200 564357.0
98.700 14851.5
...
類似スペクトル検索結果
検索
1:KO000141 Acyclovir; MS/MS; QqQ; CE:40 V; [M-H]2:KO000140 Acyclovir; MS/MS; QqQ; CE:30 V; [M-H]3:KO000142 Acyclovir; MS/MS; QqQ; CE:50 V; [M-H]4:KO000035 N-Acetylneuraminate; MS/MS; QqQ; CE:20 V; [M-H]5:KO000076 Argininosuccinate; MS/MS; QqQ; CE:50 V; [M-H]6:KO000075 Argininosuccinate; MS/MS; QqQ; CE:40 V; [M-H]7:KO000036 N-Acetylneuraminate; MS/MS; QqQ; CE:30 V; [M-H]8:KO000074 Argininosuccinate; MS/MS; QqQ; CE:30 V; [M-H]9:KO000037 N-Acetylneuraminate; MS/MS; QqQ; CE:40 V; [M-H]10:KO000223 Allantoate; MS/MS; QqQ; CE:10 V; [M-H]-
0: Acyclovir
KO000141 KO000140 KO000142
1: N-Acetylneuraminate
KO000035 KO000036 KO000037
2: Argininosuccinate
KO000076 KO000075 KO000074
ピークのプロファイル
3: Allantoate
KO000223
m/z 41 42 43 50 52 54 55 56 58 59 60 61 65 66 67 68 69 70 71 72 78 79
Q
0
1
2
3
Q: 入力スペクトル
0,1,2: 化合物ごとにスペクトルを合成
: ピークあり
・・・
他のWebサービスとの連携
例:検索結果(化合物)をKEGGのパスウェイ上に図示する
プログラム
大量スペクトル
LC-MS/MS
一斉分析など
MassBank
スペクトル検索
MassBank
第1位のスペクトルの
Accession番号リスト
化合物をパスウェイ上に
色付け表示
MassBankレコード
からKEGG ID取得
KEGG IDリスト
KEGG
KEGG SOAP API
を用いてパスウェイ上に図示
Mass++との連携
• Mass++とは...
– 島津製作所 田中最先端研究所が提供する質量分析解
析フリーソフトウェア、様々なMSデータフォーマットを読
込み可能
– http://www.first-ms3d.jp/achievement/softwareから入
手可能
• 連携機能-1:MassBankレコード作成機能
– Mass++上で表示されたスペクトルをMassBankレコード
形式で出力
– ピークリストと実験条件を自動的に抽出
– MassBankレコードの作成に便利
連携機能-2:MassBank検索機能
• MassBankのSOAP APIを用いて、スペクトル類似検索、
ピーク検索、ピーク差検索を行う
ローカルMassBank
による共有
LAN
インタネット
ローカルDB
MassBankサービス
の利用
Mass++
スペクトル
データ
パーソナルMassBank
の構築/検索
パーソナルDB
Mass++でMassBankを利用するための設定
1. Mass++のメニューから“Tools”
⇒ “Options...”を選択し、Optionsダイアログを開く
2. “Settings” ⇒ “Search Engine” → “MassBank"を選択
3. “MassBank URL”を“http://www.massbank.jp”に変更
4. Mass++の再起動
インストール時に1回実行するだけ
Mass++のSpectrum Search機能の利用方法
1. クエリとして使うスペクトルが格納されたファイルを開く
⇒ スペクトルが“Sample Tree”に読み込まれる
2. “Sample Tree”内のクエリにしたいスペクトルをダブルクリック
して、スペクトルを表示
3. メニューから ”Tools” ⇒ “MassBank”
⇒ “Spectrum Search…” を選択して
MassBank Spectrum Search ダイアログを開く
4. 検索パラメータの設定と検索実行
Tolerance Unit
m/z の誤差範囲を指定する際の単位
Tolerance
m/z の誤差範囲
Cutoff
相対強度のしきい値
Ion Mode
イオン化モード
Max Number of Results
検索結果一覧の最大数
Instruments…
装置種別
“Search”ボタンをクリック
5. 検索結果の表示
検索結果一覧
検索結果一覧
MassBankレコードの表示
レコードの表示
MassBank.jpとMass++の比較
MassBank.jp
Mass++
(webサービス
サービス)
(SOAP経由
経由)
サービス
経由
クエリスペクトル
テキスト形式
様々なフォーマット
類似スペクトル検索 〇
〇
バッチ検索
〇結果はe-mailのみ ◎結果はe-mail
+Mass++で閲覧
化合物検索
〇
×
部分構造検索
〇
×
〇m/z、分子式
〇m/zのみ
ピーク検索
Mass++は、MassBank SOAPで提供
されている機能をすべて利用可能
前半のまとめ
• MassBankの設計思想
– Public repository
– 分散型 DB
– 実数値 m/z
• 化合物同定の方法
– {GC|LC|CE}-MS
– 保持時間とスペクトル
– コサイン相関
• MassBankの検索機能
– Spectrum search
– 化合物検索
– 部分構造検索
• インタネット機能
– Batch 検索
– SOAP-API
– Mass++ からの検索