BLOG

BLOG

【論文掲載】Boltz-2 の親和性予測器は、何を見ているのか

Boltz-2 は、構造ベースのバーチャルスクリーニングの新しい手法として注目されています。 1回の実行で、タンパク質–リガンド複合体構造とともに結合親和性の予測結果を返すことができます。 この2つが並んで出力されると、その結合親和性は複合体構造から予測されたものであり、そのポーズが良くなれば予測値の精度も良くなるはずだと読みたくなります。 しかし、期待と異なり、ポーズの質と予測親和性が弱くしか連動しないことは、すでに複数のグループが報告しています [1–3]。 そこで私たちは、Boltz-2 のソースコードの解析と、4複合体を対象とした実測から、その理由を探りました。

結論を先に書くと、Boltz-2 2.2.1 では、採点される座標はただ1本の狭いチャネルを通ってアフィニティヘッドへ届き、しかも複合体として出力される構造は、そのヘッドが採点した構造とは異なります。

まず大まかに — 親和性予測値はどう出てくるのか

1回の実行は、複合体を2度予測します。

1回の実行が通る経路を、4GIH の実際の予測結果の上に描いたもの。 上段が構造予測パスで、下段が親和性予測パスです。 バッジは、2つのフォールドでステアリングポテンシャルの扱いが違うところを示します。 Cα トレースが青、リガンドの重原子がオレンジ、クロップの外に出た残基が淡いグレーです。

配列と SMILES からノイズを経て複合体構造が予測されます。 そこから AffinityCropper が、リガンドに近いトークンから順に、そのトークン自身の鎖の連続した残基のまとまりを足していき、次のまとまりで受容体トークンが 200 を超えるところで止めます。 こうして残った残基がクロップです。 クロッパーが残した残基だけを使って、新しいノイズから2度目の構造予測が行われます。 親和性予測値として採点されるのはこちらの複合体です。 クロップはトークン対ごとの表現になり、座標はそこへビン化された距離としてだけ入ります。 その表現は、トークン対をまたいで情報を混ぜ合わせる段を通ります。 それがマスクされた平均で1本のベクトルにまとめられ、ヘッドがそれを読んで1つの値を出します。
出力ファイルに書かれるのは上段の複合体で、親和性予測値が付けられているのは下段の複合体です。 この2つは一つの実行の中で生成されますが、同じ構造ではありません。 また、--use_potentialsを付けると、構造予測パスではキラリティの補正を含む物理的なステアリングが働きますが、親和性予測パスではフラグの指定によらずステアリングは無効のままです。

アフィニティヘッドに入るもの

では、下段のヘッドは何を受け取っているのでしょうか。

アフィニティ付きの実行の推論経路。 左から、構造予測パス、それを1度だけ読んでクロップを決める AffinityCropper、ステアリングを切って新しいノイズからクロップされた複合体を再拡散する親和性予測パス、そしてそこで得られた複合体を採点するヘッドです。 オレンジの吹き出しが、採点対象の座標がヘッドへ届く唯一の入口で、原子間距離を離散化した距離行列です。 リガンドは重原子1つが1トークン、タンパク質は1残基が1トークンで、後者をこの行列で代表するのは原子1個だけです。 紫の ref_pos は RDKit が SMILES から生成した三次元構造で、距離行列としてではなく上流の原子エンコーダから入り、トランクもヘッドも読みます。 赤い破線は行き止まりで、拡散の学習ターゲット feats["coords"] はバッチに載ってはいるものの、公開されたチェックポイントのどの推論経路もこれを読みません。

構造予測パスが出力した座標が親和性予測側に影響する経路は、どの残基をクロップに入れるかという選択だけです。 その先でヘッドが読む座標は、親和性予測パスが自分で作った座標であり、しかもビン化された距離としてしか読まれません。 ここから先は、採点座標が通るチャネルと、クロップの選択という経路を順に見ていきます。

1本のチャネルと、そこで捨てられるもの

