(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024064115
(43)【公開日】2024-05-14
(54)【発明の名称】画像-文字列変換システム
(51)【国際特許分類】
G16C 20/70 20190101AFI20240507BHJP
G16C 20/30 20190101ALI20240507BHJP
【FI】
G16C20/70
G16C20/30
【審査請求】未請求
【請求項の数】25
【出願形態】OL
(21)【出願番号】P 2022172467
(22)【出願日】2022-10-27
(71)【出願人】
【識別番号】504365146
【氏名又は名称】株式会社理論創薬研究所
(74)【代理人】
【識別番号】100136629
【弁理士】
【氏名又は名称】鎌田 光宜
(74)【代理人】
【識別番号】100080791
【弁理士】
【氏名又は名称】高島 一
(74)【代理人】
【識別番号】100118371
【弁理士】
【氏名又は名称】▲駒▼谷 剛志
(74)【代理人】
【識別番号】230113332
【弁護士】
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】吉森 篤史
(57)【要約】
【課題】画像を文字列に変換すること。
【解決手段】本発明の画像-文字列変換システムは、画像を受信する受信手段と、前記画像に対応する文字列を導出する導出手段と、前記導出された文字列を出力する出力手段とを備える。画像-文字列変換システムは、化学構造推定システムの一部を構成し得る。化学構造推定システムは、化学構造を変換して画像を生成する第1の生成手段と、前記生成された画像を改変して改変画像を生成する第2の生成手段と、前記改変画像に対応する文字列を導出する導出手段と、前記導出された文字列に対応する化学構造を出力する出力手段とを備える。
【選択図】
図1C
【特許請求の範囲】
【請求項1】
画像を受信する受信手段と、
前記画像に対応する文字列を導出する導出手段と、
前記導出された文字列を出力する出力手段と
を備えるシステム。
【請求項2】
前記導出手段は、学習用画像と、前記学習用画像に対応する文字列の一部の文字とを入力すると、前記文字の次の文字を出力するように学習した学習済モデルを用いて、前記画像に対応する文字列を導出する、請求項1に記載のシステム。
【請求項3】
前記学習済モデルは、
前記次の文字の候補である複数の候補文字のそれぞれについて、前記次の文字となる確率を出力することと、
前記確率に基づいて、前記次の文字を出力することと
を行うように構成されている、請求項2に記載のシステム。
【請求項4】
前記確率に基づいて、前記次の文字を出力することは、
前記複数の候補文字のうちの前記確率が最も高い1つの候補文字を選択することと、
前記選択された候補文字を前記次の文字として出力することと
を含む、請求項3に記載のシステム。
【請求項5】
前記確率に基づいて、前記次の文字を出力することは、
前記複数の候補文字のそれぞれの前記確率の分布に従って、前記複数の候補文字のうちの1つの候補文字を選択することと、
前記選択された候補文字を前記次の文字として出力することと
を含む、請求項3に記載のシステム。
【請求項6】
前記確率の分布に重みをつけることをさらに含む、請求項5に記載のシステム。
【請求項7】
前記画像は、化学構造を表す画像である、請求項1に記載のシステム。
【請求項8】
前記文字列は、化学構造を表す文字列である、請求項7に記載のシステム。
【請求項9】
前記出力手段は、前記導出された文字列を構造式に変換して出力する、請求項8に記載のシステム。
【請求項10】
文字列を変換して画像を生成する生成手段と、
学習用化学構造を表す文字列を変換した画像と、前記学習用化学構造の特性との関係を学習した第2の学習済モデルを用いて、化学構造の特性を予測する予測手段と
をさらに備え、
前記生成手段は、前記出力された文字列を変換して画像を生成し、
前記予測手段は、前記生成された画像に基づいて、前記画像に対応する化学構造の特性を予測する、請求項7~9のいずれか一項に記載のシステム。
【請求項11】
化学構造推定システムであって、
化学構造を変換して画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する文字列を導出する導出手段と、
前記導出された文字列に対応する化学構造を出力する出力手段と
を備える化学構造推定システム。
【請求項12】
前記第1の生成手段は、第1の化学構造を表す第1の文字列を変換して第1の画像を生成し、第2の化学構造を表す第2の文字列を変換して第2の画像を生成し、
前記第2の生成手段は、前記第1の画像と前記第2の画像とを合成して前記改変画像を生成する、請求項11に記載のシステム。
【請求項13】
特性が改変された化学構造を推定するシステムであって、
化学構造を変換して画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する複数組の文字列を導出する導出手段と、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成する第3の生成手段と、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測する予測手段と、
前記予測された特性に基づいて、特性が改変された化学構造を特定する特定手段と
を備えるシステム。
【請求項14】
前記特性は、前記化学構造に関連する活性である、請求項13に記載のシステム。
【請求項15】
前記活性は、前記化学構造に相当する化合物が有する生物または化学的な活性である、請求項14に記載のシステム。
【請求項16】
前記活性は、酵素阻害活性である、請求項15に記載のシステム。
【請求項17】
特性が改変された対象の構造を推定するシステムであって、
前記対象の構造と一意に関連付けられた画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する複数組の文字列を導出する導出手段と、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成する生成手段と、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測する予測手段と、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定する特定手段と
を備えるシステム。
【請求項18】
画像を受信することと、
前記画像に対応する文字列を導出することと、
前記導出された文字列を出力することと
を含む方法。
【請求項19】
プログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
画像を受信することと、
前記画像に対応する文字列を導出することと、
前記導出された文字列を出力することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
【請求項20】
化学構造推定方法であって、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する文字列を導出することと、
前記導出された文字列に対応する化学構造を出力することと
を含む方法。
【請求項21】
化学構造推定プログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する文字列を導出することと、
前記導出された文字列に対応する化学構造を出力することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
【請求項22】
特性が改変された化学構造を推定する方法であって、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測することと、
前記予測された特性に基づいて、特性が改変された化学構造を特定することと
を含む方法。
【請求項23】
特性が改変された化学構造を推定するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測することと、
前記予測された特性に基づいて、特性が改変された化学構造を特定することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
【請求項24】
特性が改変された対象の構造を推定する方法であって、
前記対象の構造と一意に関連付けられた画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測することと、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定することと
を含む方法。
【請求項25】
特性が改変された対象の構造を推定するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
前記対象の構造と一意に関連付けられた画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測することと、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像を文字列に変換するシステム、方法、およびプログラムならびにそれらの応用に関し、より具体的には、化学構造を表す画像を、当該化学構造を表す文字列に変換するシステム、方法、およびプログラムならびにそれらの応用に関する。さらに、特性が改変された化学構造を推定するシステム、方法、およびプログラムならびにそれらの応用にも関する。
【背景技術】
【0002】
化学構造を一意の画像に変換して取り扱う技術が開発されている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Atsushi Yoshimori, “Prediction of Molecular Properties Using Molecular Topographic Map”, Molecules 2021, 26, 4475
【発明の概要】
【課題を解決するための手段】
【0004】
本発明の発明者は、化学構造を一意の画像に変換して取り扱う技術が不可逆の変換であったことに鑑み、画像を一意に化学構造に逆変換するための新規の手法を開発した。この手法では、画像を文字列に変換する。
【0005】
本発明は、例えば、以下の項目を提供する。
(項目1)
画像を受信する受信手段と、
前記画像に対応する文字列を導出する導出手段と、
前記導出された文字列を出力する出力手段と
を備えるシステム。
(項目2)
前記導出手段は、学習用画像と、前記学習用画像に対応する文字列の一部の文字とを入力すると、前記文字の次の文字を出力するように学習した学習済モデルを用いて、前記画像に対応する文字列を導出する、上記項目に記載のシステム。
(項目3)
前記学習済モデルは、
前記次の文字の候補である複数の候補文字のそれぞれについて、前記次の文字となる確率を出力することと、
前記確率に基づいて、前記次の文字を出力することと
を行うように構成されている、上記項目のいずれか一項に記載のシステム。
(項目4)
前記確率に基づいて、前記次の文字を出力することは、
前記複数の候補文字のうちの前記確率が最も高い1つの候補文字を選択することと、
前記選択された候補文字を前記次の文字として出力することと
を含む、上記項目のいずれか一項に記載のシステム。
(項目5)
前記確率に基づいて、前記次の文字を出力することは、
前記複数の候補文字のそれぞれの前記確率の分布に従って、前記複数の候補文字のうちの1つの候補文字を選択することと、
前記選択された候補文字を前記次の文字として出力することと
を含む、上記項目のいずれか一項に記載のシステム。
(項目6)
前記確率の分布に重みをつけることをさらに含む、上記項目のいずれか一項に記載のシステム。
(項目7)
前記画像は、化学構造を表す画像である、上記項目のいずれか一項に記載のシステム。
(項目8)
前記文字列は、化学構造を表す文字列である、上記項目のいずれか一項に記載のシステム。
(項目9)
前記出力手段は、前記導出された文字列を構造式に変換して出力する、上記項目のいずれか一項に記載のシステム。
(項目10)
文字列を変換して画像を生成する生成手段と、
学習用化学構造を表す文字列を変換した画像と、前記学習用化学構造の特性との関係を学習した第2の学習済モデルを用いて、化学構造の特性を予測する予測手段と
をさらに備え、
前記生成手段は、前記出力された文字列を変換して画像を生成し、
前記予測手段は、前記生成された画像に基づいて、前記画像に対応する化学構造の特性を予測する、上記項目のいずれか一項に記載のシステム。
(項目11)
化学構造推定システムであって、
化学構造を変換して画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する文字列を導出する導出手段と、
前記導出された文字列に対応する化学構造を出力する出力手段と
を備える化学構造推定システム。
(項目12)
前記第1の生成手段は、第1の化学構造を表す第1の文字列を変換して第1の画像を生成し、第2の化学構造を表す第2の文字列を変換して第2の画像を生成し、
前記第2の生成手段は、前記第1の画像と前記第2の画像とを合成して前記改変画像を生成する、上記項目のいずれか一項に記載のシステム。
(項目13)
特性が改変された化学構造を推定するシステムであって、
化学構造を変換して画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する複数組の文字列を導出する導出手段と、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成する第3の生成手段と、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測する予測手段と、
前記予測された特性に基づいて、特性が改変された化学構造を特定する特定手段と
を備えるシステム。
(項目14)
前記特性は、前記化学構造に関連する活性である、上記項目のいずれか一項に記載のシステム。
(項目15)
前記活性は、前記化学構造に相当する化合物が有する生物または化学的な活性である、上記項目のいずれか一項に記載のシステム。
(項目16)
前記活性は、酵素阻害活性である、上記項目のいずれか一項に記載のシステム。
(項目17)
特性が改変された対象の構造を推定するシステムであって、
前記対象の構造と一意に関連付けられた画像を生成する第1の生成手段と、
前記生成された画像を改変して改変画像を生成する第2の生成手段と、
前記改変画像に対応する複数組の文字列を導出する導出手段と、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成する生成手段と、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測する予測手段と、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定する特定手段と
を備えるシステム。
(項目18)
画像を受信することと、
前記画像に対応する文字列を導出することと、
前記導出された文字列を出力することと
を含む方法。
(項目18A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目18に記載の方法。
(項目19)
プログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
画像を受信することと、
前記画像に対応する文字列を導出することと、
前記導出された文字列を出力することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
(項目19A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目19に記載のプログラム。
(項目19B)
項目19または19Aに記載のプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
(項目20)
化学構造推定方法であって、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する文字列を導出することと、
前記導出された文字列に対応する化学構造を出力することと
を含む方法。
(項目18A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目20に記載の方法。
(項目21)
化学構造推定プログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する文字列を導出することと、
前記導出された文字列に対応する化学構造を出力することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
(項目21A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目21に記載のプログラム。
(項目21B)
項目21または21Aに記載のプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
(項目22)
特性が改変された化学構造を推定する方法であって、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測することと、
前記予測された特性に基づいて、特性が改変された化学構造を特定することと
を含む方法。
(項目22A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目22に記載の方法。
(項目23)
特性が改変された化学構造を推定するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
化学構造を変換して画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する化学構造の特性を予測することと、
前記予測された特性に基づいて、特性が改変された化学構造を特定することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
(項目23A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目23に記載のプログラム。
(項目23B)
項目23または23Aに記載のプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
(項目24)
特性が改変された対象の構造を推定する方法であって、
前記対象の構造と一意に関連付けられた画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測することと、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定することと
を含む方法。
(項目24A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目24に記載の方法。
(項目25)
特性が改変された対象の構造を推定するプログラムであって、前記プログラムは、プロセッサ部を備えるコンピュータにおいて実行され、前記プログラムは、
前記対象の構造と一意に関連付けられた画像を生成することと、
前記生成された画像を改変して改変画像を生成することと、
前記改変画像に対応する複数組の文字列を導出することと、
前記導出された複数組の文字列のそれぞれを変換して複数の画像を生成することと、
前記複数の画像の各画像に基づいて、それぞれの画像に対応する特性を予測することと、
前記予測された特性に基づいて、特性が改変された前記対象の構造を特定することと
を含む処理を前記プロセッサ部に行わせる、プログラム。
(項目25A)
上記項目のうちの1つまたは複数に記載の特徴を含む、項目25に記載のプログラム。
(項目25B)
項目25または25Aに記載のプログラムを記憶するコンピュータ読み取り可能な記憶媒体。
【発明の効果】
【0006】
本発明によれば、画像を文字列に変換するシステム等を提供することができる。これにより、例えば、画像を、文字列で表される化学構造に変換することができる。また、このシステムを利用して、化学構造(例えば、新規な化学構造、改変された特性を有する化学構造)を推定することができる。
【図面の簡単な説明】
【0007】
【
図1A】化学構造推定システム1000により化学構造を推定するフローの一例を示す図
【
図1B】化学構造推定システム1000により化学構造を推定する別のフローの一例を示す図
【
図1C】画像-文字列変換システム100(MTMインバータ)が、MTMを化学構造に逆変換する概念を示す図
【
図1D】画像-文字列変換システム100が、画像を対応する文字列に変換する概念を示す図
【
図1E】画像-文字列変換システム100が、化合物の物性値を示す画像を対応する文字列に変換する概念を示す図
【
図2】画像-文字列変換システム100の構成の一例を示す図
【
図3】画像-文字列変換システム100の具体的な構成の一例を示す図
【
図4B】プロセッサ部120の代替実施形態であるプロセッサ部120Aの構成の一例を示す図
【
図4C】プロセッサ部120の代替実施形態であるプロセッサ部120Bの構成の一例を示す図
【
図4D】プロセッサ部120の代替実施形態であるプロセッサ部120Cの構成の一例を示す図
【
図6】画像-文字列変換システム100における処理の一例(処理600)を示すフローチャート
【
図7】化学構造推定システム1000における処理の一例(700)を示すフローチャート
【
図8】化学構造推定システム1000における処理の一例(800)を示すフローチャート
【
図9】実施例におけるトレーニングデータ、およびテストデータにおける類似度の分布を示す図
【
図10】実施例における最も予測値の良い化合物の例を示す図
【
図11A】実施例において分類された4つのタイプを示す図
【
図11B】実施例において分類された4つのタイプを示す図
【発明を実施するための形態】
【0008】
以下、本開示を説明する。本明細書の全体にわたり、単数形の表現は、特に言及しない限り、その複数形の概念をも含むことが理解されるべきである。従って、単数形の冠詞(例えば、英語の場合は「a」、「an」、「the」など)は、特に言及しない限り、その複数形の概念をも含むことが理解されるべきである。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用されるすべての専門用語および科学技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【0009】
(定義)
本明細書において「文字列」とは、対象の構造を表すことができる文字列である。対象が、物質である場合、対象の構造は、化学構造となる。化学構造を表すことができる文字列は、例えば、SMILES記法による文字列であり得る。
【0010】
本明細書において「画像に対応する文字列」とは、対象となる画像と何らかの関係性を有する文字列をいう。関係性は、何らかの数学的なものであってもよく、その他化学に関連するものなど任意のものであってもよい。この文字列は、画像と一対一対応の関係があるものであってもよく、画像と一対一対応の関係を有する文字列と類似する関係を有する文字列群のうちの1つであってもよい。この文字列は、例えば、確率分布によって導き出される文字列であってもよい。
【0011】
本明細書において「化学構造」とは、物質(例えば、化合物)の組成原子を結合の状態を含めて示した構造をいう。「化学構造」は種々の態様で表現され得る。例えば、化学構造は、化学式、より特定すると、構造式によって表現されることができる。例えば、化学構造は、文字列によって表現されることができる。化学構造を文字列で表現することは、例えば、SMILES記法として知られている。例えば、化学構造は、画像によって表現されることができる。化学構造を画像によって表現することは、本発明者が考案したMolecular Topographic Map(MTM)に化学構造を変換することによってなされ得る(例えば、Atsushi Yoshimori, “Prediction of Molecular Properties Using Molecular Topographic Map”, Molecules 2021, 26, 4475)。
【0012】
本明細書において「化学構造の特性」とは、その化学構造を有する物質が有する特性であり、任意の特性を含む。特性は、例えば、化学的特性、物理的特性、機械的特性を含む。
【0013】
本明細書において「構造式」とは、分子内の原子相互の結合状態を図式的に表記した式のことをいう。
【0014】
本明細書において画像の「改変」とは、画像が2次元の場合には、画像の少なくとも1つのピクセルのピクセル値を変化させることをいい、画像が3次元の場合には、画像の少なくとも1つのボクセルのボクセル値を変化させることをいう。ピクセル値またはボクセル値は、例えば、所与の値の加算、減算、乗算、除算によって変化させられる。所与の値は、別の画像の対応するピクセルのピクセル値または対応するボクセルのボクセル値であり得る。別の画像のピクセル値またはボクセル値で画像を改変することを、画像と別の画像との合成という。
【0015】
本明細書において「活性」とは、化学構造に関連する活性であり、好ましくは、化学構造に対応する化合物が有する生物的な活性または化学的な活性である。活性は、例えば、pKi値>6、もしくはpIC50値>6、好ましくはpKi値>8、もしくはpIC50値>8で表され得る。
【0016】
本明細書において、「約」とは、後に続く数値の±10%を意味する。
【0017】
(好ましい実施形態)
以下に本開示の好ましい実施形態を説明する。以下に提供される実施形態は、本開示のよりよい理解のために提供されるものであり、本開示の範囲は以下の記載に限定されるべきでないことが理解される。従って、当業者は、本明細書中の記載を参酌して、本開示の範囲内で適宜改変を行うことができることは明らかである。また、以下の実施形態は単独でも使用されあるいはそれらを組み合わせて使用することができることが理解される。
【0018】
以下、図面を参照しながら、本開示の好ましい実施の形態を説明する。
【0019】
1.化学構造推定システム
本開示の発明者は、化学構造を推定するための新たなシステムを開発した。この化学構造推定システムでは、新規の化学構造を探索することができる。例えば、化学構造推定システムに、1つの既知の化合物の化学構造を入力すると、その化合物に類似し得る新規の化合物の化学構造が出力される。例えば、化学構造推定システムに、複数の既知の化合物を入力すると、それらの複数の化合物の平均となり得る新規の化合物が出力され得る。
【0020】
図1Aは、化学構造推定システム1000により化学構造を推定するフローの一例を示す。本例では、2つの化合物の化学構造から、それらの2つの化合物の平均となる化合物を推定することを例に説明する。
【0021】
ステップS1では、2つの化合物(第1の化合物C1、第2の化合物C2)の化学構造が化学構造推定システム1000に入力される。2つの化合物(C1、C2)の化学構造は、例えば、構造式で入力される。
【0022】
2つの化合物(C1、C2)の化学構造が化学構造推定システム1000に入力されると、化学構造推定システム1000は、それぞれの化合物の化学構造を表す画像(例えば、MTM)を生成する。第1の化合物C1の化学構造画像I1が生成され、第2の化合物C2の化学構造から画像I2が生成される。
【0023】
MTMは、例えば、28×28ピクセルのヒートマップであり得る。ヒートマップは、各ピクセルに対応する値を色または濃淡で表す図であり、カラーマップであってもよいし、グレースケースマップであってもよいし、別の様式で表されるマップであってもよい。例えば、後述する
図1CのMTMに示されるように、色または濃淡が、所定のパラメータの値と関連付けられ得る。各化合物の化学構造から、一意のMTMが生成される。すなわち、第1の化合物C1の化学構造とMTM I1とは一対一に対応し、第2の化合物C2の化学構造とMTM I2とは一対一に対応することになる。
【0024】
化学構造推定システム1000では、化学構造を画像(例えば、MTM)として扱うことで、構造式上では困難であった化学構造に対する演算(例えば、加算、減算)が可能になっている。
【0025】
ステップS2では、第1の化合物C1の化学構造から生成された画像I1と、第2の化合物C2の化学構造から生成された画像I2とが合成される。ここでは、第1の化合物C1の化学構造から生成された画像I1と、第2の化合物C2の化学構造から生成された画像I2との平均をとるように合成される。例えば、合成された画像I3では、各ピクセルのピクセル値が2つの画像I1、I2の対応するピクセルのピクセル値の平均となり得る。なお、平均は、加重平均であってもよい。このとき、加重は任意の値に設定され得る。
【0026】
合成された画像I3は、第1の化合物C1の化学構造のものでも第2の化学構造C2の化学構造のものでもない、新規の化合物の化学構造の画像となっている。この新規の化合物の化学構造の画像I3は、このままでは、どのような化学構造のものであるか理解できない。従って、化学構造推定システム1000は、この新規の化合物の化学構造の画像I3を、その化合物の化学構造を表す文字列に変換する。
【0027】
ステップS3では、画像I3が、化合物を表す文字列に変換される。化合物を表す文字列は、例えば、SMILES記法に従って表現される文字列であり得る。これにより、画像I3が表す化学構造がどのようなものであるかを理解することができるようになる。例えば、SMILES記法に従って表現された文字列を構造式で表すと、新規の化合物C3として表現されることになる。
【0028】
出力された新規の化合物C3は、第1の化合物C1と第2の化合物C2との平均の化合物であり得、第1の化合物C1の特性と第2の化合物C2の特性との間の特性、あるいは、第1の化合物C1の特性および第2の化合物C2の特性よりも向上した特性を有することが予期される。
【0029】
このようにして、化学構造推定システム1000は、第1の化合物C1および第2の化合物C2に類似する特性または第1の化合物C1および第2の化合物C2よりも優れた特性を有する新規の化合物を推定することができる。このように推定された新規の化合物に対しては、創薬における様々な応用展開が期待され得る。
【0030】
なお、上述した例では、2つの化合物の化学構造を化学構造推定システム1000に入力することを説明したが、例えば、3つ以上の化合物の化学構造を化学構造推定システム1000に入力するようにしてもよいし、1つの化合物の化学構造を化学構造推定システム1000に入力するようにしてもよい。3つ以上の化合物の化学構造化学構造推定システム1000に入力する場合、化学構造推定システム1000は、例えば、3つ以上の化合物の化学構造のそれぞれから生成された画像を平均し、3つ以上の化合物の平均となる化合物の化学構造を推定することになる。1つの化合物の化学構造を化学構造推定システム1000に入力する場合、化学構造推定システム1000は、例えば、1つの化合物の化学構造から生成された画像を改変し、1つの化合物に類似する化学構造を推定することになる。
【0031】
上述した例では、化学構造推定システム1000が、画像I3を一意に文字列に変換することを説明した。この場合、画像I3を一意に変換した文字列を再び画像に変換すると、画像I3と再変換された画像とが類似するものの一致しない場合がある。この場合、化学構造推定システム1000は、画像I3から複数の文字列候補に変換することで、画像I3に一致するまたは画像I3により類似する画像に変換され得る文字列(ひいては、化学構造)を導出することもできる。
【0032】
図1Bは、化学構造推定システム1000により化学構造を推定する別のフローの一例を示す。本例でも、2つの化合物の化学構造から、それらの2つの化合物の平均となる化合物を推定することを例に説明する。
【0033】
ステップS11では、2つの化合物(第1の化合物C11、第2の化合物C12)の化学構造が化学構造推定システム1000に入力される。2つの化合物(C11、C12)の化学構造は、例えば、構造式で入力される。
【0034】
2つの化合物(C11、C12)の化学構造が化学構造推定システム1000に入力されると、化学構造推定システム1000は、それぞれの化合物の化学構造を表す画像(例えば、MTM)を生成する。第1の化合物C11の化学構造から画像I11が生成され、第2の化合物C12の化学構造から画像I2が生成される。
【0035】
ステップS12では、第1の化合物C11の化学構造から生成された画像I11と、第2の化合物C12の化学構造から生成された画像I12とが合成される。ここでは、
図1Aの例と同様に、第1の化合物C11の化学構造から生成された画像I11と、第2の化合物C12の化学構造から生成された画像I12との平均をとるように合成される。
【0036】
合成された画像I13は、第1の化合物C11の化学構造のものでも第2の化学構造C12の化学構造のものでもない、新規の化合物の化学構造の画像となっている。
【0037】
ステップS13では、画像I13が、化合物を表す文字列に変換される。このとき、化学構造推定システム1000では、画像I13が、複数の文字列候補に変換される。複数の文字列候補のそれぞれは、第1の候補化合物C13’、第2の候補化合物C13’’、第3の候補化合物C13’’’・・・に対応し得る。
【0038】
化学構造推定システム1000では、複数の文字列候補(ひいては複数の候補化合物)のうち、どの文字列候補が表す化学構造が、画像I13が表す化学構造として適切かを判定する。例えば、各文字列候補を画像に変換し、変換された各画像と画像I13との類似度を算出することで、最も類似度が高い画像に変換された文字列候補を特定することができる。
【0039】
ステップS14では、複数の文字列候補(ひいては複数の候補化合物)のうち、画像I13が表す化学構造として適切であると特定された文字列が出力される。本例では、第3の候補化合物C13’’’に対応する文字列が出力される。
【0040】
出力された新規の化合物C13’’’は、第1の化合物C11と第2の化合物C12との平均の化合物であり得、第1の化合物C11の特性と第2の化合物C12の特性との間の特性、あるいは、第1の化合物C11の特性および第2の化合物C12の特性よりも向上した特性を有することが予期される。
【0041】
化学構造推定システム1000は、例えば、画像から化学構造の特性を予測する予測モデルと併用されることにより、特性が改変された(好ましくは、向上した)化学構造を推定することができる。予測モデルは、既知の化学構造から変換された画像(例えば、MTM)とその化学構造の既知の特性との関係を学習するように訓練されたモデルである。この予測モデルに、未知の化学構造から変換された画像を入力すると、この予測モデルは、その化学構造の特性を予測することができる。
【0042】
例えば、ステップS13で画像I13から変換された複数の文字列候補のそれぞれから変換された画像を予測モデルに入力することができる。これにより、複数の文字列候補に対応する化学構造のそれぞれの特性が予測されることになる。化学構造推定システム1000は、それぞれの特性を比較することで、最も向上した特性を有する化学構造に対応する文字列を出力することができる。このようにして出力された文字列は、特性が改変された(好ましくは、向上した)化学構造を表すことになる。
【0043】
例えば、第1の化合物C11および第2の化合物C12として生物活性(例えば、酵素阻害活性)が強い化合物を選択すると、化学構造推定システム1000により、生物活性が向上した化学構造を推定することができる。
【0044】
上述した化学構造推定システム1000は、画像-文字列変換システム100を備えている。画像-文字列変換システム100は、入力された画像を、当該画像を表す文字列に変換することができ、具体的には、化学構造を表す画像(例えば、MTM)が画像-文字列変換システム100に入力されると、画像に対応する文字列(例えば、画像によって表される化学構造のSMILES)が出力されることができる。画像-文字列変換システム100は、上述したステップS3およびステップS13を行うことができる。
【0045】
このように、画像-文字列変換システム100は、化合構造から変換されたMTMを、化合構造を表す文字列に逆変換することから、MTMインバータとも呼ばれ得る。
【0046】
図1Cは、画像-文字列変換システム100(MTMインバータ)が、MTMを化学構造に逆変換する概念を示す。
【0047】
MTMインバータ100には、MTMが入力され得る。MTMインバータは、MTMと、MTMが表す化学構造を表す文字列(SMILES)との間の関係を学習するように訓練されたモデルを用いて、MTMをSMILESに変換する。
【0048】
例えば、
図1Cに示されるMTMをMTMインバータに入力すると、「Cc1nnc2n1-c1sc(C#CC3CCOCC3)c(Cc3ccccc3)c1COC2」というSMILESが出力される。このSMILESは、3-benzyl-9-methyl-2-((tetrahydro-2H-pyran-4-yl)ethynyl)-4H,6H-thieno[2,3-e][1,2,4]triazolo[3,4-c][1,4]oxazepineという化合物を表す。
【0049】
上述した例では、化学構造を表す画像を画像-文字列変換システム100(MTMインバータ100)に入力すると、画像に対応する、化学構造を表す文字列が出力されることを説明したが、本発明はこれに限定されない。画像-文字列変換システム100は、画像と文字列とが対応付けられる限り、任意の画像に適用されることができる。
【0050】
図1Dは、画像-文字列変換システム100が、画像を対応する文字列に変換する概念を示す。
【0051】
画像-文字列変換システム100には、画像が入力される。画像は、上述したように化学構造を表す画像であってもよいし、遺伝子配列を表す画像であってもよいし、化合物の物性値を示す画像であってもよい。画像-文字列変換システム100は、画像と、画像に対応する文字列との関係を学習するように訓練されているモデルを用いて、画像を対応する文字列に変換する。
【0052】
例えば、画像-文字列変換システム100に、遺伝子配列を表す画像が入力されると、その画像が表す遺伝子配列に対応する文字列が出力され得る。例えば、
図1Eに示されるように、画像-文字列変換システム100に、化合物の物性値を示す画像を表す画像が入力されると、その画像が表す化合物の化学構造を表す文字列が出力され得る。化合物の物性値を示す画像は、複数のマスを有する画像であって、各マスがその化合物の物性値を表す画像である。化合物の物性値を示す画像は、例えば、3×3マスのヒートマップであり得る。例えば、
図1Eに示されるように、各マスは、分子量、溶解度、hERG阻害活性、膜透過性、BBB透過性、CYP1A2阻害活性、CYP2C19阻害活性、CYP2C9阻害活性、CYP2D6阻害活性のそれぞれを、色または濃淡で表すことができる。
【0053】
上述した画像-文字列変換システム100は、例えば、後述する構成を備え得る。
【0054】
2.画像-文字列変換システム100の構成
【0055】
図2は、画像-文字列変換システム100の構成の一例を示す。
【0056】
システム100は、データベース部200に接続されている。また、システム100は、少なくとも1つの端末装置300にネットワーク400を介して接続されている。
【0057】
なお、
図2では、3つの端末装置300が示されているが、端末装置300の数はこれに限定されない。任意の数の端末装置300が、ネットワーク400を介してシステム100に接続され得る。
【0058】
ネットワーク400は、任意の種類のネットワークであり得る。ネットワーク400は、例えば、インターネットであってもよいし、LANであってもよい。ネットワーク400は、有線ネットワークであってもよいし、無線ネットワークであってもよい。
【0059】
システム100の一例は、例えば、化学構造推定サービスを提供するプロバイダPに設置されているコンピュータ(例えば、サーバ装置)であってもよいし、化学構造推定のためのWEBアプリケーションを提供するプロバイダPに設置されているコンピュータ(例えば、サーバ装置)であってもよいが、これに限定されない。システム100は、例えば、ユーザ(例えば、製薬会社)に設置されているコンピュータ(例えば、端末装置)であってもよく、ユーザのコンピュータに化学構造推定のためのアプリケーションがインストールされることになる。このとき、システム100は、ネットワーク400に接続されなくてもよい。端末装置は、スマートフォン、タブレット、パーソナルコンピュータ、スマートグラス、スマートウォッチ等の任意のタイプの端末装置であり得る。
【0060】
データベース部200には、画像-文字列変換システム100によって出力された文字列または文字列から変換された画像が格納されることができる。あるいは、データベース部200には、化学構造推定システム1000によって出力された化学構造を表す文字列または画像が格納されることができる。あるいは、データベース部200には、学習済モデルを構築するための学習用データまたは構築された学習済モデルが格納されることができる。
【0061】
図3は、画像-文字列変換システム100の具体的な構成の一例を示す。
【0062】
システム100は、インターフェース部110と、プロセッサ部120と、メモリ130部とを備える。
【0063】
インターフェース部110は、システム100の外部と情報のやり取りを行う。システム100のプロセッサ部120は、インターフェース部110を介して、システム100の外部から情報を受信することが可能であり、システム100の外部に情報を送信することが可能である。インターフェース部110は、任意の形式で情報のやり取りを行うことができる。
【0064】
インターフェース部110は、例えば、システム100に情報を入力することを可能にする入力部を備える。入力部が、どのような態様でシステム100に情報を入力することを可能にするかは問わない。例えば、入力部がタッチパネルである場合には、ユーザがタッチパネルにタッチすることによって情報を入力するようにしてもよい。あるいは、入力部がマウスである場合には、ユーザがマウスを操作することによって情報を入力するようにしてもよい。あるいは、入力部がキーボードである場合には、ユーザがキーボードのキーを押下することによって情報を入力するようにしてもよい。あるいは、入力部がマイクである場合には、ユーザがマイクに音声を入力することによって情報を入力するようにしてもよい。あるいは、入力部がデータ読み取り装置である場合には、システム100に接続された記憶媒体から情報を読み取ることによって情報を入力するようにしてもよい。あるいは、入力部が受信器である場合、受信器がネットワークを介してシステム100の外部から情報を受信することにより入力してもよい。この場合、ネットワークの種類は問わない。例えば、受信器は、インターネットを介して情報を受信してもよいし、LANを介して情報を受信してもよい。
【0065】
インターフェース部110は、例えば、システム100から情報を出力することを可能にする出力部を備える。出力部が、どのような態様でシステム100から情報を出力することを可能にするかは問わない。例えば、出力部が表示画面である場合、表示画面に情報を出力するようにしてもよい。あるいは、出力部がデータ書き込み装置である場合、システム100に接続された記憶媒体に情報を書き込むことによって情報を出力するようにしてもよい。あるいは、出力部が印刷装置である場合、紙等の媒体に印刷することによって情報を出力するようにしてもよい。あるいは、出力部が送信器である場合、送信器がネットワークを介してシステム100の外部に情報を送信することにより出力してもよい。この場合、ネットワークの種類は問わない。例えば、送信器は、インターネットを介して情報を送信してもよいし、LANを介して情報を送信してもよい。
【0066】
システム100は、例えば、インターフェース部110を介して、データベース部200に情報を送信し、かつ/または、データベース部200から情報を受信することができる。システム100は、例えば、インターフェース部110を介して、端末装置300に情報を送信し、かつ/または、端末装置300から情報を受信することができる。
【0067】
システム100は、例えば、インターフェース部110を介して、化学構造を表す画像を受信することができる。
【0068】
システム100は、例えば、インターフェース部110を介して、化合物を表す文字列を出力することができる。システム100は、例えば、インターフェース部110を介して、化合物を表す文字列から変換された構造式を出力することができる。
【0069】
プロセッサ部120は、システム100の処理を実行し、かつ、システム100全体の動作を制御する。プロセッサ部120は、メモリ部130に格納されているプログラムを読み出し、そのプログラムを実行する。これにより、システム100を所望のステップを実行するシステムとして機能させることが可能である。プロセッサ部120は、単一のプロセッサによって実装されてもよいし、複数のプロセッサによって実装されてもよい。
【0070】
メモリ部130は、システム100の処理を実行するために必要とされるプログラムやそのプログラムの実行に必要とされるデータ等を格納する。メモリ部130は、画像を文字列に変換するための処理をプロセッサ部120に行わせるためのプログラム(例えば、後述する
図6に示される処理を実現するプログラム)、化学構造を推定するための処理をプロセッサ部120Bに行わせるためのプログラム(例えば、後述する
図7に示される処理を実現するプログラム)、および/または、特性が改変された化学構造を推定するための処理をプロセッサ部120Cに行わせるためのプログラム(例えば、後述する
図8に示される処理を実現するプログラム)を格納してもよい。ここで、プログラムをどのようにしてメモリ部130に格納するかは問わない。例えば、プログラムは、メモリ部130にプリインストールされていてもよい。あるいは、プログラムは、コンピュータ読み取り可能な記憶媒体に格納されており、コンピュータ読み取り可能な記憶媒体を読み取ることにより、メモリ部130にインストールされるようにしてもよい。あるいは、プログラムは、ネットワークを経由してダウンロードされることによってメモリ部130にインストールされるようにしてもよい。この場合、ネットワークの種類は問わない。メモリ部130は、任意の記憶手段によって実装され得る。
【0071】
データベース部200には、例えば、画像-文字列変換システム100によって出力された文字列または文字列から変換された画像が格納されることができる。あるいは、データベース部200には、化学構造推定システム1000によって出力された化学構造を表す文字列または画像が格納されることができる。あるいは、データベース部200には、学習済モデルを構築するための学習用データまたは構築された学習済モデルが格納されることができる。
【0072】
図3に示される例では、データベース部200は、システム100の外部に設けられているが、本発明はこれに限定されない。データベース部200をシステム100の内部に設けることも可能である。このとき、データベース部200は、メモリ部130を実装する記憶手段と同一の記憶手段によって実装されてもよいし、メモリ部130を実装する記憶手段とは別の記憶手段によって実装されてもよい。いずれにせよ、データベース部200は、システム100のための格納部として構成される。データベース部200の構成は、特定のハードウェア構成に限定されない。例えば、データベース部200は、単一のハードウェア部品で構成されてもよいし、複数のハードウェア部品で構成されてもよい。例えば、データベース部200は、システム100の外付けハードディスク装置として構成されてもよいし、ネットワークを介して接続されるクラウド上のストレージとして構成されてもよい。
【0073】
【0074】
プロセッサ部120は、受信手段121と、導出手段122と、出力手段123とを備える。
【0075】
受信手段121は、画像を受信するように構成されている。
【0076】
画像は、文字列と対応付けられる任意の画像であり得、好ましくは化学構造を表す画像である。受信された画像は、導出手段122に渡される。
【0077】
導出手段122は、画像に対応する文字列を導出するように構成されている。
【0078】
導出手段122は、例えば、学習済モデルを用いて、画像に対応する文字列を導出することができる。学習済モデルは、学習用画像と、学習用画像に対応する文字列の一部の文字とを入力すると、入力された文字の次の文字を出力するように学習したモデルである。
【0079】
図5Aは、学習済モデルの構造の一例を示す。本例では、ディープニューラルネットワーク(DNN)が用いられている。DNNは任意の数の層を有することができる。
【0080】
例えば、第1の入力層に画像を入力し、第2の入力層に文字列の一部の文字を入力すると、出力層503から、当該文字列における次の文字が出力されることになる。このDNNは、例えば、以下の手法により構築されることができる。以下では、化学構造を表す画像(MTM)および対応する文字列(SMILES)例に説明する。
【0081】
まず、複数の既知の化合物の化学構造を画像に変換し、それぞれの化合物のそれぞれの文字列(SMILES)も導出し、画像と文字列と対にして記憶する。文字列は、意味を成す単語に分割して記憶されることができる。単語は、例えば、SMILESの意味構成単位であるトークンであり得る。
【0082】
例えば、SMILES:
Cn1cc(-c2ccccc2CN2CCOCC2)c2cc[nH]c2c1=O
は、トークンにより、
start C n 1 c c ( - c 2 c c c c c 2 C N 2 C C O C C 2 ) c 2 c c [nH] c 2 c 1 = O end
と表されることができる。トークンによって表されたSMILESの始まりはstartトークンであり、終わりはendトークンであり、各トークンはスペースで区切られている。
【0083】
SMILESには、start、end、noneトークンを含め、全部で32種類のトークンが存在する。ここで、各トークンには、トークン-数値変換表から0~31までのうち1つの番号が割り振られる。noneトークンは、何もないことを示すトークンであり、数値としては、0が割り振られている。トークンによって表されたSMILESは、トークン-数値変換表を用いて数値化されることができる。トークン-数値変換表は、トレーニングデータに含まれるSMILESにより構築されるため、トレーニングデータが変わればトークン―数値変換表も変わり得る。学習のために適切なトークン-数値変換表が利用され得る。
【0084】
一例において、トークン-数値変換表は、以下のように表され得る。“ ”内がトークンを表しており、各トークンが0~31の数値に対応している。なお、トークン-数値変換表は、学習に用いられるSMILESの数および種類に応じて変動し得る、
{“none”:0,“start”:1,“C”:2,“S”:3,“(”:4,“=”:5,“O”:6,“)”:7,“c”:8,“1”:9,“n”:10,“2”:11,“F”:12,“-”:13,“3”:14,“[nH]”:15,“end”:16,“N”:17,“[C@@H]”:18,“4”:19,“L”:20,“[N+]”:21,“[O-]”:22,“s”:23,“o”:24,“[C@H]”:25,“5”:26,“#”:27,“R”:28,“6”:29,“/”:30,“[SH]”:31}
【0085】
このトークン-数値変換表を用いると、トークンによって表されたSMILES:
start C n 1 c c ( - c 2 c c c c c 2 C N 2 C C O C C 2 ) c 2 c c [nH] c 2 c 1 = O end
は、
数値化されたSMILES:
[1,2,10,9,8,8,4,13,8,11,8,8,8,8,8,11,2,17,11,2,2,6,2,2,11,7,8,11,8,8,15,8,11,8,9,5,6,16]
として表される。
【0086】
学習用データとして、1つの数値化されたSMILESから、その長さに応じた複数の学習用の数値されたSMILESを作成する。
【0087】
学習用データは、入力ベクトルと出力ベクトルとの対である。入力ベクトルと出力ベクトルとの対は、例えば、SMILESの第1文字目を表すベクトルとSMILESの第2文字目を表すベクトルとの対、SMILESの第2文字目までを表すベクトルとSMILESの第3文字目を表すベクトルとの対、SMILESの第3文字目までを表すベクトルとSMILESの第4文字目を表すベクトルとの対、・・・であり得る。
【0088】
例えば、上記の数値化されたSMILESでは、
第1の学習用データは、
入力ベクトル:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
出力ベクトル(答え):
[0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
となり得る。ここでは、トークン化されたSMILESの最大長を80としており、入力ベクトルが80次元のベクトルとなっている。何もない要素は0(noneトークンを示す)で埋められている。入力ベクトルの末尾に、第1文字目の文字(ここでは、1(“start”トークン)が挿入されている。
【0089】
また、トークンの種類が32種類であるため、出力ベクトルは、32次元のベクトルとなっている。ここでは、第2文字目の文字が2(“C”トークン)であるため、出力ベクトルの第2成分に1が設定されている。
【0090】
この入力ベクトルおよび出力ベクトルの対により、入力が「start」、その出力(答え)が「C」であることが学習される。
【0091】
第2の学習用データは、
入力ベクトル:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2]
出力ベクトル(答え):
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
となり得る。入力ベクトルの末尾には、第2文字目の文字が挿入されており、ここでは、2(“C”トークン)が挿入されている。数値はベクトルの後ろから前にシフトする。また、第3文字目の文字が10(“n”トークン)であるため、出力ベクトルの第10成分に1が設定されている。
【0092】
この入力ベクトルおよび出力ベクトルの対により、入力が「start,C」、その出力(答え)が「n」であることが学習される。
【0093】
以上のことから、入力は”start C”、その出力(答え)は”n”となる。
【0094】
第3の学習用データは、
入力ベクトル:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 10]
出力ベクトル(答え):
[0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
となり得る。入力ベクトルの末尾には、第3文字目の文字が挿入されており、ここでは、10(“n”トークン)が挿入されている。数値はベクトルの後ろから前にシフトする。また、第4文字目の文字が9(“1”トークン)であるため、出力ベクトルの第9成分に1が設定されている。
【0095】
この入力ベクトルおよび出力ベクトルの対により、入力が「start,C,n」、その出力(答え)が「1」であることが学習される。
【0096】
この手順を繰り返すことにより、“end”トークンが出力ベクトルに設定されるまで、学習用データを作成する。例えば、数値化されたSMILESの長さが38の場合、37個の学習用データが生成される。本例では、1つのMTMに対して37個の学習用データが生成されたことになる。学習用データと、MTMとを用いて学習処理が行われる。MTMは、例えば、28×28ピクセルの画像であり、28×28の2階のテンソル(2次元行列)として表現される。各成分は、正規化されたピクセル値であってもよいし、実数値であってもよい。
【0097】
作成された学習用データと対応するMTMとを用いて、
図5Aに示されるDNNの学習処理を行うことによって学習済モデルが構築される。学習の際のハイパーパラメータは、任意のものに設定され得る。
【0098】
導出手段122は、例えば、上記のように構築された学習済モデルを用いて、以下のように、MTMに対応するSMILESを導出することができる。
【0099】
はじめに、MTMと、「Start」トークンを表す入力ベクトルとが、学習済モデルに入力される。MTMは、2次元行列から784の要素からなるベクトルに変換されたのち、学習済モデルの第1の入力層501に入力される。「Start」トークンを表す入力ベクトルは、学習済モデルの第2の入力層502に入力される。「Start」トークンを表す入力ベクトルは、「Start」トークンに対応する数値が末尾に挿入されたベクトルであり得る。
入力ベクトル:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]
【0100】
学習済モデルの出力層503からは、「Start」トークンの次にくるトークンが予測され出力される。学習済モデルの出力層503の出力は、32次ベクトルであり、各成分は、対応するトークンが次にくる確率を示している。
【0101】
例えば、出力ベクトルが、
[ 7.69443306e-14 3.60606239e-13 9.99999762e-01 4.12664393e-16
9.96908610e-13 2.51735466e-10 9.08047681e-08 1.14084934e-07
6.60184440e-09 3.07496715e-12 2.06361572e-09 3.41530715e-15
1.59075051e-16 1.24587674e-10 1.68514540e-12 4.61158471e-08
1.24160726e-09 2.73644041e-12 7.36772874e-20 1.35796608e-15
2.88039873e-17 1.01721806e-13 1.73131027e-13 6.01821607e-17
1.28117691e-16 6.16416265e-22 1.21871484e-20 1.19068711e-21
1.47954461e-16 3.89847341e-28 4.67776026e-23 5.85218293e-23]
であった場合、一例において、第0の成分~第31の成分の32個の成分のうち、第2の成分が9.99999762e-01と最も大きな値(確率)であるため、第2の成分に対応するトークンが選択されることができる(最も確率が大きい値を選択する手法を、Argmax法と呼ぶ)。トークン-数値変換表から第2の成分は、“C”トークンに対応しているため、入力された“start”トークンの次のトークンは、“C”トークンであることが予想される。
【0102】
別の例では、Argmax法とは異なる選択法としてTemperature sampling(T-sampling)法を用いることができる。T-sampling法は、例えば、iScience 25, 104661, 2022 DOI(https://doi.org/10.1016/j.isci.2022.104661)に記載されている。T-sampling法は、温度が高いほど低エネルギー状態に遭遇しやすいという統計熱力学に着想を得た手法である。Argmax法では、最も大きい値(確率)をもつトークンのみが選択されるが、T-sampling法は、温度Tに基づいてトークンを選択する手法であって、最も大きい値(確率)をもつトークンではないトークンも選択可能とする手法である。
【0103】
T-sampling法によるトークン選択法は次の通りである。
【0104】
はじめに、出力ベクトルXが式(1)を使ってpに変換される。
【数1】
ここで、z
iはln(x
i)であり、添え字iは、ベクトルのi番目の成分を指す。またTは温度であり、任意の値に設定可能である。Tが大きいほど、各成分の確率の差が小さくなり、より均等な確率でトークンが選択されることになる。
【0105】
次に、piに基づく多項分布によるランダムサンプリングを行うことで、成分を選択する。このランダムサンプリングによりArgmax法とは異なる成分を選択できる可能性をもつことができる。T-sampling法の利用により、多様な文字列の生成が可能となる。
【0106】
選択されたトークンは、入力ベクトル末尾に挿入される。例えば、Argmax法により第2の成分に対応するトークン(“C”トークン)が選択された場合、入力ベクトルの末尾に挿入され、数値はベクトルの後ろから前にシフトする。
入力ベクトル:
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2]
【0107】
この入力ベクトルとMTMが学習済モデルに入力され、出力される確率に基づいて、トークンが選択される。これを繰り返し、次の条件のいずれかを満たす場合に処理を終了することができる。
1.“end”トークンが選択される。
2.入力ベクトルの0(noneトークン)がなくなる。
【0108】
このようにして得られたベクトルは、トークン-数値変換表を用いてSMILESに変換される。このとき、noneトークン、startトークン、endトークンは除去される。
【0109】
例えば、
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 8 9 15 8 4 13 8 11 8 8 8 8 8 11 6 8 11 8 8 8 8 8 11 7 8 8 9 2 4 17 7 5 6 16]
が得られたとき、SMILESに変換すると、
Cc1[nH]c(-c2ccccc2Oc2ccccc2)cc1C(N)=O
となる。これは、2-methyl-5-(2-phenoxyphenyl)-1H-pyrrole-3-carboxamideの化合物を表している。
【0110】
このようにして、MTMから文字列を導出することができる。T-sampling法が用いられる場合には、複数の文字列候補が導出されることになる。
【0111】
出力手段123は、導出された文字列を出力するように構成されている。
【0112】
出力手段123は、例えば、導出された文字列を、ユーザにとって容易に理解にできる情報に変換して出力することができる。例えば、導出された文字列が化学構造を表す場合、出力手段123は、導出された文字列を構造式に変換して出力することができる。
【0113】
出力された文字列または文字列から変換された情報は、例えば、インターフェース部110を介してユーザに提示されることができる。
【0114】
出力された文字列は任意の用途に利用されることができる。一例において、出力された文字列は、対応する化学構造の特性を予測するために利用されることができる。
【0115】
図4Bは、プロセッサ部120の代替実施形態であるプロセッサ部120Aの構成の一例を示す。プロセッサ部120Aは、化学構造の特性を予測するための構成を有している。
【0116】
プロセッサ部120Aは、受信手段121と、導出手段122と、出力手段123と、生成手段124と、予測手段125とを備えている。受信手段121、導出手段122、および出力手段123は、プロセッサ部120について上述したものと同一の構成を有し、ここでは説明を省略する。
【0117】
出力手段123は、導出された文字列を生成手段124に渡す。
【0118】
生成手段124は、文字列を変換して画像を生成するように構成されている。
【0119】
文字列を変換して画像を生成することは、文字列に対応する化学構造を画像(MTM)に変換することを含む。これは、例えば、Atsushi Yoshimori, “Prediction of Molecular Properties Using Molecular Topographic Map”, Molecules 2021, 26, 4475に説明されるMTMコンバータを用いて実現されることができる。
【0120】
予測手段125は、画像に基づいて、対象の特性を予測するように構成されている。特に、予測手段125は、化学構造を表す画像に基づいて、化学構造の特性を予測することができる。
【0121】
予測手段125は、例えば、学習用化学構造を表す文字列を変換した画像と、学習用化学構造の特性との関係を学習した第2の学習済モデルを用いて、化学構造の特性を予測することができる。第2の学習済モデルは、学習用化学構造を表す文字列を変換した画像を入力すると、学習用化学構造の特性を出力するように学習している。
【0122】
図5Bは、学習済モデルの構造の一例を示す。本例では、ディープニューラルネットワーク(DNN)が用いられている。DNNは任意の数の層を有することができる。
【0123】
例えば、入力層に画像を入力すると、出力層から、画像に対応する化学構造の特性が出力されることになる。このDNNは、例えば、複数の学習用化学構造のそれぞれについて、1つの学習用化学構造から生成された画像を入力用教師データとし、その学習用化学構造の特性を出力用教師データとして学習することによって構築されることができる。学習用化学構造から生成された画像は、例えば、28×28の2次元行列として入力用教師データに利用される。
【0124】
予測手段125によって予測された特性は、システム100の外部に出力されることができる。予測された特性は、例えば、データベース部200に格納されてもよいし、端末装置300に送信されてユーザに提示されてもよい。
【0125】
このように、プロセッサ部120Aによれば、受信された画像から導出された文字列を、画像に再変換して、対象(例えば、化学構造)の特性を予測することができる。これは、例えば、導出手段122から複数の文字列候補が導出される場合に、1つの文字列(または対応する化学構造)を特定する際に役立つ。具体的には、導出手段122から複数の文字列候補が導出されたとき、それぞれの文字列候補を画像に変換して特性を予測することで、最も良いまたは所望の特性を有する化学構造(または対応する文字列)を選択することが可能になる。
【0126】
図4Cは、プロセッサ部120の代替実施形態であるプロセッサ部120Bの構成の一例を示す。プロセッサ部120Bは、化学構造を推定するための構成を有している。従って、プロセッサ部120Bは、化学構造推定システム1000のプロセッサ部ともなり得る。
【0127】
プロセッサ部120Bは、第1の生成手段126と、第2の生成手段127と、導出手段122と、出力手段123とを備える。
図4Cにおいて、
図4Aを参照して上述した構成を同様の構成には同一の参照番号を付し、ここでは、詳細な説明を省略する。
【0128】
第1の生成手段126は、化学構造を変換して画像を生成するように構成されている。第1の生成手段126は、
図4Bを参照して上述した生成手段124と同様の構成を有する。すなわち、第1の生成手段126は、MTMコンバータを用いて実現されることができる。
【0129】
生成された画像は、第2の生成手段127に渡される。
【0130】
第2の生成手段127は、生成された画像を改変して改変画像を生成するように構成されている。
【0131】
第2の生成手段127は、画像に対して任意の改変を行うことができる。第2の生成手段127は、例えば、画像内の任意のピクセルの実数値またはピクセル値に所定の値を加算、減算、乗算、除算することができる。
【0132】
あるいは、第1の生成手段126が複数の化学構造を変換して複数の画像を生成した場合、第2の生成手段126は、複数の画像を組み合わせることによって改変を行うことができる。複数の画像の組み合わせは、例えば、複数の画像の平均をとることであり得る。これにより、生成される画像(すなわち、改変画像)の各ピクセル値は、複数の画像のそれぞれの対応するピクセル値の平均または加重平均となり得る。あるいは、改変画像の各ピクセル値は、複数の画像のそれぞれの対応するピクセルの実数値の平均または加重平均となり得る。
【0133】
導出手段122は、改変画像に対応する文字列を導出するように構成されている。導出された文字列は、出力手段123に渡される。
【0134】
出力手段123は、導出された文字列に対応する化学構造を出力するように構成されている。
【0135】
プロセッサ部120Bは、入力された化学構造から変換される画像を改変して文字列を出力するため、入力された化学構造とは異なる化学構造の文字列を出力することができる。例えば、2つの化学構造を入力すると、2つの化学構造の平均となり得る化学構造の文字列が出力されることになる。例えば、1つの化学構造を入力すると、改変された化学構造の文字列が出力されることになる。これにより、プロセッサ部120Bは、新規な化学構造を推定することができる。
【0136】
図4Dは、プロセッサ部120の代替実施形態であるプロセッサ部120Cの構成の一例を示す。プロセッサ部120Cは、特性が改変された(好ましくは、向上した)化学構造を推定するための構成を有している。従って、プロセッサ部120Cは、化学構造推定システム1000のプロセッサ部ともなり得る。
【0137】
プロセッサ部120Cは、第1の生成手段126と、第2の生成手段127と、導出手段122と、第3の生成手段128と、予測手段125と、特定手段129とを備える。
図4Dにおいて、
図4Aを参照して上述した構成を同様の構成には同一の参照番号を付し、ここでは、詳細な説明を省略する。
【0138】
第1の生成手段126は、化学構造を変換して画像を生成するように構成されている。
【0139】
第2の生成手段127は、生成された画像を改変して改変画像を生成するように構成されている。
【0140】
導出手段122は、改変画像に対応する複数組の文字列を導出するように構成されている。導出手段122は、T-sampling法を用いて、複数組の文字列を導出することができる。複数組の文字列はそれぞれ、改変画像に対応し得るが、その対応の程度が異なっている。導出された複数組の文字列は、第3の生成手段128に渡される。
【0141】
第3の生成手段128は、複数組の文字列のそれぞれを変換して複数の画像を生成するように構成されている。第3の生成手段128は、
図4Bを参照して上述した生成手段124と同様の構成を有する。第3の生成手段128は、複数組の文字列のそれぞれに対して処理を行うことにより、それぞれの画像を生成する。例えば、第3の生成手段128により、第1の文字列から第1の画像が生成され、第2の文字列から第2の画像が生成され、第3の文字列から第3の画像が生成され、・・・第nの文字列から第nの画像が生成される。上述したとおり、複数組の文字列はそれぞれ、改変画像に対応し得るが、その対応の程度が異なるため、生成された画像は、改変画像に一致しないことがあるが、生成された画像は、改変画像に類似する画像であり得る。
【0142】
予測手段125は、生成された複数の画像のそれぞれに基づいて、それぞれの画像に対応する化学構造の特性を予測するように構成されている。予測手段125は、複数の画像のそれぞれに対して処理を行うことにより、それぞれの特性を予測することができる。例えば、予測手段125により、第1の画像から対応する第1の化学構造の特性が予測され、第2の画像から対応する第2の化学構造の特性が予測され、第3の画像から対応する第3の化学構造の特性が予測され、・・・第nの画像から対応する第nの化学構造の特性が予測される。
【0143】
特定手段129は、予測された特性に基づいて、特性が改変された化学構造を特定するように構成されている。特定手段129は、複数の画像のそれぞれに対応する化学構造の特性を比較し、所定の基準を満たす化学構造を特定することができる。所定の基準は、例えば、最も高いまたは最も低い特性値を有する化学構造、入力された化学構造よりも高いまたは低い特性値を有する化学構造等であり得る。
【0144】
プロセッサ部120Cは、入力された化学構造を改変して得られる化学構造のうち、改変された特性を有する化学構造を特定することができる。例えば、2つの化学構造を入力すると、2つの化学構造の平均となり得る化学構造のうち、改変された特性を有する化学構造を特定することができる。例えば、1つの化学構造を入力すると、改変された化学構造のうち、改変された特性を有する化学構造を特定することができる。これにより、プロセッサ部120Bは、新規な化学構造であって、特性が改変された化学構造を推定することができる。
【0145】
なお、上述した例では、化学構造を対象としたが、対象は化学構造に限定されない。対象は、構造を有し、構造が画像と一意に関連付けられるものであれば、任意の対象であり得る。
【0146】
なお、上述したシステム100の各構成要素は、単一のハードウェア部品で構成されていてもよいし、複数のハードウェア部品で構成されていてもよい。複数のハードウェア部品で構成される場合は、各ハードウェア部品が接続される態様は問わない。各ハードウェア部品は、無線で接続されてもよいし、有線で接続されてもよい。本発明のシステム100は、特定のハードウェア構成には限定されない。プロセッサ部120をデジタル回路ではなくアナログ回路によって構成することも本発明の範囲内である。本発明のシステム100の構成は、その機能を実現できる限りにおいて上述したものに限定されない。
【0147】
3.画像-文字列変換システム100における処理
図6は、画像-文字列変換システム100における処理の一例(処理600)を示す。処理600は、画像を文字列に変換するための処理である。処理600は、例えば、プロセッサ部120において実行されることができる。以下では、プロセッサ部120が処理600を実行することを説明するが、プロセッサ部120Aも同様に処理600を実行することができる。
【0148】
ステップS601では、プロセッサ部120の受信手段121が、画像を受信する。画像は、文字列と対応付けられる任意の画像であり得る。好ましくは、画像は、化学構造を表す画像(例えば、MTM)である。受信された画像は、導出手段122に渡される。
【0149】
ステップS602では、プロセッサ部120の導出手段122が、画像に対応する文字列を導出する。
【0150】
導出手段122は、例えば、学習済モデルを用いて、画像に対応する文字列を導出することができる。ここで、学習済モデルは、学習用画像と、学習用画像に対応する文字列の一部の文字とを入力すると、その文字の次の文字を出力するように学習している。これにより、学習済モデルに、画像と、その画像に対応する文字列の一部の文字とを入力する、その文字列におけるその文字の次の文字が出力される。
【0151】
例えば、学習済モデルに、ステップS601で受信された画像と、その画像に対応する文字列における第1の文字(例えば、SMILESにおけるStartトークンに対応する文字)とを入力すると、学習済モデルから、当該文字列における第2の文字が出力される。例えば、学習済モデルに、ステップS601で受信された画像と、その画像に対応する文字列における第1の文字と、先に出力された第2の文字とを入力すると、学習済モデルから、当該文字列における第3の文字が出力される。これを繰り返すことにより、当該文字列の全ての文字列が出力されることになる。
【0152】
学習済モデルが文字列における次の文字を出力するとき、学習済モデルは、例えば、次の文字の候補である複数の候補文字のそれぞれについて、次の文字となる確率を出力し、その確率に基づいて、次の文字を出力することができる。一実施形態において、複数の候補文字のうち、確率が最も高い1つの候補文字を選択し、選択された候補文字を次の文字として出力することができる。これは、上述したArgmax法に対応している。別の実施形態において、複数の候補文字のそれぞれの確率の分布に従って、複数の候補文字のうちの1つの候補文字を選択し、選択された候補文字を次の文字として出力することができる。これは、上述したT-sampling法に対応している。確率の分布には、重みをつけることができ、これにより、所望の結果が得られるように調節することが可能である。重みは、上述したT-sampling法におけるTの値に対応している。Tが大きいほど、各候補文字の確率の差が小さくなり、より均等な確率で候補文字が選択されることになる。
【0153】
確率の分布に従って、複数の候補文字のうちの1つの候補文字を選択することによって文字列における文字を出力することを繰り返すことによって導出される文字列は、同じ画像に対して処理600を複数回行う場合、必ずしも同じになるとは限らない。確率の分布に従って、導出される文字列にばらつきが生じるからである。これは、1つの画像から、その画像に対応し得る複数の文字列候補を導出することを可能にする。
【0154】
例えば、上述したSMILESを例にすると、学習済モデルは、次の文字の候補である複数の候補文字(SMILESのトークンに対応する32個の候補文字)のそれぞれについて、次の文字となる確率を出力する。導出手段122は、学習済モデルからの出力のうち、最も高い確率の候補文字(SMILESのトークンに対応する1つの候補文字)を選択するようにしてもよいし、確率の分布に従って1つの候補文字(SMILESのトークンに対応する1つの候補文字)を選択するようにしてもよい。
【0155】
ステップS603では、プロセッサ部120の出力手段123が、ステップS602で導出された文字列を出力する。出力手段123は、例えば、導出された文字列を、ユーザにとって容易に理解にできる情報に変換して出力することができる。例えば、導出された文字列が化学構造を表す場合、出力手段123は、導出された文字列を構造式に変換して出力することができる。
【0156】
出力された文字列は任意の用途に利用されることができる。一例において、出力された文字列は、対象の特性を予測するために利用されることができる。
【0157】
例えば、ステップS603の後、プロセッサ部120Aの生成手段124が、出力された文字列を変換して画像を生成することと、プロセッサ部120Aの予測手段125が、生成された画像に基づいて、画像が表す対象の特性を予測することとを行うことができる。
【0158】
予測手段125は、学習用画像と、学習用画像が表す対象の特性との関係を学習した第2の学習済モデルを用いて、特性を予測することができる。第2の学習済モデルは、画像を入力すると、その画像が表す対象の特性を出力することができる。
【0159】
一例において、出力された化学構造を表す文字列は、MTMに変換され、変換されたMTMは、第2の学習済モデルに入力され、これにより、当該化学構造の特性を予測することができる。
【0160】
図7は、化学構造推定システム1000における処理の一例(700)を示す。処理700は、化学構造を推定するための処理である。処理700は、例えば、プロセッサ部120Bにおいて実行されることができる。
【0161】
ステップS701において、プロセッサ部120Bの第1の生成手段126が、化学構造を変換して画像を生成する。第1の生成手段126は、例えば、MTMコンバータを用いて、化学構造を変換して画像(MTM)を生成することができる。
【0162】
ステップS701では、第1の生成手段126は、複数の化学構造のそれぞれを変換して複数の画像を生成することができる。例えば、第1の生成手段126は、第1の化学構造を表す第1の文字列を変換して第1の画像を生成し、第2の化学構造を表す第2の文字列を変換して第2の画像を生成することができる。
【0163】
ステップS702において、プロセッサ部120Bの第2の生成手段127が、ステップS701で生成された画像を改変して改変画像を生成する。
【0164】
第2の生成手段127は、化学構造を変換して生成された画像に対して任意の改変を行うことができる。第2の生成手段127は、例えば、画像内の任意のピクセルの実数値またはピクセル値に所定の値を加算、減算、乗算、除算することができる。
【0165】
複数の化学構造を変換して複数の画像が生成されている場合には、第2の生成手段127は、複数の画像を組み合わせることで改変画像を生成することができる。複数の画像の組み合わせは、例えば、複数の画像の平均をとることであり得る。これにより、生成される画像(すなわち、改変画像)の各ピクセル値は、複数の画像のそれぞれの対応するピクセル値の平均または加重平均となり得る。あるいは、改変画像の各ピクセル値は、複数の画像のそれぞれの対応するピクセルの実数値の平均または加重平均となり得る。
【0166】
ステップS703において、プロセッサ部120Bの導出手段122が、改変画像に対応する文字列を導出する。導出手段122は、ステップS602と同様にして、文字列を導出することができる。
【0167】
例えば、学習済モデルに、ステップS702で生成された改変画像と、その改変画像に対応する文字列における第1の文字(例えば、SMILESにおけるStartトークンに対応する文字)とを入力すると、学習済モデルから、当該文字列における第2の文字が出力される。例えば、学習済モデルに、ステップS702で生成された改変画像と、その改変画像に対応する文字列における第1の文字と、先に出力された第2の文字とを入力すると、学習済モデルから、当該文字列における第3の文字が出力される。これを繰り返すことにより、当該文字列の全ての文字列が出力されることになる。
【0168】
導出手段122は、確率の分布を利用して、複数の文字列候補を導出するようにしてもよい。
【0169】
ステップS704において、プロセッサ部120Bの出力手段123が、導出された文字列に対応する化学構造を出力する。出力手段123は、例えば、化学構造を構造式で出力することができる。
【0170】
このようにして、入力された化学構造から新規な化学構造を推定することができる。複数の化学構造が入力された場合には、複数の化学構造の平均となり得る化学構造を推定することができる。これは、創薬の分野において、新規の薬剤を創出することにつながり得る。
【0171】
図8は、化学構造推定システム1000における処理の一例(800)を示す。処理800は、特性が改変された化学構造を推定するための処理である。処理800は、例えば、プロセッサ部120Cにおいて実行されることができる。
【0172】
ステップS801において、プロセッサ部120Cの第1の生成手段126が、化学構造を変換して画像を生成する。第1の生成手段126は、例えば、MTMコンバータを用いて、化学構造を変換して画像(MTM)を生成することができる。
【0173】
ステップS801では、第1の生成手段126は、複数の化学構造のそれぞれを変換して複数の画像を生成することができる。例えば、第1の生成手段126は、第1の化学構造を表す第1の文字列を変換して第1の画像を生成し、第2の化学構造を表す第2の文字列を変換して第2の画像を生成することができる。
【0174】
ステップS802において、プロセッサ部120Cの第2の生成手段127が、ステップS802で生成された画像を改変して改変画像を生成する。
【0175】
第2の生成手段127は、化学構造を変換して生成された画像に対して任意の改変を行うことができる。第2の生成手段127は、例えば、画像内の任意のピクセルの実数値またはピクセル値に所定の値を加算、減算、乗算、除算することができる。
【0176】
複数の化学構造を変換して複数の画像が生成されている場合には、第2の生成手段127は、複数の画像を組み合わせることで改変画像を生成することができる。複数の画像の組み合わせは、例えば、複数の画像の平均をとることであり得る。これにより、生成される画像(すなわち、改変画像)の各ピクセル値は、複数の画像のそれぞれの対応するピクセル値の平均または加重平均となり得る。あるいは、改変画像の各ピクセル値は、複数の画像のそれぞれの対応するピクセルの実数値の平均または加重平均となり得る。
【0177】
ステップS803において、プロセッサ部120Cの導出手段122が、ステップS802で生成された改変画像に対応する複数組の文字列を導出する。導出手段122は、ステップS602と同様にして、学習済モデルを用いて文字列を導出することができる。
【0178】
例えば、学習済モデルに、ステップS802で生成された改変画像と、その改変画像に対応する文字列における第1の文字(例えば、SMILESにおけるStartトークンに対応する文字)とを入力すると、学習済モデルから、当該文字列における第2の文字が出力される。例えば、学習済モデルに、ステップS702で生成された改変画像と、その改変画像に対応する文字列における第1の文字と、先に出力された第2の文字とを入力すると、学習済モデルから、当該文字列における第3の文字が出力される。これを繰り返すことにより、当該文字列の全ての文字列が出力されることになる。
【0179】
導出手段122は、改変画像に対応する文字列を導出する処理を繰り返すことにより、複数組の文字列を導出する。このとき、T-sampling法を用いて文字列を導出するようにすることで、複数回の繰り返し処理で導出される複数組の文字列にばらつきが生じる。
【0180】
ステップS804において、プロセッサ部120Cの第3の生成手段128が、ステップS803で導出された複数組の文字列のそれぞれを変換して複数の画像を生成する。第3の生成手段128は、例えば、MTMコンバータを用いて、化学構造を変換して画像(MTM)を生成することができる。第3の生成手段128は、複数組の文字列のそれぞれに対して処理を行うことにより、それぞれの画像を生成する。例えば、第3の生成手段128により、第1の文字列から第1の画像が生成され、第2の文字列から第2の画像が生成され、第3の文字列から第3の画像が生成され、・・・第nの文字列から第nの画像が生成される。
【0181】
ステップS805において、プロセッサ部120Cの予測手段125が、ステップS804で生成された複数の画像の各画像に基づいて、それぞれの特性を予測する。予測手段125は、学習用画像と、学習用画像が表す対象の特性との関係を学習した第2の学習済モデルを用いて、特性を予測することができる。第2の学習済モデルは、画像を入力すると、その画像が表す対象の特性を出力することができる。予測手段125は、複数の画像のそれぞれに対して処理を行うことにより、それぞれの特性を予測することができる。例えば、予測手段125により、第1の画像から対応する第1の化学構造の特性が予測され、第2の画像から対応する第2の化学構造の特性が予測され、第3の画像から対応する第3の化学構造の特性が予測され、・・・第nの画像から対応する第nの化学構造の特性が予測される。
【0182】
ステップS806において、プロセッサ部120Cの特定手段129が、ステップS805で予測された特性に基づいて、特性が改変された化学構造を特定する。特定手段129は、複数の特性を比較し、所定の基準を満たす特性を有する化学構造を特定することができる。所定の基準は、例えば、最も高いまたは最も低い特性値を有する化学構造、入力された化学構造よりも高いまたは低い特性値を有する化学構造等であり得る。
【0183】
このようにして、入力された化学構造から特性が改変された(例えば、向上した)化学構造を推定することができる。複数の化学構造が入力された場合には、複数の化学構造に共通する特性が改変された化学構造を推定することができる。これは、創薬の分野において、新規かつ有効な薬剤を創出することにつながり得る。
【0184】
なお、上述した例では、化学構造を対象としたが、対象は化学構造に限定されない。対象は、構造を有し、構造が画像と一意に関連付けられるものであれば、任意の対象であり得る。
【0185】
図6~
図8を参照して上述した例では、特定の順序で処理が行われることを説明したが、各処理の順序は説明されたものに限定されず、論理的に可能な任意の順序で行われ得る。
【0186】
図6~
図8を参照して上述した例では、
図6~
図8に示される各ステップの処理は、プロセッサ部120、プロセッサ部120A、プロセッサ部120B、またはプロセッサ部120Cとメモリ部130に記憶されたプログラムとによって実現することが説明されたが、本発明はこれに限定されない。
図6~
図8に示される各ステップの処理のうちの少なくとも1つは、制御回路などのハードウェア構成によって実現されてもよい。
【0187】
本発明は、上述した実施形態に限定されるものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。例えば、一実施形態について記載された特徴は、別の実施形態にも適用可能であることが当然に理解される。
【実施例0188】
(MTMインバータの構築)
Bromodomain-containing protein 4(BRD4)阻害剤について、MTMインバータを構築した。構築するためのデータセットとして、BRD4阻害剤の化学構造とそのKi値をChEMBL(https://www.ebi.ac.uk/chembl/)より取得した。重複した化学構造は、そのKi値の平均を代表値とし、1つの化学構造を残すことで重複の除去をした。結果として、839個の化学構造とそのKi値を得た。ここでは、これら839個のデータをBRD4データセットと呼ぶことにする。
【0189】
BRD4データセットは、以下に示すように、各行に1つの化学構造に関する情報が記載されており、具体的にはSMILES 化合物ID/pKi値が掲載されている。pKi値は、pKi=-log(Ki)により得られる値であり、値が大きい程、阻害活性が強いことを示す。
例:BRD4データセット:
Cc1[nH]c(-c2cc(N)ccc2Oc2ccccc2)cc1C(N)=O CHEMBL4088536/6.38
COc1cc2c(cc1-c1c(C)noc1C)[nH]c1ncnc(Cl)c12 CHEMBL4209208/6.365
Cc1cc(C)c(S(=O)(=O)O)cc1/N=N/c1cc(C)c(O)c(C)c1 CHEMBL3087050/5.255
【0190】
BRD4データセットを8対2の割合で、トレーニングデータ(671個)とテストデータ(168個)に分割した。
【0191】
トレーニングデータ(671個)に含まれる化学構造を用いて、本開示のMTMインバータを構築した。
【0192】
(MTMインバータの精度評価)
トレーニングデータ(671個)およびテストデータ(168個)を使って、MTMインバータの変換精度について評価を行った。
【0193】
変換精度の評価は以下の2つの変換手法と2つの評価指標により実施した。
変換手法:Argmax法、T-Sampling法
評価指標:再構築(Reconstruction)、SMILESの有効性(Validity)、類似度(Similarity)
【0194】
再構築(Reconstruction)とは、MTMから逆変換された化学構造が元の化学構造に一致するか否かを示す指標である。化学構造はSMILESで表現されている。SMILESの一致は、SMILESをRDKit(https://www.rdkit.org/)によりCanonical SMILESに変換し、文字列一致により判定を行った。Canonical SMILESとは、1つの化学構造が1つのSMILESに変換されるように規範化されたSMILESを指す。
【0195】
SMILESの有効性(Validity)とは、MTMから逆変換されたSMILESが、SMILESの文法として正しいか否か示す指標である。SMILESの文法が正しいか否かは、RDKitのChem.MolFromSmiles関数(https://www.rdkit.org/)を使って判定を行った。
【0196】
類似度(Similarity)とは、MTMから逆変換された化学構造と元の化学構造との類似度を示す指標である。MTMから逆変換された化学構造のMTMは、MTMコンバータで変換する。化学構造間の類似度は、MTM間の類似度と定義し、谷本係数(実数版)(Int J Data Sci Anal 4, 153-172 (2017). https://doi.org/10.1007/s41060-017-0064-z)を用いて算出する。
【0197】
Argmax法およびT-Sampling法のそれぞれについての評価結果を表1に示す。
【表1】
【0198】
トレーニングデータにおけるArgmax法を用いたReconstructionは、78.2%であり、T-sampling法を用いたReconstructionは、97.8%であった。T-sampling法により、再構築の精度が大幅に向上している。Validityは、Argmax法では96.3%、T-sampling法では、100%であった。平均のSimilarityは、Argmax法では、0.990、T-sampling法では、0.998であった。
【0199】
次に、テストデータにおけるArgmax法を用いたReconstructionは、10.1%であり、T-sampling法を用いたReconstructionは、30.4%であった。テストデータにおいても、T-sampling法により、再構築の精度が大幅に向上している。Validityは、Argmax法では84.5%、T-sampling法では、99.4%であった。Averaged Similarityは、Argmax法では、0.906、T-sampling法では、0.956であった。Reconstructionは、30.4%であるが、平均のSimilarityをみて分かるように、元の化学構造と非常に類似した化学構造を生成していることが分かる。
【0200】
T-sampling法において必要なパラメータは温度(Temperature)とサンプリング回数の2つである。設定した値を表2に示す。
【表2】
【0201】
ここでは、各T-samplingにおいて、100回のサンプリングを行っている。その結果、平均のvalidityはトレーニングセットで85.4%、テストセットで70.4%であった。また、平均のユニーク性は、トレーニングセットで6.5%、テストセットで9.9%であった。ユニーク性とは、重複のない化学構造のことを示す。100回のサンプリングで重複のない10個の化学構造が生成された場合は、ユニーク性は、10.0%となる。
【0202】
トレーニングデータ、およびテストデータにおける類似度の分布を
図9に示す。T-sampling法により、元の化学構造と類似した化学構造を大幅に増加させていることが分かる。以上の結果から、MTMインバータによる逆変換は、Reconstructionでは30.4%、平均のSimilarityでは、0.956の精度で実施できることを確認した。
【0203】
(MTMインバータによる新規BRD4阻害剤の推定)
既知のBRD4阻害剤から、生物活性が向上したBRD4阻害剤をMTMインバータを利用して推定した。このフローは、
図1Bに示されるフローに対応している。
【0204】
トレーニングデータから、活性の強い(pKi値>8.0)BRD4阻害剤を1000組、ランダムに選択した。ここで選ばれた化合物をベース化合物と呼び、そのペアをベース化合物ペアと呼ぶ。
【0205】
ベース化合物ペアは、ペース化合物A(C11)とベース化合物B(C22)から構成される。
【0206】
混合MTM(I13)は、ベース化合物AのMTM(I11)とベース化合物BのMTM(I12)を用いて、以下の式から算出される。
【数2】
0<λ<1であり、典型的には、λ=0.5である。λ=0.5は、混合MTM(I13)がベース化合物AのMTM(I11)とベース化合物BのMTM(I12)との丁度平均であることを意味する。
【0207】
MTMインバータを用いてMTM(I13)からT-sampling法を用いて化学構造(SMILES)に逆変換する。ここで、T-sampling法における温度(Temperature)は1.5、サンプリング回数は100とした。T-sampling法を用いた逆変換により、複数組のSMILESが得られた。得られたSMILESは、MTMコンバータを用いてMTMに変換された。MTM(I13)と最も類似したMTMの元となる化学構造(SMILES)が、MTM(I13)を逆変換して得られた化学構造として提示された。
【0208】
BRD4に対する活性予測を行うために、BRD4活性予測モデルを用いた。BRD4活性予測モデルは上述した第2の学習済モデルに対応している。MTM(I13)を入力とし、BRD4活性予測モデルを用いて、BRD4に対する活性を予測した。また、MTMインバータを用いて得られたSMILESからMTMコンバータを用いて変換されたMTMを入力とし、BRD4活性予測モデルを用いて、BRD4に対する活性を予測した。
【0209】
BRD4活性予測モデルはMTMコンバータを構築するときのトレーニングデータと同じものを利用した。
【0210】
DNNにおけるパラメータは、ハイパーパラメータ自動最適化フレームワークoptuna(https://github.com/optuna/optuna)を用いて、以下の4つのハイパーパラメータの最適化を実施した。
・conv2d_1のConv2Dレイヤーの引数filters
・conv2d_2のConv2Dレイヤーの引数filters
・dense_1のDenseレイヤーの引数units
・dropout_1のDropoutレイヤーの引数rate
【0211】
最終的にDNNのハイパーパラメータは以下となった。
・conv2d_1のConv2Dレイヤーの引数filtersは48、activationは”relu”
・conv2d_2のConv2Dレイヤーの引数filtersは96、activationは”relu”
・dense_1のDenseレイヤーの引数unitsは、512、activationは”relu”
・dropout_1のDropoutレイヤーの引数rateは0.2
・dense_2のDenseレイヤーの引数activationは”liner”
・DNNにおける損失関数は、” mean_squared_error”
・損失関数の最適化アルゴリズムは、”adam”
・epoch数は100
・batchサイズは16
【0212】
BRD4活性予測モデルの評価を以下の3つの評価指標により実施した。
・平均二乗誤差(MSE:Mean Squared Error)
・平均絶対誤差(MAE:Mean Absolute Error)
・決定係数(R2):
【0213】
【0214】
テストデータにおいてMSE=0.277、MAE=0.389、R2=0.755と良好な予測精度であることを確認した。
【0215】
1000組のベース化合物から生成された1000個の化学構造に対して、構築されたMTMインバータおよびBRD4活性予測モデルを用いて、3つの条件を全て満たす化合物を選別した。
条件1:MTM(I13)の予測値(pKi)がベース化合物AおよびBのどちらの実測値(pKi)よりも大きい。
条件2:MTMインバータにより変換されたSMILESから得られたMTMの予測値(pKi)がベース化合物AおよびBのどちらの実測値(pKi)よりも大きい。
条件3:MTMインバータにより変換されたSMILESの化学構造が、BRD4データセットに含まれていないこと。
【0216】
その結果、25個の化学構造がBRD4阻害剤として選別された。最も予測値の良い化合物を
図10に示す。
【0217】
選抜された25個の化合物は、次の4つのタイプに分類できた(
図11Aおよび
図11B)。
【0218】
ここでは、ベース化合物Aを化合物A、ベース化合物Bを化合物B、そしてMTMインバータにより変換されたSMILESが示す化合物を化合物Cと呼ぶ。
Type A:
化合物Cは、次の条件を全て満たす。
・化合物Cは化合物AとMMPである。
・化合物Cは化合物BとMMPである。
ただし、化合物Aと化合物BはMMPではない。
Type B:
化合物Cは、次の条件を全て満たす。
・化合物Cは化合物AとMMPである。
・化合物Cは化合物BとMMPである。
ただし、化合物Aと化合物BはMMPである。
Type C:
化合物Cは、次の条件のどちらか1つを満たす。
・化合物Cは、化合物AとMMPである。
・化合物Cは、化合物BとMMPである。
Type D:
化合物Cは、次の条件を全て満たす。
・化合物Cは化合物AとMMPでない。
・化合物Cは化合物BとMMPでない。
【0219】
ここで、MMP(Matched Molecular Pair)は、大部分において共通の構造を持ち、一か所のみ部分構造が異なる分子のペアのことである。
【0220】
創薬の分野においては、リード化合物のMMPとなる化合物を中心に、合成展開を行い、医薬品に適した化合物へと最適化を行われている。本開示のMTMインバータおよびBRD4活性予測モデルを用いて推定された新規な化合物の中には、ベース化合物Aおよび/またはベース化合物Bに対してMMPの関係をもった化合物が複数含まれていた。従って、本開示の手法は、創薬の分野においても利用価値があることが示唆されている。
【0221】
(新規かつ活性のあるBRD4阻害剤の生成)
1000組の中から以下の条件を全て満たす化合物をBRD4阻害剤として選別した。
【0222】
条件:逆変換された化学構造が、テストデータに含まれていること。
【0223】
MTMインバータはトレーニングデータの化学構造をもとに学習されているため、テストデータの化学構造は一切含まれていない。1000組のベース化合物のMTM(I13)から逆変換された化学構造がテストデータに含まれていれば、新規かつ活性のあるBRD4阻害剤を生成できたことを示す。
【0224】
結果は以下の通りであった。
新規の化学構造:485(BRDデータセットに含まれていない化学構造)
既存の化学構造:515 (BRDデータセットに含まれている化学構造)
トレーニングデータ内:485
バリデーションデータ内:10
テストデータ内:20
合計 1000
【0225】
生成された1000化合物の内、20化合物がテストデータ内に含まれていた。ただし、重複した化学構造が含まれているため、それを除去したところ、8化合物であった。結果として、実際にBRD4に対して活性のある化合物を8化合物、生成できたことになる。
本発明は、画像を文字列に変換するシステム等、具体的には、化学構造を表す画像を、当該化学構造を表す文字列に変換するシステム等を提供するものとして有用である。