「10億の化合物の中から、どうやって一つを見つけるんですか?」
瀬名が圧倒された表情で画面を見つめた。
「類似性検索だ」晃が答えた。「既知の活性化合物に似たものを探す」
「似てる、って?」
英司が説明に加わった。「構造的な類似性。分子フィンガープリントで定量化する」
瀬名が興味を示した。「フィンガープリント?」
晃が図を描いた。「化合物の特徴を、ビット列で表現する。例えば、ベンゼン環があるか、水酸基があるか」
「それで類似性が分かる?」
「ビット列同士を比較する。一致するビットが多いほど、似てる」
英司がデータベースを開いた。「これ、PubChem。1億以上の化合物が登録されてる」
「全部検索するんですか?」瀬名が驚く。
「効率的なアルゴリズムがある。でも、それでも計算コストは高い」
晃が具体例を示した。「この化合物、nMの活性。これに似た化合物を探したい」
「類似性の閾値は?」
「タニモト係数0.7以上。つまり、70パーセント以上の特徴が一致」
英司が検索を実行した。「結果…1万2千件」
「多すぎる!」瀬名が言う。
「だから、さらに絞り込む。薬物様性、合成容易性、知的財産の状況」
晃が補足した。「Lipinski's Rule of Fiveとか、基準がある」
「分子量500以下、LogP 5以下…」瀬名がノートに書いた。
英司がフィルターをかけた。「これで200件に減った」
「まだ多い」
「ここからは、人間の判断だ。構造を一つ一つ見る」
晃が画面をスクロールした。「この化合物、良さそう」
「何が良いの?」瀬名が聞く。
「コア構造は同じだけど、置換基が違う。新規性がある」
英司が分析した。「でも、合成が難しそうだ。この立体化学、制御できるか?」
「可能だと思う。Suzukiカップリングと、不斉還元で」
瀬名が質問した。「類似性だけじゃ、活性は保証されない?」
「その通り」晃が認めた。「似てても、効かないこともある」
「じゃあ、なぜ探すんですか?」
「確率の問題だ。ランダムより、ずっと高い確率で活性化合物が見つかる」
英司が統計を見せた。「ランダムスクリーニングだと、ヒット率0.01パーセント。類似性検索だと、5パーセント」
「500倍!」
「だから、効率的なんだ」
晃が別の課題を指摘した。「でも、類似性検索には盲点がある」
「盲点?」
「scaffold hoppingができない。全く違う骨格で、同じ活性を持つ化合物は見つけられない」
英司が例を示した。「これとこれ、活性は同じだけど、構造は全然違う」
「類似性は…20パーセント以下」
「これは、類似性検索では見つからない」
瀬名が考えた。「じゃあ、どうする?」
「ファルマコフォア検索」晃が提案した。「構造じゃなくて、薬理学的特徴で検索する」
「水素結合ドナー、アクセプター、疎水性領域の3D配置」
英司が追加した。「あとは、機械学習。構造と活性の非線形な関係を学習する」
「deep learningで?」
「Graph Neural Networksが有望だ。分子をグラフとして扱う」
瀬名がノートに整理した。「類似性検索、ファルマコフォア検索、機械学習…」
「それぞれ得意・不得意がある」晃が言った。「組み合わせて使うのが賢い」
英司が結果を見せた。「これ、最終候補。5つ選んだ」
「少ない」瀬名が言う。
「実験リソースは限られてる。慎重に選ぶ必要がある」
晃が一つの化合物を指した。「これ、面白い。類似性は中程度だけど、ファルマコフォアは完璧にマッチ」
「機械学習の予測スコアも高い」英司が確認した。
「じゃあ、これを最優先で合成する」
瀬名が感動した。「10億の海から、一つの真珠を見つけた」
「まだ真珠かどうか分からない」晃が笑った。「実験してみないと」
「でも、ランダムに探すよりずっといい」
英司が言った。「それが計算創薬の価値だ。化学空間を効率的に探索する」
瀬名が画面を見つめた。無数の化合物の点が、高次元空間に広がっている。
「この海は、どこまで広いんですか?」
「理論的には、10の60乗以上」晃が答えた。「ほぼ無限」
「でも」英司が続けた。「その無限の中から、意味のある部分空間を切り出す。それが私たちの仕事だ」
瀬名は、類似性という羅針盤を手に、化学空間の海を航海する探検家になった気がした。