アフィニティモジュールは、採点対象の座標をディストグラムとして受け取ります。 原子間距離を 2–22 Å でクリップし、64 ビンに離散化したものです(内側の 62 ビンが幅約 0.32 Å)。 距離の計算に使われるのは、1トークンあたり1個の代表原子だけです。 リガンドは重原子1つが1トークンなので、すべての重原子がこのチャネルに寄与します。 タンパク質残基が寄与するのは Cβ 1個のみ(グリシンは Cα)です。

距離の符号化。 (a) スケール全体で、2–22 Å の内側が 0.32 Å 幅の 62 ビン、2 Å より近い距離がすべてビン0、22 Å より遠い距離が上端のないビン63に入ります。 (b) リガンド↔受容体の距離とビンへの配置: 7.90 Å と 8.10 Å は 0.20 Å 離れていながら同じビン19に入り、ヘッドには同じ値に符号化されて届きます。 8.10 Å と 8.20 Å は 0.10 Å しか離れていませんが、ビンの境界をまたぐので別の値に符号化されます。

4BXK のポケットを全原子で描いたもの。 χ1 を 120° 回すと青の原子はすべて動きますが、ヘッドが受け取るディストグラムはビット単位で同一です。

座標チャネルに寄与するのはオレンジの原子だけです。 代表原子でない原子は、このチャネルに何も寄与しません。 こうした読まれない原子は、多くの場合クロップ内の全原子の 80% 以上を占めます。 Cβ は χ1 の回転軸上にあるので、主鎖が同じ2つの側鎖ロータマーは、このチャネルに同一の入力を与えます。 受容体側の立体反発や水素結合、π スタッキングなどの効果は、このチャネルには直接は表れません。 また、距離行列であるため、入力は大域的な等長変換に対して不変です。 ですから学習された重みが何であれ、複合体全体を回転・並進・鏡映しても入力は変わりません。
以上はソースコードからの導出であって、実測ではありません。 実験はこれを裏づけました。 Boltz にパッチを当てて、解析的に効果がゼロになるはずの摂動を与えました。 どの標的でも、観測された変化は float32 の丸め誤差の範囲でゼロでした。 未読原子を 4 Å 揺らしても 10 Å 動かしても、値は変わりませんでした。
このチャネルが落とすのは原子だけではありません。 ヘッドが読むのは、選ばれたトークン対にわたる平均です。 その平均に入るのは両方向のリガンド↔受容体対とリガンド内の非対角対で、受容体↔受容体対と自己対は入りません。 しかし、受容体どうしの情報が完全に消えているわけではなく、スタックの中で対を作り直す段を通って流れ込んでいます。

プールされた平均が何の上で取られるかを、小さな受容体とリガンドの模式図で描いたもの。 (a) モジュールが走る順序。 曲線の矢印は、平均から外れる受容体↔受容体ブロックが、マスクを生き延びる対にどう届くかを示します。 (b) マスクをセルごとに見たもので、両方向のリガンド↔受容体対とリガンド内の非対角対が平均に入り、受容体↔受容体対と自己対は入りません。 (c) 対を作り直す1ステップで、対 (i, j) は行 i と行 j から作られ、行 j のマスクされた要素は落ちます。 格子は模式的なものです。 実際のクロップは、典型的には受容体トークンが最大 200 個、リガンドが数十個なので、除外されるブロックの割合は図よりはるかに大きくなります。

見ている構造は、採点されている構造ではない

1回の実行が生む2つの構造は異なると先に述べましたが、その2つは実際どれだけ違うのでしょうか。 調べた4標的 × 各6シードでは、標的ごとの中央値の最大が、リガンドの重原子 RMSD で 1.67 Å、原子ごとの最大変位で 3.35 Å でした。 とはいえ、リガンドが別の場所へ置き直されるわけではありません。 受容体を重ね合わせたうえでのリガンド重心の移動量は、標的ごとの中央値で 0.19–1.14 Å でした。 違いは全体の位置ではなく、同じ場所での向きと原子の並びに出ています。 つまり、報告されている値は「いま見ているポーズの親和性の値」ではありません。

