(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-07
(45)【発行日】2024-05-15
(54)【発明の名称】化合物生成装置、化合物生成方法、学習装置、学習方法及びプログラム
(51)【国際特許分類】
G16C 20/50 20190101AFI20240508BHJP
【FI】
G16C20/50
(21)【出願番号】P 2020063193
(22)【出願日】2020-03-31
【審査請求日】2023-01-30
(32)【優先日】2019-10-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】304021417
【氏名又は名称】国立大学法人東京工業大学
(74)【代理人】
【識別番号】100095407
【氏名又は名称】木村 満
(74)【代理人】
【識別番号】100174067
【氏名又は名称】湯浅 夏樹
(74)【代理人】
【識別番号】100177149
【氏名又は名称】佐藤 浩義
(74)【代理人】
【識別番号】100209794
【氏名又は名称】三瓶 真弘
(72)【発明者】
【氏名】関嶋 政和
(72)【発明者】
【氏名】リ コン
(72)【発明者】
【氏名】安尾 信明
【審査官】橋沼 和樹
(56)【参考文献】
【文献】中国特許出願公開第110046692(CN,A)
【文献】A Computational-Based Method for Predicting Drug-Target Interactions by Using Stacked Autoencoder Deep Neural Network,Journal of Computational Biology,Vol. 25, No. 3,[online],2018年03月01日,pages. 361~373,インターネット<URL: https://www.liebertpub.com/doi/10.1089/cmb.2017.0135>, [検索日:2024年2月5日]
(58)【調査した分野】(Int.Cl.,DB名)
G16C 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得手段と、
条件付き変分自己符号化器のデコーダを備え、前記デコーダに、前記蛋白質情報取得手段で取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成手段と、
を備える化合物生成装置。
【請求項2】
前記デコーダは、LSTMによるデコーダであり、
前記化合物生成手段は、前記デコーダに前記条件変数と前記潜在変数とを繰り返し入力することにより、前記蛋白質との結合性が高い化合物の化学構造を生成する、
請求項1に記載の化合物生成装置。
【請求項3】
前記蛋白質情報取得手段は、前記蛋白質情報として前記蛋白質のアミノ酸配列の分散表現を取得する、
請求項1又は2に記載の化合物生成装置。
【請求項4】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列のファミリー毎に類似した分散表現となるように教師ありで学習された分散表現を取得する、
請求項3に記載の化合物生成装置。
【請求項5】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列を3-gram表現に変換してから求めた分散表現を取得する、
請求項3又は4に記載の化合物生成装置。
【請求項6】
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップと、
条件付き変分自己符号化器のデコーダに、前記蛋白質情報取得ステップで取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成ステップと、
を備える化合物生成方法。
【請求項7】
コンピュータに、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップ、及び、
条件付き変分自己符号化器のデコーダに、前記蛋白質情報取得ステップで取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成ステップ、
を実行させるためのプログラム。
【請求項8】
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得手段と、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得手段と、
条件付き変分自己符号化器を備える化合物生成手段と、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて前記化合物生成手段が備える条件付き変分自己符号化器を学習させる学習手段と、
を備える学習装置。
【請求項9】
前記条件付き変分自己符号化器は、エンコーダとデコーダとを備え、
前記学習手段は、
前記蛋白質情報取得手段が取得した前記蛋白質の蛋白質情報と、前記化合物情報取得手段が取得した化合物情報であって前記蛋白質との結合性が高い化合物の化合物情報と、を前記エンコーダに入力して、前記エンコーダから潜在変数の平均及び分散を出力させ、
前記出力された平均及び分散とともにランダムノイズを用いてサンプリングした潜在変数と、前記蛋白質情報と、を前記デコーダに入力することによって、前記デコーダから出力される情報と、前記エンコーダに入力された前記化合物情報と、の誤差に基づいて前記エンコーダ及び前記デコーダを学習させる、
請求項8に記載の学習装置。
【請求項10】
前記蛋白質情報取得手段は、前記蛋白質情報として前記蛋白質のアミノ酸配列の分散表現を取得する、
請求項8又は9に記載の学習装置。
【請求項11】
前記蛋白質情報取得手段は、前記蛋白質情報として前記蛋白質のアミノ酸配列の分散表現を取得し、
前記エンコーダは、LSTMによるエンコーダであり、
前記デコーダは、LSTMによるデコーダであり、
前記化合物情報取得手段は、前記化合物情報として規定文字数の個数の埋め込みベクトルを取得し、
前記学習手段は、
前記化合物情報取得手段が取得した前記規定文字数の個数の前記埋め込みベクトルのそれぞれと前記蛋白質情報取得手段が取得した前記分散表現とを結合した前記規定文字数の個数の第1結合ベクトルを、1つずつ前記規定文字数の回数のステップで前記エンコーダに入力して、前記エンコーダから潜在変数の平均及び分散を取得し、
前記取得した平均及び分散とともにランダムノイズを用いてサンプリングした潜在変数と前記分散表現とを結合させた第2結合ベクトルを、前記規定文字数の回数、前記デコーダに入力することによって、前記化合物生成手段により生成される再現化合物情報と、前記化合物情報取得手段が取得した化合物情報と、の誤差に基づいて前記化合物生成手段のニューラルネットワークを学習させる、
請求項
9に記載の学習装置。
【請求項12】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列のファミリー毎に類似した分散表現となるように教師ありで学習された分散表現を取得する、
請求項10又は11に記載の学習装置。
【請求項13】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列を3-gram表現に変換してから求めた分散表現を取得する、
請求項10から12のいずれか1項に記載の学習装置。
【請求項14】
前記化合物情報取得手段は、前記化合物情報として前記化合物の化学構造をSMILES記法で表現した情報を取得する、
請求項8から13のいずれか1項に記載の学習装置。
【請求項15】
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップと、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得ステップと、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて条件付き変分自己符号化器を学習させる学習ステップと、
を備える学習方法。
【請求項16】
コンピュータに、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップ、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得ステップ、及び、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて条件付き変分自己符号化器を学習させる学習ステップ、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、化合物生成装置、化合物生成方法、学習装置、学習方法及びプログラムに関する。
【背景技術】
【0002】
創薬の初期段階においては、薬剤の標的となる蛋白質に結合する化合物を発見する必要がある。このような化合物を発見するために、従来から様々なバーチャルスクリーニングの手法が提案されている。しかし、従来から提案されているスクリーニング手法は、既知の化合物の中から標的蛋白質との結合性が高い化合物を発見する手法であるので、全く新しい化合物を発見することはできない。この問題に対し、近年では、例えば、非特許文献1に記載されているような、機械学習を用いて化合物を生成する生成モデルの研究が行われている。
【先行技術文献】
【非特許文献】
【0003】
【文献】Daniel C.Elton, Zois Boukouvalas, Mark D.Fuge, and Peter W.Chung, “Deep learning for molecular design - a review of the state of the art.”, Mol.Syst.Des.Eng.,Vol.4,No.4,pp.828-849,2019.
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に記載されている生成モデルの研究では、生成する化合物の新規性、多様性等に関しては考慮されているが、標的蛋白質との結合性は考慮されていない。したがって、これらの生成モデルで化合物を生成しても、生成された化合物の標的蛋白質との結合性が低い場合には、結局その化合物は新薬の候補にはならないことになる。
【0005】
本発明は、上記問題を解決するためになされたものであり、標的蛋白質との結合性が高い化合物を生成する化合物生成装置、化合物生成方法、学習装置、学習方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明の第1の観点に係る化合物生成装置は、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得手段と、
条件付き変分自己符号化器のデコーダを備え、前記デコーダに、前記蛋白質情報取得手段で取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成手段と、
を備える。
【0007】
前記デコーダは、LSTMによるデコーダであり、
前記化合物生成手段は、前記デコーダに前記条件変数と前記潜在変数とを繰り返し入力することにより、前記蛋白質との結合性が高い化合物の化学構造を生成する、
ようにしてもよい。
【0008】
前記蛋白質情報取得手段は、前記蛋白質情報として前記蛋白質のアミノ酸配列の分散表現を取得する、
ようにしてもよい。
【0009】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列のファミリー毎に類似した分散表現となるように教師ありで学習された分散表現を取得する、
ようにしてもよい。
【0010】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列を3-gram表現に変換してから求めた分散表現を取得する、
ようにしてもよい。
【0011】
また、本発明の第2の観点に係る化合物生成方法は、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップと、
条件付き変分自己符号化器のデコーダに、前記蛋白質情報取得ステップで取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成ステップと、
を備える。
【0012】
また、本発明の第3の観点に係るプログラムは、
コンピュータに、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップ、及び、
条件付き変分自己符号化器のデコーダに、前記蛋白質情報取得ステップで取得した蛋白質情報を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、前記蛋白質との結合性が高い化合物の化学構造を生成する化合物生成ステップ、
を実行させる。
【0013】
また、本発明の第4の観点に係る学習装置は、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得手段と、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得手段と、
条件付き変分自己符号化器を備える化合物生成手段と、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて前記化合物生成手段が備える条件付き変分自己符号化器を学習させる学習手段と、
を備える。
【0014】
前記条件付き変分自己符号化器は、エンコーダとデコーダとを備え、
前記学習手段は、
前記蛋白質情報取得手段が取得した前記蛋白質の蛋白質情報と、前記化合物情報取得手段が取得した化合物情報であって前記蛋白質との結合性が高い化合物の化合物情報と、を前記エンコーダに入力して、前記エンコーダから潜在変数の平均及び分散を出力させ、
前記出力された平均及び分散とともにランダムノイズを用いてサンプリングした潜在変数と、前記蛋白質情報と、を前記デコーダに入力することによって、前記デコーダから出力される情報と、前記エンコーダに入力された前記化合物情報と、の誤差に基づいて前記エンコーダ及び前記デコーダを学習させる、
ようにしてもよい。
【0015】
前記蛋白質情報取得手段は、前記蛋白質情報として前記蛋白質のアミノ酸配列の分散表現を取得する、
ようにしてもよい。
【0016】
前記エンコーダは、LSTMによるエンコーダであり、
前記デコーダは、LSTMによるデコーダであり、
前記化合物情報取得手段は、前記化合物情報として規定文字数の個数の埋め込みベクトルを取得し、
前記学習手段は、
前記化合物情報取得手段が取得した前記規定文字数の個数の前記埋め込みベクトルのそれぞれと前記蛋白質情報取得手段が取得した前記分散表現とを結合した前記規定文字数の個数の第1結合ベクトルを、1つずつ前記規定文字数の回数のステップで前記エンコーダに入力して、前記エンコーダから潜在変数の平均及び分散を取得し、
前記取得した平均及び分散とともにランダムノイズを用いてサンプリングした潜在変数と前記分散表現とを結合させた第2結合ベクトルを、前記規定文字数の回数、前記デコーダに入力することによって、前記化合物生成手段により生成される再現化合物情報と、前記化合物情報取得手段が取得した化合物情報と、の誤差に基づいて前記化合物生成手段のニューラルネットワークを学習させる、
ようにしてもよい。
【0017】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列のファミリー毎に類似した分散表現となるように教師ありで学習された分散表現を取得する、
ようにしてもよい。
【0018】
前記蛋白質情報取得手段は、前記蛋白質情報として、前記蛋白質のアミノ酸配列の分散表現であって、前記アミノ酸配列を3-gram表現に変換してから求めた分散表現を取得する、
ようにしてもよい。
【0019】
前記化合物情報取得手段は、前記化合物情報として前記化合物の化学構造をSMILES記法で表現した情報を取得する、
ようにしてもよい。
【0020】
また、本発明の第5の観点に係る学習方法は、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップと、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得ステップと、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて条件付き変分自己符号化器を学習させる学習ステップと、
を備える。
【0021】
また、本発明の第6の観点に係るプログラムは、
コンピュータに、
標的となる蛋白質の情報である蛋白質情報を取得する蛋白質情報取得ステップ、
前記蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する化合物情報取得ステップ、及び、
結合性が高い前記蛋白質と前記化合物との組の集合を用いて条件付き変分自己符号化器を学習させる学習ステップ、
を実行させる。
【発明の効果】
【0022】
本発明によれば、標的蛋白質との結合性が高い化合物を生成することができる。
【図面の簡単な説明】
【0023】
【
図1】実施形態1に係る化合物生成装置による化合物生成方法の処理概要を説明する図である。
【
図2】実施形態1に係る化合物生成装置の機能構成を示す図である。
【
図3】実施形態1において蛋白質のアミノ酸配列を分散表現に変換するDoc2vecモデルを説明する図である。(a)はPV-DMモデルを説明する図であり、(b)はPV-DBOWモデルを説明する図である。
【
図4】実施形態1において化合物の化学構造をSMILES記法により文字列に変換し、さらに埋め込みベクトルを用いて行列に変換することを説明する図である。
【
図7】条件付き変分自己符号化器を説明する図である。
【
図8】実施形態1に係る条件付き変分自己符号化器を説明する図である。
【
図9】実施形態1に係るLSTMブロックの構造を説明する図である。
【
図10】実施形態1に係る4-layer-LSTMの構造を説明する図である。
【
図11】実施形態1に係るLSTMにおける重み行列の適用例を説明する図である。
【
図12】実施形態1に係る学習処理のフローチャートである。
【
図13】実施形態1に係る生成処理のフローチャートである。
【発明を実施するための形態】
【0024】
以下、本発明の実施形態に係る化合物生成装置等について、図表を参照して説明する。なお、図中同一又は相当部分には同一符号を付す。
【0025】
(実施形態1)
実施形態1に係る化合物生成装置は、
図1に示すように、結合性が高いことが判明している既知の蛋白質と化合物との組の集合を用いて条件付き変分自己符号化器(CVAE:Conditional Variational Auto-Encoder)の学習を行い、学習後の条件付き変分自己符号化器のデコーダに標的蛋白質(分散表現)と潜在変数(ランダムノイズでサンプリング)とを入力することによって、標的蛋白質との結合性が高い化合物を生成する。このような化合物生成装置について、以下に説明する。
【0026】
実施形態1に係る化合物生成装置100は、
図2に示すように、制御部10、記憶部20、出力部31、操作入力部32、通信部33、を備える。
【0027】
制御部10は、CPU(Central Processing Unit)等で構成され、記憶部20に記憶されたプログラムを実行することにより、後述する各部(蛋白質情報取得部11、化合物情報取得部12、化合物生成部13、学習部14)の機能を実現する。
【0028】
記憶部20は、ROM(Read Only Memory)、RAM(Random Access Memory)等で構成され、制御部10のCPUが実行するプログラムや必要なデータを記憶する。また、記憶部20は、結合性が高い蛋白質と化合物との組の情報が記録された蛋白質DB(Database)を記憶していてもよい。
【0029】
出力部31は、生成された化合物の化学構造等を出力するためのデバイスである。例えば、出力部31は、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイである。ただし、化合物生成装置100は、出力部31としてこれらディスプレイを備えてもよいし、外部のディスプレイを接続するためのインタフェースとしての出力部31を備えてもよい。化合物生成装置100は、インタフェースとしての出力部31を備える場合は、出力部31を介して接続した外部のディスプレイに化学構造等を表示する。
【0030】
操作入力部32は、化合物生成装置100に対するユーザの操作入力を受け付けるデバイスであり、例えば、キーボード、マウス、タッチパネル等である。化合物生成装置100は、操作入力部32を介して、ユーザからの指示等を受け付ける。
【0031】
通信部33は、外部の他の装置(例えば、蛋白質DBが格納されているサーバ等)とデータの送受信を行うためのデバイス(ネットワークインタフェース等)である。化合物生成装置100は、通信部33を介して様々なデータを取得することができる。
【0032】
なお、蛋白質DBは、様々な蛋白質について、蛋白質のアミノ酸配列、当該蛋白質に対する活性化合物、その活性値データ等の情報が記録されているDBである。本実施形態においては、蛋白質DBは、外部のサーバか、記憶部20に記憶されているものとする。制御部10は、通信部33を介して外部のサーバにアクセスするか、記憶部20を参照することによって、蛋白質DBに記録されている情報を取得することができる。
【0033】
このような蛋白質DBの例としては、例えば、ChEMBLで提供されているGPCR(G protein-coupled receptor)ファミリーに特化した活性化合物と活性値データとを含むDBであるGPCR SARfariが挙げられる。蛋白質は、蛋白質ファミリーという、進化上の共通祖先に由来すると推定される蛋白質をまとめたグループに分類できるが、GPCRファミリーは、800種類以上の蛋白質を含む最大の蛋白質ファミリーである。
【0034】
なお、薬剤の標的となる蛋白質に対する活性化合物であって、その活性値が所定の基準値を超えるものを、当該蛋白質と結合性が高い化合物というものとする。
【0035】
次に、制御部10の機能について説明する。制御部10は、記憶部20に記憶されているプログラムを実行することにより、蛋白質情報取得部11、化合物情報取得部12、化合物生成部13、学習部14の機能を実現する。
【0036】
蛋白質情報取得部11は、標的となる蛋白質の情報である蛋白質情報を取得する。具体的には、蛋白質情報取得部11は、後述するように、蛋白質DBから当該蛋白質の情報に含まれるアミノ酸配列を取得し、アミノ酸配列の分散表現を取得する。蛋白質情報取得部11は、蛋白質情報取得手段として機能する。なお、分散表現とは、データ(例えば、単語、文章等)を複数(分散次元数)の数値により分散した形で表現したものである。本実施形態では、アミノ酸配列の分散表現として、20次元のベクトルを用いている。ただし、この分散次元数は一例に過ぎず、より高次元(例えば30次元)の分散表現を用いてもよいし、より低次元(例えば10次元)の分散表現を用いてもよい。
【0037】
化合物情報取得部12は、標的となる蛋白質との結合性が高い化合物の化学構造の情報である化合物情報を取得する。具体的には、化合物情報取得部12は、後述するように、蛋白質DBから所定の活性化合物の化学構造を取得し、取得した化学構造をSMILES(Simplified Molecular Input Line Entry System)記法で表現した文字列(SMILES表現)に変換する。そして、さらに化合物情報取得部12は、この文字列を構成する各文字を埋め込み辞書を用いてランダムな値を持つ埋め込みベクトルに変換し、この文字列の文字数分の埋め込みベクトルからなる行列を取得する。化合物情報取得部12は、化合物情報取得手段として機能する。
【0038】
化合物生成部13は、エンコーダとデコーダとを含む条件付き変分自己符号化器(CVAE)を備える。そして、このCVAEは、蛋白質情報取得部11が取得した蛋白質情報(分散表現)と、化合物情報取得部12が取得した化合物情報(SMILES表現から得られた行列)と、をエンコーダに入力すると、デコーダから化合物情報(行列)が出力されるように学習部14で学習される。
【0039】
上記のCVAEを実現するプログラムを制御部10が実行することにより、制御部10は化合物生成部13として機能する。学習部14により学習されたCVAEのデコーダは、後述するように、蛋白質情報取得部11が取得した標的蛋白質の蛋白質情報(標的となる蛋白質のアミノ酸配列の分散表現)を条件変数として入力するとともに、ランダムノイズを用いてサンプリングした潜在変数を入力すると、標的蛋白質との結合性が高い化合物の化学構造を表現する文字に対応する1-hot-vectorを出力する。そして、この1-hot-vectorを、その1-hot-vectorが表す文字とみなすことにより、化合物生成部13は、SMILES記法により表現された、標的蛋白質との結合性が高い化合物の化学構造を生成する。化合物生成部13は、化合物生成手段として機能する。
【0040】
学習部14は、蛋白質DBに記録されている、結合性が高い蛋白質と化合物との組(ペア)による学習データを多数集めた学習データセットを用いて化合物生成部13が備えるCVAEを機械学習させる。学習部14は、学習手段として機能する。
【0041】
以上、化合物生成装置100の機能構成について説明した。次に、蛋白質情報取得部11が取得するアミノ酸配列の分散表現について説明する。蛋白質は、アミノ酸が鎖状に連結した一次構造を持ち、この一次構造はアミノ酸配列で表すことができる。また、蛋白質を構成するアミノ酸は、20種類の標準アミノ酸を含めて22種類あり、これらの各アミノ酸を1文字で一意に表すことができる1文字表記が定義されている。例えばアミノ酸の一種であるグリシン、アラニン、チロシン、それぞれの1文字表記はG、A、Yである。したがって、1文字表記で表したアミノ酸の配列を用いることで、蛋白質の構造を、連結したアミノ酸の数を文字数とする文字列として表記することができる。
【0042】
文章の分散表現を求める手法として、いわゆるDoc2vecが知られているが、本実施形態では、アミノ酸配列をDoc2vecで分散表現に変換する。このため、まず、アミノ酸配列をn文字ずつ分割して、このn文字を1つのワードとして扱うn-gram表現を用いて、アミノ酸配列を文章として扱えるようにする。また、その際、分割位置がずれることによる影響を減らすために、分割位置を1文字ずつずらしてn個のリストを作成し、それぞれについて分散表現を取得し、それらの平均値を当該アミノ酸配列の分散表現とする。
【0043】
例えば、標的となる蛋白質のアミノ酸配列が「PGQYSAGAVAGLAAVVGFLIVF」である場合を例に説明する。この場合、アミノ酸配列を3-gramで表現すると、以下の3つの3-gramリストが得られる。(末尾の3文字に満たない部分は切り捨てる。)
リスト1:PGQ YSA GAV AGL AAV VGF LIV
リスト2:GQY SAG AVA GLA AVV GFL IVF
リスト3:QYS AGA VAG LAA VVG FLI
【0044】
上記リスト中の「PGQ」、「YSA」等がDoc2vecにおいて、それぞれ1つのワードとして扱われる。Doc2vecには、PV-DM(Distributed Memory Model of Paragraph Vectors)及びPV-DBOW(Distributed Bag of Words version of Paragraph Vector)の2種類の方法が存在するが、アミノ酸配列が上記のリスト1だった場合を例に説明する。
【0045】
PV-DMは、
図3(a)に示すように、所定のサイズ(例えば4ワード)の窓をスライドさせながら、リスト1の窓内のワードのベクトルとリスト1の分散表現とをニューラルネットワークに入力すると窓の直後のワードのベクトルが出力されるように当該ニューラルネットワークを学習させるタスクを、窓の位置をリスト1の最初の位置から最後の位置まで繰り返すことによって、当該リスト1を最もよく表す分散表現が学習されるというモデルである。
【0046】
また、PV-DBOWは、
図3(b)に示すように、所定のサイズ(例えば5ワード)の窓をスライドさせながら、リスト1の分散表現をニューラルネットワークに入力すると窓内に入るワードのベクトルが出力されるように当該ニューラルネットワークを学習させるタスクを、窓の位置をリスト1の最初の位置から最後の位置まで繰り返すことによって、当該リスト1を最もよく表す分散表現が学習されるというモデルである。
【0047】
この2種類の方法を比較すると、PV-DMでは、ワードのベクトルと、ニューラルネットワークのsoftmax関数における重みと、の両方を保持する必要があるのに対し、PV-DBOWでは、ニューラルネットワークのsoftmax関数における重みのみ保持すればよいので、PV-DBOWは保持が必要なデータ量が少ないという特徴がある。
【0048】
なお、蛋白質(アミノ酸配列)の分散表現の学習においては、各分散表現にラベルを与える必要がある。このラベルに単純にその蛋白質のインデックス(例えば単純な番号)を割り当てる(教師なし)よりも、その蛋白質のファミリーのラベル(例えばGPCR SARfariデータセットに存在するサブファミリー(Level4)情報に基づくファミリーラベル)を割り当てる(教師あり)方が、ファミリー毎に類似した分散表現が得られることが実験で確かめられている。
【0049】
次に、化合物情報取得部12が取得するSMILES表現及び、埋め込みベクトルからなる行列について説明する。
【0050】
SMILES表現とは、分子の化学構造を1行の文字列で表記するSMILES記法で表現した文字列である。例えば、
図4に示す化合物の化学構造をSMILES記法で表記すると「OC(=O)c1ccccc(OC=O)c1」のようになる。
【0051】
本実施形態では、このSMILES表現を構成する各文字を、それぞれランダムな値を規定次元(例えば100次元)の数だけ持つ埋め込みベクトルに変換する。
図4に示す例では、「O」は、(0.023,-0.094,0.013,-0.078,…)で表される100次元の埋め込みベクトルに変換されている。埋め込みベクトルの各要素はランダム値であるが、各文字と一対一対応するように埋め込み辞書が生成される。また、埋め込み辞書は制御部10で生成され、記憶部20に記憶される。
図4に示す例では埋め込みベクトルの次元数(規定次元数)を100次元としているが、規定次元数は任意である。
【0052】
図4には示されていないが、SMILES記法には複数の文字列によって1つの官能基が表される場合があり、この場合、この複数の文字列をまとめて1文字として扱い、1つの埋め込みベクトルを対応させる。このような複数の文字列の例として、角括弧でくくられて表記される[C@@H]、[C@H]等が挙げられる。本実施形態では、このような官能基や、後述するパディング文字「$」も、それぞれ1つの文字として数えた場合、43種類の文字でSMILES記法による文字列を表現する。なお、この文字種の数(43種類)は一例に過ぎず、より多い文字種や少ない文字種で、SMILES記法により、化合物の化学構造を表すことにしてもよい。
【0053】
また、本実施形態では、化合物をSMILES記法で表した時の文字列の最大長(規定文字数)を80文字としている。GPCR SARfariデータセット中の各化合物のSMILES表現の長さの分布を調べると、ほとんどが80文字以下であるため、規定文字数を80文字に設定してもあまり問題は生じないと考えられる。しかし、この規定文字数は80文字に限定されず、より長い文字数に設定することも可能である。なお、化合物をSMILES記法で表現した時の文字列の長さが規定文字数未満である場合は、規定文字数になるまで末尾にパディング文字として「$」が追加することとする。
【0054】
したがって、本実施形態で扱う全てのSMILES表現は、
図4に示すように、100次元(規定次元数)の埋め込みベクトルが80(規定文字数)個並んだ100×80の行列で表される。そして、化合物情報取得部12は、標的となる蛋白質との結合性が高い化合物の化学構造の情報として、このような行列を取得する。
【0055】
次に、化合物生成部13が備えるCVAEについて説明するが、その前に、まずは単純な自己符号化器(AE:Auto-Encoder)から順を追って説明する。
【0056】
AEとは、
図5に示すように、入力データを潜在変数に変換するエンコーダと、潜在変数が入力されるデコーダとを備え、エンコーダに入力されたデータに似たデータがデコーダから出力されるように機械学習されるものである。
【0057】
また、
図6に示すように、潜在変数に確率分布を用いたものを変分自己符号化器(VAE:Variational Auto-Encoder)という。VAEでは、エンコーダを用いて潜在変数のμ(平均ベクトル)とσ(分散ベクトル)を求め、これらに基づき、多変量ガウス分布から潜在変数となるベクトルzをz~N(μ,σ)としてサンプリングする。ただし、潜在変数zを直接サンプリングすると誤差の逆伝播ができないため、VAEの学習時には、以下の式(1)のように、ランダムノイズεを導入して潜在変数zを求める(この手法をReparameterization Trickという)。
【数1】
【0058】
また、
図7に示すように、VAEに、さらに入力データの正解ラベルとして条件変数を加えたものを条件付き変分自己符号化器(CVAE)という。正解ラベルも入力された上で学習が行われるため、通常のVAEと比較すると、正解ラベルに応じた値を出力しやすくなるという特徴がある。本実施形態に係るCVAEのエンコーダとデコーダは、
図8に示すように、両方とも500ユニットのLSTM(Long short-term memory)が4層結合した4-layer-LSTMを含んで構成される。そして、エンコーダは、入力された化合物のSMILES表現(本実施形態ではSMILES表現を規定文字数個の埋め込みベクトルに変換したもの)を潜在変数に変換し、潜在変数が入力されたデコーダは、化合物のSMILES表現を出力する。なお、LSTMのユニット数(500)やlayer数(4)は一例に過ぎない。例えば1000ユニットのLSTMを6層結合したもの等、異なるユニット数やlayer数のLSTMを用いてCVAEを構成してもよい。
【0059】
LSTMは、ニューラルネットワークの中間層ユニットにおいて出力を入力に戻すことによって時系列データを扱えるようにした再帰的ニューラルネットワーク(RNN:Recurrent Neural Network)を改良したモデルである。RNNは時系列データを扱えることから、例えば、文字列が途中まで与えられたときに、次に来る文字を予測するような処理を行うことができる。したがって、化合物のSMILES表現のように文字の前後の関係のルールが存在する文字列を扱うのに適している。しかし、ある程度(例えば10ステップ)以上長い時系列データを扱えるようにしたRNNにおいては、RNNを学習する際に用いる誤差逆伝播法において、勾配が指数関数的に消失(又は発散)し、逆伝播計算ができなくなるため、長期的な記憶は期待できないという長期依存性問題が存在する。
【0060】
LSTMは、このようなRNNの問題を解決するために、RNNの中間層ユニットの代わりに、LSTMブロックを導入したモデルである。LSTMブロックは、
図9に示すように、内部状態を記憶するメモリセルユニットa、外部からの入力を受け取るユニットb、出力に関与するユニットe、入力ゲートの値を調整するユニットc、出力ゲートの値を調整するユニットd、忘却ゲートの値を調整するユニットfから構成されている。メモリセルユニットaは内部状態としてs
tを保持し、それを次の時刻(t+1)の自分自身に帰還させることによって記憶を行う。内部状態の帰還は忘却ゲートによって制御されるが、ユニットfの出力値によって、1つ前の内部状態s
t-1をどの程度引き継ぐか(逆に言えば、どの程度忘却させるか)を決める。また、メモリセルユニットaはユニットbを通して、外部からの入力値を取得するが、この入力値をどの程度メモリセルユニットaに反映させるかをユニットcが制御する。そして、メモリセルユニットaの値はユニットeを通して出力されるが、この値をどの程度出力させるかをユニットdが制御する。LSTMでは、これらにより長期依存性問題が解決され、1000ステップ以上の記憶を可能にしている。
【0061】
なお、
図9において、Rは各ユニットの再帰重みを、Wは入力重みを、s
tは時刻tにおける内部状態を、x
tは時刻tにおけるLSTMブロックへの入力値を、y
tは時刻tにおけるLSTMブロックからの出力値を、それぞれ表している。また、各ユニットa,b,c,d,e,fはそれぞれ500次元のユニットで構成されており、500次元の値を持つ。本実施形態に係るCVAEのエンコーダとデコーダは、
図10に示すように、このようなLSTMブロックが4層結合し、各層のLSTMブロックの出力が次の層のLSTMブロックに入力される構成になっている。
図10では、時刻t=1からt=nまで、内部状態を帰還させながら、各時刻において外部からの入力と外部への出力があることが示されている。
【0062】
本実施形態では化合物の化学構造は、
図8に示すように、SMILES記法で表現した各文字列を埋め込みベクトルに変換することにより、100次元(規定次元数)の埋め込みベクトルが80(規定文字数)集まった80×100の行列として表される。この行列をLSTMによるエンコーダに入力する際は、埋め込みベクトル(100次元)にアミノ酸配列の分散表現(20次元)を結合して120次元(規定次元数+分散次元数の次元数)にした結合ベクトル(第1結合ベクトル)を各時刻(ステップ)で1つずつ入力し、80ステップ(規定文字数ステップ)に分けてエンコーダへの入力が行われる。
【0063】
エンコーダの1層目のLSTMブロックのユニットbには、ステップ毎に、このように120次元の値(x
1)が入力されるが、
図11に示すように、外部からの120次元の入力x
1は、(120,500)の重み行列W
inにより500次元の値W
in・x
1になる。また、1つ前の時刻の500次元の出力y
t-1は、(500,500)の重み行列R
inによって500次元の値R
in・y
t-1になる。そして、W
in・x
1とR
in・y
t-1とが合わさったものがLSTMブロックのユニットbの出力となる。LSTMブロックの他のユニットについてもこのように、入力x
tに入力重み行列Wを掛けたもの、1つ前の時刻の出力y
t-1に再帰重み行列Rを掛けたもの、内部状態s、に基づいて値が定まる。
【0064】
そして、80ステップの入力が終わったときの4層目のLSTMブロックの内部状態(メモリセルユニットa(500次元)の値)は、当該化合物の化学構造の特徴(抽象的な表現)として扱われ、
図8に示すように、この内部状態を全結合層に通すことにより、100次元の潜在変数zをサンプリングするための平均μ及び分散σ(それぞれ100次元)が取得される。なお、
図8に示されている埋め込みベクトルの各要素の数値や分散表現の各要素の数値は単なる一例である。
【0065】
また、化合物を生成する際は、
図8に示すように、LSTMによるエンコーダで得られた平均μ及び分散σに基づき、上述の式(1)により、潜在変数z(ここでは100次元(規定次元数)とする)を算出し、標的となる蛋白質のアミノ酸配列の分散表現(20次元)と結合した120次元(規定次元数+分散次元数の次元数)の結合ベクトル(第2結合ベクトル)をLSTMによるデコーダに入力する処理を80回(規定文字数ステップ)繰り返す。
【0066】
すると、LSTMによるデコーダの4層目のLSTMブロックからは、1ステップごとに500次元(LSTMブロックのユニット数次元)のベクトルが出力される。このベクトルは、全結合層とsoftmax関数によるSMILES変換用全結合層により、SMILES表現における各文字を表現する43次元の1-hot-vectorに変換される。そして、1ステップごとに得られる1-hot-vectorを、その1-hot-vectorが表現している文字とみなすことにより、規定文字数(80)ステップで、80文字(上述した官能基1つも1文字とみなした場合)が得られる。そして、この80文字(規定文字数)により、化合物生成装置100により生成された化合物のSMILES記法による化学構造が表される。
【0067】
次に、化合物生成装置100の学習処理について、
図12を参照して説明する。学習処理は、操作入力部32を介して、ユーザにより、化合物生成装置100に対して学習処理の開始が指示されると開始される。
【0068】
まず、制御部10は、蛋白質DBに登録されている蛋白質の中から、学習データとして用いたい蛋白質(標的とする蛋白質)を任意の数抽出し、それぞれについて当該蛋白質との結合性が高い化合物を抽出することにより、結合性が高い蛋白質と化合物との組からなる学習データを多数抽出して、学習データセットを準備する(ステップS101)。
【0069】
次に、制御部10は、ステップS101で準備された学習データセットから学習データ(結合性が高い蛋白質と化合物の組)を1つ取り出す(ステップS102)。
【0070】
次に、蛋白質情報取得部11は、ステップS102で取り出した蛋白質のアミノ酸配列の分散表現を取得する(ステップS103)。具体的には、上述したように、アミノ酸配列を3-gram表現で表し、Doc2vecで分散表現を生成する。ステップS103は、蛋白質情報取得ステップと呼ばれる。
【0071】
次に、化合物情報取得部12は、ステップS102で取り出した化合物の行列を取得する(ステップS104)。具体的には、上述したように、化合物の化学構造をSMILES記法で表して80文字(規定文字数)に揃え、各文字(官能基)を、ランダム値を持つ規定次元数の埋め込みベクトルに変換することによって、規定文字数×規定次元数(80×100)の行列を取得する。ステップS104は化合物情報取得ステップと呼ばれる。
【0072】
次に、学習部14は、化合物生成部13が備えるCVAE(エンコーダ及びデコーダを構成するLSTM及び全結合層)を学習させる(ステップS105)。ステップS105は学習ステップと呼ばれる。具体的には、
図8に示すように、まず、ステップS104で取得した行列を構成する規定文字数(80)の個数の埋め込みベクトルのそれぞれと、ステップS103で取得した分散表現のベクトルと、を結合した規定文字数(80)の個数のベクトル(第1結合ベクトル)を、1つずつ、規定文字数の回数のステップ(80ステップ)に分けてCVAEのエンコーダに入力し、エンコーダから潜在変数をサンプリングするための平均μと分散σを取得する。そして、取得した平均μと分散σを用いて、上述の式(1)を用いて潜在変数をサンプリングする。
【0073】
そして、この潜在変数とステップS103で取得した分散表現とを結合させたベクトル(第2結合ベクトル)をCVAEのデコーダに入力すると、4層目のLSTMブロックの出力値としてLSTMのユニット数次元(500次元)のベクトルが得られるが、CVAEのデコーダへのこの第2結合ベクトルの入力を規定文字数(80)回繰り返すことにより、規定文字数(80)個の出力値(LSTMのユニット数次元(500次元)のベクトル)が得られる。この各ベクトル(500次元)は、SMILES変換用全結合層により、SMILES表現における各文字を表現する1-hot-vectorに変換され、全部で(上述した官能基1つも1文字とみなした場合)規定文字数(80文字)の文字列が得られ、これが化合物生成部13によって再現された化合物の情報(再現化合物情報)となる。
【0074】
この文字列(再現化合物情報)が、エンコーダに入力された分散表現で表現されたアミノ酸配列のSMILES表現に近づくように、学習部14は、両者の誤差に基づいて誤差逆伝播法により、CVAE(エンコーダ及びデコーダを構成するLSTM及び全結合層)を学習させる。
【0075】
次に、制御部10は、化合物生成部13が備えるCVAEの学習を終了させるか否かを判定する(ステップS106)。例えば、ステップS101で用意した学習データセットに含まれる学習データを全て取り出して学習させたらCVAEの学習を終了させることにしてもよい。
【0076】
CVAEの学習を終了させないなら(ステップS106;No)、ステップS102に戻る。CVAEの学習を終了させるなら(ステップS106;Yes)、制御部10は、学習処理を終了する。
【0077】
次に、学習処理によって学習された化合物生成装置100により、化合物を生成する生成処理について、
図13を参照して説明する。生成処理は、操作入力部32を介して、ユーザにより、化合物生成装置100に対して生成処理の開始が指示されると開始される。
【0078】
まず、制御部10は、操作入力部32を介して、ユーザから標的となる蛋白質を取得する(ステップS201)。
【0079】
次に、蛋白質情報取得部11は、ステップS201で取得した蛋白質のアミノ酸配列の分散表現を取得する(ステップS202)。具体的には、上述したように、アミノ酸配列を3-gram表現で表し、Doc2vecで分散表現を生成する。ステップS202も、蛋白質情報取得ステップと呼ばれる。
【0080】
次に、化合物生成部13は、CVAEのデコーダに、ステップS202で取得した分散表現と、ランダムノイズεから生成される潜在変数と、を入力して化合物の化学構造を生成する(ステップS203)。ステップS203は、化合物生成ステップと呼ばれる。具体的には、化合物生成部13は、まず、ランダムノイズεから生成される潜在変数(例えば平均μ=0、分散σ=1で表される標準正規分布にランダムノイズεを適用して上述の式(1)で求めた潜在変数z)と、ステップS202で取得した分散表現と、を結合したベクトル(第3結合ベクトル)をCVAEのデコーダに入力することを規定文字数(80)回繰り返すことにより、規定文字数(80)個の出力値(LSTMのユニット数次元(500次元)のベクトル)を得る。
【0081】
そして、化合物生成部13は、この各ベクトル(500次元)を、SMILES変換用全結合層により、SMILES表現における各文字を表現する1-hot-vectorに変換する。これにより、化合物生成部13は、規定文字数(80文字)の文字列(化合物の化学構造を表すSMILES表現)を、生成化合物として生成する。なお、SMILES表現として生成した文字列の途中でパディング文字「$」が出現した場合は、化合物生成部13は、パディング文字「$」以降の文字を無視し、「$」より前の部分の文字列を生成化合物として扱う。
【0082】
そして、制御部10は、ステップS203で生成された生成化合物(SMILES記法で表現された化学構造)を出力部31に出力する(ステップS204)。なお、ステップS203で生成された生成化合物の中には、学習データ中に存在する化合物(学習化合物)と同一のもの、以前出力された化合物と重複するもの、SMILES表現として無効なもの等も含まれるので、それらが生成されていた場合は、制御部10は出力部31にそのような生成化合物を出力しなくてもよい。
【0083】
次に、制御部10は、化合物の生成を終了させるか否かを判定する(ステップS205)。例えば、ユーザから操作入力部32を介して、化合物の生成を終了する指示を受けたら、化合物の生成を終了させる。
【0084】
化合物の生成を終了させないなら(ステップS205;No)、ステップS203に戻る。化合物の生成を終了させるなら(ステップS205;Yes)、制御部10は、生成処理を終了する。
【0085】
以上説明した学習処理(
図12)及び生成処理(
図13)により、化合物生成装置100は、標的となる蛋白質との結合性が高い化合物を生成することができる。また、化合物生成部13は、LSTMによるデコーダを備えるので、時系列データを扱うことができ、学習時にはSMILES記法による文字列の順序関係も学習される。このため、化合物生成部13のデコーダは、通常のニューラルネットワークを利用したデコーダよりも、SMILES表現としてより正しいものを生成することができる。
【0086】
次に化合物生成装置100の評価指標として、分散表現を取得する際に用いたDoc2vecモデルの評価指標について説明する。Doc2vecで取得される分散表現が、アミノ酸配列の特徴をよく表しているかどうかを直接的に評価するのは難しい。そこで、この評価には、k近傍法による分類タスクを用いた。
【0087】
k近傍法は、分類の手法であり、あるオブジェクトを、その近傍のk個のオブジェクトを用いて投票し、最も多くの投票数を獲得したクラスのラベルを該当オブジェクトのラベルとする手法である。GPCR SARfariデータセットには、各蛋白質のサブファミリー(Level4)、ファミリー(Level3)、スーパーファミリ(Level2)情報が存在するため、それらをラベルとし、k近傍法を用いた時の予測精度により、分散表現を生成する各Doc2vecモデルを評価した。
【0088】
分散表現を生成するDoc2vecのモデルは、まずPV-DMとPV-DBOWの2種類に分けられるが、それぞれ、分散表現のラベルに蛋白質のインデックスを割り当てるか、蛋白質ファミリーのラベルを割り当てるかにより、教師なしと教師ありに分けられる。また、分散表現を生成するモデルの性能はgramサイズ(n-gramにおけるnの値)にも依存するので、nを様々な値に変更して上述のk近傍法による予測精度を求める実験を行った。
【0089】
その結果、gramサイズが1だと、上述のいずれのモデルにおいても予測精度が40%以下と非常に低くなった。教師ありの場合、gramサイズが3と4のところでピークに達しており、100%近い予測精度が得られた。教師なしの場合、PV-DBOWモデルではgramサイズが3から5のところでピーク(約85%)になり、PV-DMモデルではgramサイズが5と6でピーク(約80%)に達した。gramサイズが小さい方が計算量は小さくて済むため、Doc2vecのモデルとしては、教師ありのモデルを用い、gramサイズとして3を採用するのが望ましいと考えられる。
【0090】
また、生成された化合物と標的蛋白質との結合性の評価指標については、基本的には、標的蛋白質との結合性の高い既知の化合物と、生成された化合物と、の類似度の高さを評価指標とした。具体的には、生成された化合物と、学習データの各蛋白質との結合性が高い化合物(学習化合物)と、の類似度(例えば、各化合物のECFP(Extended-Connectivity FingerPrints)4フィンガープリントを用いて求めたTanimoto係数)を当該蛋白質と結合性の高い全ての学習化合物について求め、求められた類似度の中で最も高い値を、当該蛋白質との結合性の評価指標とした。
【0091】
また、生成化合物の多様性の評価指標として、サブファミリー毎に内部多様性を求め、全サブファミリーに対して平均値を計算し、Tanimoto距離を計算した。なぜなら、サブファミリー内の蛋白質に対応する活性化合物は類似度が高い(つまり多様性が低い)構造を持っているにも関わらず、サブファミリーを無視して類似度を計算すると、この特徴が無視され、実際よりも多様性が高く見えてしまうからである。すなわち、多様性の評価指標として、以下の式(2)で算出されるTanimoto距離を用いた。ただし、Sは学習データ中のサブファミリーの数、N
kはk番目のサブファミリーに対応する生成化合物の数、T(x,y)は化合物xと化合物yのTanimoto係数、i及びjはk番目のサブファミリーに対応する生成化合物全体の中での化合物のインデックスである。
【数2】
【0092】
実際に実験した結果を以下に示す。この実験では、蛋白質DBとしてGPCR SARfariを用いた。また、学習データセットとしては、以下のようなフィルタリング条件に適合するデータをGPCR SARfariから抽出して用いた。
整合性:蛋白質‐化合物ペアの情報欠落がない
アッセイタイプ:BindingとFunctionalのみ
活性値:(IC50,EC50,Ki)≦10μM
(logIC50,logEC50,logKi)≧5
(Inhibition,Activity)≧50%
出現頻度:すべてのSMILES記号が100回以上出現
SMILESの長さ:80以下
分子量:500以下
【0093】
化合物生成装置100による、Doc2vecのモデル毎の化合物生成の結果を、表1に示す。ただし、Doc2vecモデルの「sup」は「教師あり(supervised)」を示しており、分散表現の学習の際にラベルとしてlevel4サブファミリーを与えたモデルである。また、表中の数値は、生成された化合物のうち、学習化合物と同一の化合物、重複する化合物、無効な化合物(あり得ない化学構造等)を除去した後の結果である。
【0094】
また、表1の各項目の意味は以下のとおりである。
最も類似:全ての学習化合物のそれぞれと標的蛋白質に対して生成した化合物との類似度の中で、生成した化合物と最も類似度の高い学習化合物が、標的蛋白質に対する学習化合物である割合。
Top5:標的蛋白質に対して生成した化合物を、全蛋白質毎の学習化合物と比較した結果、標的蛋白質に対する学習化合物との類似度が全比較結果の上位5位までに入る割合。
ファミリーに存在:標的蛋白質に対して生成した化合物を、全蛋白質毎の学習化合物と比較した結果、生成した化合物と最も類似度の高い学習化合物が、サブファミリーが標的蛋白質と同一である蛋白質に対する学習化合物である割合。
条件なしより良い:標的蛋白質に対して生成した化合物と標的蛋白質に対する学習化合物との類似度が、全蛋白質毎の学習化合物と比較した場合の類似度の平均より高い割合。
多様性:上述の式(2)で求めた各ファミリー内の化合物同士のTanimoto距離の平均値。
【0095】
【0096】
表1を見ると、化合物生成装置100での化合物の生成により、標的蛋白質に対する学習化合物(学習データ中の当該蛋白質との結合性が高い既存の化合物)と比較的類似した化合物が得られていることが確認できる。また、標的蛋白質との結合性が高いだけでなく、多様性に関しても比較的高い値が得られていることが確認できる。この結果から、化合物生成装置100は、単に標的蛋白質と結合性が高い化合物を生成することができるだけでなく、標的蛋白質と結合性が高い化合物として、似たような化合物だけでなく、多様性に富んだ様々な化合物を生成することができることがわかる。なお、本実施形態では、標的蛋白質の例としてGPCRファミリーを用いたが、標的蛋白質はGPCRファミリーに限定されない。例えば、蛋白質DBとしてGPCR SARfari以外のものも用いることにより、本発明は、任意の標的蛋白質に適用できる。
【0097】
(変形例1)
上述の実施形態1では、化合物生成部13は、LSTMによるCVAEを備えるが、化合物生成部13の備えるCVAEは、LSTMによるものに限定されない。例えば、化合物生成部13は、通常のニューラルネットワークによるCVAEを備えてもよい。
【0098】
この場合、化合物情報取得部12は規定文字数(例えば80)個の埋め込みベクトルからなる行列を取得するのではなく、SMILES表現のベクトル(例えばSMILES記法で表した各文字の文字コードを要素とする規定文字数次元のベクトル)を化合物情報として取得する。そして、学習部14は、SMILES表現のベクトルと標的蛋白質のアミノ酸配列の分散表現とを結合した結合ベクトル(第1結合ベクトル)を化合物生成部13のCVAEのエンコーダに入力してCVAEを学習させる。
【0099】
また、化合物生成部13が化合物を生成する際には、ランダムノイズから生成した潜在変数と標的蛋白質のアミノ酸配列の分散表現とを結合したベクトル(第2結合ベクトル)を1回CVAEのデコーダに入力するだけで、当該デコーダから標的蛋白質との結合性が高い化合物のSMILES表現のベクトルを出力することができる。
【0100】
(変形例2)
また、上述の実施形態1では、化合物生成装置100が、学習処理と生成処理の双方を行っているが、化合物生成装置100はこれに限定されない。例えば、化合物生成装置100は、生成処理を行わないが、学習処理を行って化合物生成部13を学習させる学習装置であってもよい。また、化合物生成装置100は、学習処理を行わないが、他の化合物生成装置100によって学習された化合物生成部13を用いて生成処理を行う化合物生成装置であってもよい。
【0101】
(その他の変形例)
上述の実施形態では、化合物情報取得部12は、化合物の化学構造をSMILES記法で表現して埋め込みベクトルによる行列を取得したが、これに限られない。例えば、化合物情報取得部12は、SMILES記法に代えて、他の化合物表現を用いて化学構造を表現し、その表現から埋め込みベクトルによる行列を取得してもよい。
【0102】
また、上述の実施形態では、n-gram表現を用いてアミノ酸配列の分散表現を求める際に、分割位置を1文字ずつずらしてn個のリストを作成し、それぞれについて分散表現を取得し、それらの平均値を当該アミノ酸配列の分散表現とした。しかし、平均値を取らずに、取得したn個の分散表現をそのまま用いてもよい。この場合、標的蛋白質にはn個の分散表現が存在することになるが、n個の分散表現の1つ1つから、それぞれ結合性が高い化合物を生成すればよい。ただし、今までの実験では、k近傍法での予測精度で評価した場合は、分散表現の平均値を用いた方がよい結果が得られることが確認できている。したがって、分散表現については平均値を用いるのが望ましい。
【0103】
また、上述の実施形態1では、CVAEを実現するプログラムを制御部10が実行することにより、制御部10は化合物生成部13として機能することとしていたが、これに限られない。化合物生成装置100は、制御部10とは別に(例えば、GPU(Graphics Processing Unit)や、専用のIC(Integrated Circuit)等の)CVAEの機能を実現するデバイスを備えてもよく、そのようなデバイスが化合物生成部13として機能してもよい。
【0104】
なお、化合物生成装置100の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。具体的には、上記実施形態では、化合物生成装置100が行う学習処理及び生成処理のプログラムが、記憶部20のROMに予め記憶されているものとして説明した。しかし、プログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical Disc)、メモリカード、USB(Universal Serial Bus)メモリ等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各機能を実現することができるコンピュータを構成してもよい。
【0105】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。
【符号の説明】
【0106】
10…制御部、11…蛋白質情報取得部、12…化合物情報取得部、13…化合物生成部、14…学習部、20…記憶部、31…出力部、32…操作入力部、33…通信部、100…化合物生成装置