薬剤標的相互作用予測の話

この記事は創薬 Advent Calendar 2017 (http://adventar.org/calendars/2412) の13日目の記事です。
昨日に引き続き、化合物を選び出すバーチャルスクリーニングのお話です。

バーチャルスクリーニングにはいろんなアプローチがあり、毎日のように新しい手法やアルゴリズムの論文が出版されています。
薬剤標的相互作用予測は、バーチャルスクリーニングの中の1ジャンル名です。英語で、Drug-Target Interaction (DTI) Predictionとか、Compound-Protein Interaction (CPI) Predictionとか言われます。Chemogenomics-based Virtual Screening (CGBVS) と言う人もいます。本稿ではDTI予測と言うことにします。

結構定義が難しいのですが、DTI予測は、「複数の化合物と複数のタンパク質の情報があるとして、それらの間の相互作用(活性の有る無しなど)を予測する」問題と言うことができます。リポジショニング(既知標的以外の標的を探す)を直接的に計算機で予測する方法としても知られます。

方法
ざっくりとした方法を示します。化合物が d_1, d_2, ..., d_n、タンパク質が t_1, t_2, ..., t_mとあったとして、それらがフィンガープリントでベクトル化されているとします。
(フィンガープリントについては6日目の記事を参照ください →化合物をベクトルにして比較しプロットする - Qiita https://qiita.com/Mochimasa/items/f1b60246ece7da46f6a9

すでに相互作用の有る無しが分かっている化合物-タンパク質のペア  (d, t) と、その間の相互作用の情報 y=\{+1, -1\} をとってきて、機械学習にぶち込みます。機械学習にぶち込むときに化合物-タンパク質のペア  (d, t) の特徴ベクトルが必要になりますが、だいたい dtをそのまま繋げたものや、 d \otimes tというテンソル積(=ここでは単に行列 d t^{\top} の全要素 (d_1t_1, d_1t_2, ...) を縦に並べたベクトル)などが使われます(カーネル法に突っ込んだときに良い性質が得られるのでカーネル法が使われることが多い)。また、yを並べた相互作用行列Yを非負値行列因子分解などを使って2つの行列  U Vに分解し、Uの行ベクトルやVの列ベクトルを特徴として用いる場合もあります。最近はこちらの行列分解アプローチが流行りです。

歴史
はじまりは2008年だと思います。Yamanishiら (https://academic.oup.com/bioinformatics/article/24/13/i232/231871) とJacob&Vert (https://academic.oup.com/bioinformatics/article/24/19/2149/247731) がこの問題に取り組みました。このとき、Yamanishiらが、Enzyme, GPCR, Nuclear Receptor, Ion Channelに分けた4つのDTI情報と、特徴ベクトルをまとめたデータセットを公開しました (http://web.kuicr.kyoto-u.ac.jp/supp/yoshi/drugtarget/)。これがきっかけとなり、このデータセットベンチマークとして様々な機械学習の方法が開発され、一気にレッドオーシャン化します。最近ではNRLMF (http://dx.plos.org/10.1371/journal.pcbi.1004760) と呼ばれる行列分解による方法が最高精度だと思っていますが、これを書いている間にも新しい方法が出ていたので、もはやよく分かりません。手法に関するマトモなレビュー論文が存在しないので、頑張ってサーベイすればレビュー論文が1本書けます(私はやりたくないですが)。化合物とタンパク質の2部グラフのリンク予測と見立てて、その筋の人たち(グラフマイニングとかの人)も多く参入しています。

まとめ
ちょっと雑な記事でしたが、こんな方法があるんだなあと知ってもらえれば幸いです。(図を追記予定)