3つのフォールドについて、書き出された構造のリガンドと、アフィニティヘッドが採点したリガンドを並べたもの。 重ね合わせは受容体で取っています — 両構造で残基名の一致する Cα を合わせた剛体変換を書き出し側に適用しただけで、リガンドどうしは合わせていません。 オレンジの線は、そのフォールドの受容体残差より大きく動いた原子です。 右端が極端な例で、同じ場所のまま、書き出された側が端から端まで反転しています。

実務的に最も分かりやすいのは立体化学です。 一部の化合物では、SMILES が指定するものとは別の立体異性体を表す構造が、構造予測として出力されることがあります。 --use_potentials は7つの物理的なステアリングポテンシャルを有効にし、そのうち2つが立体配置に効きます。 本研究で調べた範囲では、7つすべてを有効にすると書き出される構造は修正されました。 しかし、親和性予測パスはステアリングをすべて無効にしてクロップされた複合体を再拡散するため、採点される構造は SMILES が指定するものとは別の立体異性体を表したままになりえます。

ポーズを差し替えても、数値はほとんど動かない

クロップと上流の表現をビット単位で固定したまま、差し替えた座標を同じヘッドで採点し直しました。 差し替えた座標の供給源は4つ — 人工的に摂動させたポーズ、同じモデルが別シードで生成したポーズ、AutoDock Vina が生成したポーズ、そして各エントリの結晶構造ポーズです。
どのポーズに差し替えても、予測親和性の変化は3倍未満にとどまりました。 シードだけを変えて再実行したときの最大変化が2.4倍で、ポーズ差し替えが単一のフォールドで示した最大の2.8倍は、それをわずかに上回るだけでした(どちらも 4BXK の数字です)。 6フォールドで平均すると、再フォールドとポーズ差し替えの応答は同じオーダーでした。

クロップを固定したまま注入した、独立に生成したポーズ。 横軸は、そのフォールドが採点しているポーズからの距離です。 帯はその標的の再フォールド基準 — まったく同じ入力を再実行したときの振れ幅 — で、原点の赤い十字は自己注入のコントロールです。 縦軸は標的ごとにスケールが違うので、パネル間で高さを比べることはできません。

では何が動かすのか

介入 |Δ| の範囲(log₁₀(μM)) 倍率の最大
クロップ固定でポーズを差し替え 0.015–0.445 2.8×
クロップされる残基の差し替え 0.56–1.99 98×
リガンドの変更 0.48–2.00 100×
ポケット残基1つ → アラニン 0.14–2.40 251×

各行が数えているものは同じではありません。 ポーズ行はドッキング64モード×各6フォールドを、クロップ行とリガンド行は各構成1フォールドを、アラニン行は12置換×各6フォールドをまとめたものです。

本研究のすべての介入を共通の軸に載せ、パイプラインのどこで入るかでグループ分けしたもの。 破線が10倍、最下段がまったく同じ入力の再フォールドです。

デコイクロップは要求する受容体トークン数を 200 のまま保って場所だけを移すので、動かしているのはクロップの大きさではなく組成です。
詳細に評価した4標的とは無関係に選んだ20複合体(各3シード)でも同じ傾向で、リガンドのみの摂動は全件が 0.19 log 単位未満(1.6倍未満)にとどまる一方、クロップされるものが変わると予測親和性が 100倍を超えて動く複合体もありました。

構造予測ポーズは何に効いているか?

構造予測ポーズは無関係なのではなく、効く経路が違います。 クロッパーは残基をリガンドからの距離で順位づけるので、構造予測パスが出力した座標が、親和性予測パスに与えられる残基集合を決めます。 そして親和性予測パスは、その選択から特徴量・トランク表現・自身のリガンド配置を作り直します。
クロップが決まる前にリガンドを 4 Å ずらすと、クロップが決まった後にどのポーズへ差し替えるよりも大きな応答が全標的で出ました。

クロッパーを挟んだ前後で、同じ操作を行ったもの。 上段がどこで入るか、下段がそのときの応答の大きさで、縦棒は各標的の再フォールド基準です。 白丸は各系列の6フォールド、塗りつぶしがそのうち最大のものです。 2つのラダーは刻みが異なり、クロップ前が 4 Å、クロップ後が 5 Å です。

親和性予測モデルを使う側にとっての注意点

親和性予測値を、隣に描かれたポーズの点数として読まないこと。 クロップを固定したままポーズを良くしてもよい予測になるとは期待できないこと。 また、バーチャルスクリーニングでは、AffinityCropper がクロップを各リガンド自身のフォールドから選ぶ点に注意が必要です。 つまり、同じライブラリの2つの化合物が、同じ残基集合を使って採点されるとは限らないということです。
その影響の大きさを測るために、ChEMBL に結合活性の測定値が報告されている TYK2 阻害剤32件を取り、それぞれを 4GIH に対して、Boltz を通常どおり走らせたときのクロップと、リガンドから最も遠い側へ移したデコイクロップの2通りで実行しました。 デコイクロップにすると、予測親和性は平均 +1.10 log 単位動き、32件の9割で予測値が弱い結合の側へ動きました。 pChEMBL 値が 7.0 以上の20件を活性とみなすと、通常のクロップはこのうち17件を 1 μM より強いと判定しましたが、デコイクロップでは10件にとどまりました。 デコイクロップは通常の実行では起こらない設定ですが、何がクロップされるかが親和性予測に強く影響することがわかります。
最後に、本研究が測ったのはポーズへの感度であって、親和性予測値が使えないという話ではありません。 測っているのは1複合体ずつの値の動きで、ライブラリを順位づける力までは見ていません。 上の32件でも、予測値による順位は実験の活性ラベルと、偶然の期待を超えて一致しました(ラベルを入れ替えた帰無分布に対して p ≈ 0.002)。 スクリーニング規模では、ポーズの質が順位に効くことも報告されています [2]。 1複合体の中での 0.1 log 単位の応答と、数万化合物を並べたときの順位づけは、評価のスケールが違います。 前者が小さいことは、後者の性能が低いことを意味しません。

適用範囲

本稿の主張は、調べた複合体と実験条件から言えることに限られます。 詳細に評価したのは4複合体 × 各6シードです。 一連の座標摂動とデコイクロップは、詳細に評価した4複合体に20複合体を加えた24複合体で行っています。 座標摂動だけなら、この24複合体の外にさらに3つの系で行っています。 また、詳細な検討をした4標的のうち3つは、調べたすべてのシードで Boltz がリガンドの立体化学を誤った複合体から選んだものです。 本研究はオープンソースの Boltz 2.2.1 に基づくもので、ほかのバージョンやフォークは調べていません。

References

  1. Bret, G.; Sindt, F.; Rognan, D. Assessing Boltz-2 performance for the binding classification of docking hits. J. Chem. Inf. Model. 2026, 66, 1511–1521. DOI: 10.1021/acs.jcim.5c02630.
  2. Furui, K.; Ohue, M. Boltzina: efficient and accurate virtual screening via docking-guided binding prediction with Boltz-2. arXiv 2025, arXiv:2508.17555v1. DOI: 10.48550/arXiv.2508.17555.
  3. Kim, J.; Correy, G. J.; Hall, B. W.; Rachman, M. M.; Mailhot, O.; Togo, T.; Gonciarz, R. L.; Jaishankar, P.; Neitz, R. J.; Hantz, E. R.; Doruk, Y. U.; Stevens, M. G. V.; Diolaiti, M. E.; Reid, R.; Gopalkrishnan, S.; Krogan, N. J.; Renslo, A. R.; Ashworth, A.; Shoichet, B. K.; Fraser, J. S. Large scale prospective evaluation of co-folding across 557 Mac1–ligand complexes and three virtual screens. bioRxiv 2025. DOI: 10.64898/2025.12.25.696505.

Preprint: Pose-to-Affinity Information Flow in Boltz-2: Pathways and Response Magnitude. DOI: 10.26434/chemrxiv.15006767
Source code and all result files: https://github.com/xeureka-research/boltz2-affinity-pose-sensitivity

一覧へ戻る