(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-14
(54)【発明の名称】タンパク質構造埋め込みに条件付けられる生成モデルを使用したタンパク質アミノ酸配列の予測
(51)【国際特許分類】
G16B 15/20 20190101AFI20240206BHJP
G16B 40/20 20190101ALI20240206BHJP
【FI】
G16B15/20
G16B40/20
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023545862
(86)(22)【出願日】2022-01-27
(85)【翻訳文提出日】2023-09-25
(86)【国際出願番号】 EP2022051942
(87)【国際公開番号】W WO2022167325
(87)【国際公開日】2022-08-11
(32)【優先日】2021-02-05
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】517030789
【氏名又は名称】ディープマインド テクノロジーズ リミテッド
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】アンドリュー・ダブリュー・シニア
(72)【発明者】
【氏名】サイモン・コール
(72)【発明者】
【氏名】ジェイソン・イム
(72)【発明者】
【氏名】ラッセル・ジェームズ・ベイツ
(72)【発明者】
【氏名】カタリン-ドゥミトル・イオネスク
(72)【発明者】
【氏名】チャーリー・トーマス・カーティス・ナッシュ
(72)【発明者】
【氏名】アリ・ラザヴィ-ネマトラヒ
(72)【発明者】
【氏名】アレクサンダー・プリッツェル
(72)【発明者】
【氏名】ジョン・ジャンパー
(57)【要約】
タンパク質の設計を実行するための、コンピュータストレージ媒体上に符号化されたコンピュータプログラムを含む方法、システム、および装置。一態様においては、方法が、標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、標的タンパク質の標的タンパク質構造を特徴付ける入力を処理するステップ、標的タンパク質構造の埋め込みに基づいて、標的タンパク質の予測されたアミノ酸配列を決定するステップであって、標的タンパク質構造の埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けること、および標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することを含む、ステップを含む。
【特許請求の範囲】
【請求項1】
1つまたは複数のデータ処理装置によって実行される方法であって、
標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、前記標的タンパク質の前記標的タンパク質構造を特徴付ける入力を処理するステップと、
前記標的タンパク質構造の前記埋め込みに基づいて、前記標的タンパク質の予測されたアミノ酸配列を決定するステップであって、
前記標的タンパク質構造の前記埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けるステップと、
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成するステップと
を含む、ステップと、
前記予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用して前記予測されたアミノ酸配列の前記表現を処理するステップと、
(i)前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造と、(ii)前記標的タンパク質構造との間の構造類似性測定値を決定するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定するステップと、
前記構造類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
を含む、方法。
【請求項2】
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定するステップが、
前記構造類似性測定値の勾配を、前記タンパク質フォールディングニューラルネットワークを通して前記生成ニューラルネットワークおよび前記埋め込みニューラルネットワーク中に逆伝播するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記予測されたアミノ酸配列が前記生成ニューラルネットワークを使用して生成された見込みを定義する現実性スコアを生成するために、識別器ニューラルネットワークを使用して、前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造の前記表現を処理するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記現実性スコアの勾配を決定するステップと、
前記現実性スコアの前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記現実性スコアの勾配を決定するステップが、
前記現実性スコアの勾配を、前記識別器ニューラルネットワークおよび前記タンパク質フォールディングニューラルネットワークを通して前記生成ニューラルネットワークおよび前記埋め込みニューラルネットワーク中に逆伝播するステップ
を含む、請求項3に記載の方法。
【請求項5】
前記現実性スコアを生成することが、前記識別器ニューラルネットワークを使用して、(i)前記予測されたアミノ酸配列を有する前記予測されたタンパク質構造の前記表現と、(ii)前記予測されたアミノ酸配列の前記表現との両方を含む入力を処理するステップを含む、請求項3または4に記載の方法。
【請求項6】
(i)前記標的タンパク質の前記予測されたアミノ酸配列と、(ii)前記標的タンパク質の目標アミノ酸配列との間の配列類似性測定値を決定するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記配列類似性測定値の勾配を決定するステップと、
前記配列類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記標的タンパク質構造を特徴付ける前記埋め込みニューラルネットワーク入力が、(i)前記標的タンパク質構造内のアミノ酸のペアの間の距離を特徴付ける、前記標的タンパク質内のアミノ酸の各ペアに対応するそれぞれの初期ペア埋め込みおよび(ii)前記標的タンパク質内の各アミノ酸に対応するそれぞれの初期単一埋め込みを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記埋め込みニューネットワークが更新ブロックのシーケンスを含み、
各更新ブロックが、更新ブロックパラメータのそれぞれのセットを有し、
現在のペア埋め込みおよび現在の単一埋め込みを受け取ることと、
前記更新ブロックの前記更新ブロックパラメータの値に従って、前記現在のペア埋め込みに基づいて前記現在の単一埋め込みを更新することと、
前記更新ブロックの前記更新ブロックパラメータの前記値に従って、更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することと
を含む動作を実行し、
更新ブロックの前記シーケンスの中の最初の更新ブロックが、前記初期ペア埋め込みおよび前記初期単一埋め込みを受け取り、
更新ブロックの前記シーケンスの中の最後の更新ブロックが、最終的なペア埋め込みおよび最終的な単一埋め込みを生成する、
請求項7に記載の方法。
【請求項9】
前記標的タンパク質の前記標的タンパク質構造の前記埋め込みを生成することが、
前記最終的なペア埋め込み、前記最終的な単一埋め込み、または前記最終的なペア埋め込みと前記最終的な単一埋め込みとの両方に基づいて、前記標的タンパク質の前記標的タンパク質構造の前記埋め込みを生成することを含む、請求項8に記載の方法。
【請求項10】
前記現在のペア埋め込みに基づいて前記現在の単一埋め込みを更新することが、
前記現在の単一埋め込み上のアテンションを使用して前記現在の単一埋め込みを更新することであって、前記アテンションが、前記現在のペア埋め込みに条件付けられる、ことを含む、請求項8または9に記載の方法。
【請求項11】
前記現在の単一埋め込み上のアテンションを使用して前記現在の単一埋め込みを更新することが、
前記現在の単一埋め込みに基づいて、複数のアテンション重みを生成することと、
前記現在のペア埋め込みに基づいて、前記アテンション重みの各々に対応するそれぞれのアテンションバイアスを生成することと、
前記アテンション重みおよび前記アテンションバイアスに基づいて、複数の偏りのあるアテンション重みを生成することと、
前記偏りのあるアテンション重みに基づいて前記現在の単一埋め込みのアテンションを使用して前記現在の単一埋め込みを更新することと
を含む、請求項10に記載の方法。
【請求項12】
前記更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することが、
前記更新された単一埋め込みに変換動作を適用することと、
前記変換動作の結果を前記現在のペア埋め込みに加算することによって前記現在のペア埋め込みを更新することと
を含む、請求項8から11のいずれか一項に記載の方法。
【請求項13】
前記変換動作が、外積演算を含む、請求項12に記載の方法。
【請求項14】
前記更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することが、前記変換動作の前記結果を前記現在のペア埋め込みに加算した後に、
前記現在のペア埋め込み上のアテンションを使用して前記現在のペア埋め込みを更新することであって、前記アテンションが、前記現在のペア埋め込みに条件付けられる、こと
をさらに含む、請求項12または13に記載の方法。
【請求項15】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の前記表現を生成することが、
潜在空間上の確率分布のパラメータを定義するデータを生成するために、前記標的タンパク質構造の前記埋め込みを処理することと、
前記潜在空間上の前記確率分布に従って、前記潜在空間から潜在変数をサンプリングすることと、
前記予測されたアミノ酸配列の前記表現を生成するために、前記潜在空間からサンプリングされた前記潜在変数を処理することと
を含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の前記表現を生成することが、前記予測されたアミノ酸配列内の各位置に関して、
可能なアミノ酸のセット上の確率分布を生成するために、(i)前記標的タンパク質構造の前記埋め込み、および(ii)前記予測されたアミノ酸配列内の任意の先行する位置のアミノ酸を定義するデータを処理することと、
可能なアミノ酸の前記セット上の前記確率分布に従って、可能なアミノ酸の前記セットから、前記予測されたアミノ酸配列内の前記位置のためのアミノ酸をサンプリングすることと
を含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
目標物体の表面部分の3次元形状およびサイズの表現を取得するステップと、前記目標物体の前記表面部分の前記形状および前記サイズと相補的な形状およびサイズを有する部分を含む構造として前記標的タンパク質構造を取得するステップとをさらに含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
結合標的のリガンドを取得する方法であって、
前記リガンドの前記結合標的の表面部分の3次元形状およびサイズの表現を取得するステップと、
前記結合標的の前記表面部分の前記形状および前記サイズと相補的な形状およびサイズを有する部分を含む構造として標的タンパク質構造を取得するステップと、
請求項1から17のいずれか一項に記載の方法を使用してトレーニングされた埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、前記標的タンパク質構造を有すると予測される1つまたは複数の対応する標的タンパク質のアミノ酸配列を決定するステップと、
前記結合標的との前記1つまたは複数の標的タンパク質の相互作用を評価するステップと、
評価の結果に応じて、前記標的タンパク質のうちの1つまたは複数を前記リガンドとして選択するステップと
を含む、方法。
【請求項19】
前記結合標的が、受容体または酵素を含み、前記リガンドが、前記受容体または前記酵素のアゴニストまたはアンタゴニストである、請求項18に記載の方法。
【請求項20】
前記結合標的が、ウイルスタンパク質または癌細胞タンパク質を含む抗原である、請求項18に記載の方法。
【請求項21】
前記結合標的が、疾患に関連するタンパク質であり、前記標的タンパク質が、前記疾患の診断用抗体マーカーとして選択される、請求項18に記載の方法。
【請求項22】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成することが、前記予測されたアミノ酸配列に含まれるべきアミノ酸配列に条件付けられる、請求項1から21のいずれか一項に記載の方法。
【請求項23】
請求項1から17のいずれか一項に記載の方法を使用してトレーニングされた埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、標的タンパク質構造を有すると予測される標的タンパク質のアミノ酸配列を決定するステップと、
決定されたアミノ酸配列を有する前記標的タンパク質を物理的に合成するステップと
を含む、方法。
【請求項24】
1つまたは複数のデータ処理装置によって実行される方法であって、
標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、前記標的タンパク質の前記標的タンパク質構造を特徴付ける入力を処理するステップ、
前記標的タンパク質構造の前記埋め込みに基づいて、前記標的タンパク質の予測されたアミノ酸配列を決定するステップであって、
前記標的タンパク質構造の前記埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けるステップと、
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成するステップと
を含む、ステップを含み、
前記埋め込みニューラルネットワークおよび前記生成ニューラルネットワークが、トレーニングタンパク質のセットの中の各トレーニングタンパク質に関して、
前記埋め込みニューラルネットワークおよび前記生成ニューラルネットワークを使用して、前記トレーニングタンパク質の予測されたアミノ酸配列を生成することと、
前記予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用して前記トレーニングタンパク質の前記予測されたアミノ酸配列の表現を処理することと、
(i)前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造と、(ii)前記トレーニングタンパク質のトレーニングタンパク質構造との間の構造類似性測定値を決定することと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定することと、
前記構造類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの値を調整することと
を含む動作によって共同でトレーニングされる、方法。
【請求項25】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能なように結合される1つまたは複数のストレージデバイスであって、前記1つまたは複数のコンピュータによって実行されるときに前記1つまたは複数のコンピュータに請求項1から17または24のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を記憶する、1つまたは複数のストレージデバイスと
を含む、システム。
【請求項26】
1つまたは複数のコンピュータによって実行されるときに前記1つまたは複数のコンピュータに請求項1から17または24のいずれか一項に記載のそれぞれの方法の動作を実行させる命令を記憶する、1つまたは複数の非一時的コンピュータストレージ媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、指定されたタンパク質構造を実現するためのタンパク質の設計に関する。
【背景技術】
【0002】
タンパク質は、アミノ酸の1つまたは複数の配列によって規定される。アミノ酸は、アミノ官能基およびカルボキシル官能基ならびにアミノ酸に固有の側鎖(すなわち、原子のグループ)を含む有機化合物である。
【0003】
タンパク質フォールディングは、アミノ酸の配列が3次元構成に折り畳まれる物理的なプロセスを指す。タンパク質の構造は、タンパク質がタンパク質フォールディングを経た後の、タンパク質のアミノ酸配列内の原子の3次元構成を定義する。ペプチド結合によって連結された配列内にあるとき、アミノ酸は、アミノ酸残基と呼ばれる場合がある。
【0004】
機械学習モデルを使用して予測を行うことができる。機械学習モデルは、入力を受け取り、受け取られた入力に基づいて出力、たとえば予測される出力を生成する。一部の機械学習モデルは、パラメトリックモデルであり、受け取られた入力およびモデルのパラメータの値に基づいて出力を生成する。一部の機械学習モデルは、受け取られた入力に関する出力を生成するためにモデルの複数の層を使用する深層モデル(deep model)である。たとえば、深層ニューラルネットワークは、出力を生成するために受け取られた入力に非線形変換をそれぞれ適用する出力層および1つまたは複数の隠れ層を含む深層機械学習モデルである。
【先行技術文献】
【非特許文献】
【0005】
【非特許文献1】A. Vaswaniら、"Attention is all you need"、21st Conference on Neural Informational Processing Systems (NIPS 2017)
【非特許文献2】Jimmy Lei Baら、"Layer Normalization"、arXiv: 1607.06450
【発明の概要】
【課題を解決するための手段】
【0006】
本明細書は、タンパク質構造に折り畳まれると予測されるタンパク質のアミノ酸配列を生成するためにタンパク質構造を定義するデータを処理する、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されるタンパク質設計システムを説明する。
【0007】
本明細書全体を通じて使用されるとき、用語「タンパク質」は、アミノ酸の1つまたは複数の配列によって規定される任意の生体分子を指すと理解されてもよい。たとえば、タンパク質という用語は、タンパク質ドメイン(すなわち、アミノ酸配列の残りの部分からほぼ独立してタンパク質フォールディングを経ることができるアミノ酸配列の一部分)またはタンパク質複合体(すなわち、複数の関連するアミノ酸配列によって規定される)を指すと理解されてもよい。
【0008】
本明細書全体を通じて、埋め込みは、数値の順序付けられた集合、たとえば数値のベクトルまたは行列を指す。
【0009】
第1の態様によれば、1つまたは複数のデータ処理装置によって実行される方法であって、標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、標的タンパク質の標的タンパク質構造を特徴付ける入力を処理するステップと、標的タンパク質構造の埋め込みに基づいて、標的タンパク質の予測されたアミノ酸配列を決定するステップであって、標的タンパク質構造の埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けること、および標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することを含む、ステップと、予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用して、予測されたアミノ酸配列の表現を処理するステップと、(i)予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造と、(ii)標的タンパク質構造との間の構造類似性測定値を決定するステップと、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する構造類似性測定値の勾配を決定するステップと、構造類似性測定値の勾配を使用して、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータの現在の値を調整するステップとを含む、方法が提供される。
【0010】
一部の実装において、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する構造類似性測定値の勾配を決定するステップは、構造類似性測定値の勾配を、タンパク質フォールディングニューラルネットワークを通して生成ニューラルネットワークおよび埋め込みニューラルネットワーク中に逆伝播することを含む。
【0011】
一部の実装において、方法は、予測されたアミノ酸配列が生成ニューラルネットワークを使用して生成された見込み(likelihood)を定義する現実性スコア(realism score)を生成するために、識別器(discriminator)ニューラルネットワークを使用して、予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を処理するステップと、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する現実性スコアの勾配を決定するステップと、現実性スコアの勾配を使用して、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータの現在の値を調整するステップとをさらに含む。
【0012】
一部の実装において、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する現実性スコアの勾配を決定するステップは、現実性スコアの勾配を、識別器ニューラルネットワークおよびタンパク質フォールディングニューラルネットワークを通して生成ニューラルネットワークおよび埋め込みニューラルネットワーク中に逆伝播することを含む。
【0013】
一部の実装において、現実性スコアを生成することは、識別器ニューラルネットワークを使用して、(i)予測されたアミノ酸配列を有する予測されたタンパク質構造の表現と、(ii)予測されたアミノ酸配列の表現との両方を含む入力を処理することを含む。
【0014】
一部の実装において、方法は、(i)標的タンパク質の予測されたアミノ酸配列と、(ii)標的タンパク質の目標アミノ酸配列との間の配列類似性測定値を決定するステップと、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する配列類似性測定値の勾配を決定するステップと、配列類似性測定値の勾配を使用して、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータの現在の値を調整するステップとをさらに含む。
【0015】
一部の実装において、標的タンパク質構造を特徴付ける埋め込みニューラルネットワーク入力は、(i)標的タンパク質構造内のアミノ酸のペアの間の距離を特徴付ける、標的タンパク質内のアミノ酸の各ペアに対応するそれぞれの初期ペア埋め込み、および(ii)標的タンパク質内の各アミノ酸に対応するそれぞれの初期単一埋め込みを含む。
【0016】
一部の実装において、埋め込みニューネットワークは、更新ブロックのシーケンスを含み、各更新ブロックが、更新ブロックパラメータのそれぞれのセットを有し、現在のペア埋め込みおよび現在の単一埋め込みを受け取る動作、更新ブロックの更新ブロックパラメータの値に従って、現在のペア埋め込みに基づいて現在の単一埋め込みを更新する動作、および更新ブロックの更新ブロックパラメータの値に従って、更新された単一埋め込みに基づいて現在のペア埋め込みを更新する動作を含む動作を実行し、更新ブロックのシーケンスの中の最初の更新ブロックは、初期ペア埋め込みおよび初期単一埋め込みを受け取り、更新ブロックのシーケンスの中の最後の更新ブロックは、最終的なペア埋め込みおよび最終的な単一埋め込みを生成する。
【0017】
一部の実装において、標的タンパク質の標的タンパク質構造の埋め込みを生成することは、最終的なペア埋め込み、最終的な単一埋め込み、または最終的なペア埋め込みと最終的な単一埋め込みとの両方に基づいて、標的タンパク質の標的タンパク質構造の埋め込みを生成することを含む。
【0018】
一部の実装において、現在のペア埋め込みに基づいて現在の単一埋め込みを更新する動作は、現在の単一埋め込み上のアテンションを使用して現在の単一埋め込みを更新することであって、アテンションが、現在のペア埋め込みに条件付けられる、更新することを含む。
【0019】
一部の実装において、現在の単一埋め込み上のアテンションを使用して現在の単一埋め込みを更新することは、現在の単一埋め込みに基づいて、複数のアテンション重み(attention weight)を生成することと、現在のペア埋め込みに基づいて、アテンション重みの各々に対応するそれぞれのアテンションバイアス(attention bias)を生成することと、アテンション重みおよびアテンションバイアスに基づいて、複数の偏りのあるアテンション重み(biased attention weight)を生成することと、偏りのあるアテンション重みに基づいて現在の単一埋め込みのアテンションを使用して現在の単一埋め込みを更新することとを含む。
【0020】
一部の実装において、更新された単一埋め込みに基づいて現在のペア埋め込みを更新する動作は、更新された単一埋め込みに変換動作を適用することと、変換動作の結果を現在のペア埋め込みに加算することによって、現在のペア埋め込みを更新することとを含む。
【0021】
一部の実装において、変換動作は、外積演算を含む。
【0022】
一部の実装において、更新された単一埋め込みに基づいて現在のペア埋め込みを更新する動作は、変換動作の結果を現在のペア埋め込みに加算した後に、現在のペア埋め込み上のアテンションを使用して現在のペア埋め込みを更新することであって、アテンションが、現在のペア埋め込みに条件付けられる、更新することをさらに含む。
【0023】
一部の実装において、標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することは、潜在空間上の確率分布のパラメータを定義するデータを生成するために、標的タンパク質構造の埋め込みを処理することと、潜在空間上の確率分布に従って、潜在空間から潜在変数をサンプリングすることと、予測されたアミノ酸配列の表現を生成するために、潜在空間からサンプリングされた潜在変数を処理することとを含む。
【0024】
一部の実装において、標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することは、予測されたアミノ酸配列内の各位置に関して、可能なアミノ酸のセット上の確率分布を生成するために、(i)標的タンパク質構造の埋め込み、および(ii)予測されたアミノ酸配列内の任意の先行する位置のアミノ酸を定義するデータを処理することと、可能なアミノ酸のセット上の確率分布に従って、可能なアミノ酸のセットから、予測されたアミノ酸配列内の位置のためのアミノ酸をサンプリングすることとを含む。
【0025】
一部の実装において、方法は、目標物体の表面部分の3次元形状およびサイズの表現を取得するステップと、目標物体の表面部分の形状およびサイズと相補的な形状およびサイズを有する部分を含む構造として標的タンパク質構造を取得するステップとをさらに含む。
【0026】
別の態様によれば、結合標的(binding target)のリガンドを取得する方法であって、リガンドの結合標的の表面部分の3次元形状およびサイズの表現を取得するステップと、結合標的の表面部分の形状およびサイズと相補的な形状およびサイズを有する部分を含む構造として標的タンパク質構造を取得するステップと、埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、標的タンパク質構造を有すると予測される1つまたは複数の対応する標的タンパク質のアミノ酸配列を決定するステップと、結合標的との1つまたは複数の標的タンパク質の相互作用を評価するステップと、評価の結果に応じて、標的タンパク質のうちの1つまたは複数をリガンドとして選択するステップとを含む、方法が提供される。
【0027】
一部の実装において、結合標的は、受容体または酵素を含み、リガンドは、受容体または酵素のアゴニストまたはアンタゴニストである。
【0028】
一部の実装において、結合標的は、ウイルスタンパク質または癌細胞タンパク質を含む抗原である。
【0029】
一部の実装において、結合標的は、疾患に関連するタンパク質であり、標的タンパク質は、疾患の診断用抗体マーカーとして選択される。
【0030】
一部の実装において、標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することは、予測されたアミノ酸配列に含まれるべきアミノ酸配列に条件付けられる。
【0031】
別の態様によれば、埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、標的タンパク質構造を有すると予測される標的タンパク質のアミノ酸配列を決定するステップと、決定されたアミノ酸配列を有する標的タンパク質を物理的に合成するステップとを含む方法が提供される。
【0032】
別の態様によれば、1つまたは複数のデータ処理装置によって実行される方法であって、標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、標的タンパク質の標的タンパク質構造を特徴付ける入力を処理するステップ、標的タンパク質構造の埋め込みに基づいて、標的タンパク質の予測されたアミノ酸配列を決定するステップであって、標的タンパク質構造の埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けること、および標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成することを含む、ステップを含み、埋め込みニューラルネットワークおよび生成ニューラルネットワークが、トレーニングタンパク質のセットの中の各トレーニングタンパク質に関して、埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、トレーニングタンパク質の予測されたアミノ酸配列を生成する動作、予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用してトレーニングタンパク質の予測されたアミノ酸配列の表現を処理する動作、(i)予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造と、(ii)トレーニングタンパク質のトレーニングタンパク質構造との間の構造類似性測定値を決定する動作、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータに関する構造類似性測定値の勾配を決定する動作、ならびに構造類似性測定値の勾配を使用して、埋め込みニューラルネットワークパラメータおよび生成ニューラルネットワークパラメータの値を調整する動作を含む動作によって共同でトレーニングされる、方法が提供される。
【0033】
別の態様によれば、1つまたは複数のコンピュータと、1つまたは複数のコンピュータに通信可能なように結合される1つまたは複数のストレージデバイスであって、1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに本明細書において説明される方法の動作を実行させる命令を記憶する、1つまたは複数のストレージデバイスとを含むシステムが提供される。
【0034】
1つまたは複数のコンピュータによって実行されるときに1つまたは複数のコンピュータに本明細書において説明される方法の動作を実行させる命令を記憶する1つまたは複数の非一時的コンピュータストレージ媒体。
【0035】
本明細書に記載の対象の特定の実施形態は、以下の利点のうちの1つまたは複数を実現するように実装されることが可能である。
【0036】
本明細書に記載のタンパク質設計システムは、タンパク質の構造に基づいてタンパク質のアミノ酸配列を予測することができる。より詳細には、タンパク質設計システムは、タンパク質構造埋め込みを生成するためにタンパク質構造を定義する構造パラメータのセットを処理し、タンパク質構造埋め込みに条件付けられる生成ニューラルネットワークを使用して、タンパク質構造を有すると予測されるタンパク質のアミノ酸配列を生成する。
【0037】
タンパク質構造埋め込みを生成するために、タンパク質設計システムは、タンパク質内のアミノ酸の各ペアに対応するそれぞれの「ペア」埋め込みと、タンパク質内の各アミノ酸に対応するそれぞれの「単一」埋め込みとを初期化することができる。タンパク質設計システムは、埋め込みニューラルネットワークを使用して、単一埋め込みを使用してペア埋め込みを更新することと、ペア埋め込みを使用して単一埋め込みを更新することを交互に行う。単一埋め込みを使用してペア埋め込みを更新することは、単一埋め込みに符号化された相補的な情報を使用してペア埋め込みの情報内容を充実させる。逆に、ペア埋め込みを使用して単一埋め込みを更新することは、ペア埋め込みに符号化された相補的な情報を使用して単一埋め込みの情報内容を充実させる。ペア埋め込みおよび単一埋め込みを更新した後、タンパク質設計システムは、ペア埋め込み、単一埋め込み、またはそれら両方に基づいてタンパク質構造埋め込みを生成する。ペア埋め込みおよびシングル埋め込みの充実させた情報内容は、タンパク質構造埋め込みに、タンパク質構造に折り畳まれるアミノ酸配列を予測することにより関連性のある情報を符号化させ、それによって、タンパク質設計システムがアミノ酸配列をより正確に予測することを可能にする。
【0038】
本明細書に記載のトレーニングシステムは、「構造損失」を最適化するようにタンパク質設計システムをトレーニングすることができる。構造損失を評価するために、トレーニングシステムは、対応するアミノ酸配列を生成するためにタンパク質設計システムを使用して「目標」タンパク質構造を処理し、次に、アミノ酸配列を有するタンパク質の構造を予測するためにタンパク質フォールディングニューラルネットワークを使用してアミノ酸配列を処理することができる。トレーニングシステムは、(i)タンパク質設計システムによって生成されたタンパク質の予測されたタンパク質構造と、(ii)標的タンパク質構造との間の誤差に基づいて構造損失を決定する。構造損失は、「構造空間」、すなわち可能なタンパク質構造の空間におけるタンパク質設計システムの精度を評価する。対照的に、(i)トレーニング例のアミノ酸配列と、(ii)トレーニング例のタンパク質構造を入力として受け取ったときにタンパク質設計システムによって生成されたアミノ酸配列との間の類似性を測定する「配列損失」は、「配列空間」、すなわち可能なアミノ酸配列の空間におけるタンパク質設計システムの精度を評価する。したがって、構造損失を使用して生成されたタンパク質設計システムパラメータに対する更新は、配列損失を使用して生成されたタンパク質設計システムパラメータに対する更新と相補的である。構造損失を最適化するようにタンパク質設計システムをトレーニングすることは、タンパク質設計システムが、より少ないトレーニングの反復で許容可能な性能(たとえば、特定の許容レベル以内の、標的タンパク質構造を確かに有するタンパク質に対応するアミノ酸配列を生成する高い成功率などの予測精度)を実現する(それによって、トレーニング中の計算リソース、たとえばメモリおよび計算能力の消費を削減する)ことを可能にすることができ、トレーニングされたタンパク質設計システムの予測精度を向上させることができる。
【0039】
また、トレーニングシステムは、タンパク質設計システムによって生成されたタンパク質が、たとえば自然界に存在し得る「現実の」タンパク質の特性を有するかどうかを特徴付ける「現実性損失(realism loss)」を最適化するようにタンパク質設計システムをトレーニングすることができる。たとえば、現実性損失は、タンパク質設計システムによって生成されたタンパク質が現実のタンパク質に当てはまる生化学的制約に違反するかどうかを暗黙的に特徴付けることができる。現実性損失を最適化するようにタンパク質設計システムをトレーニングすることは、タンパク質設計システムが、より少ないトレーニングの反復で許容可能な性能(たとえば、予測精度)を実現することを可能にする(それによって、トレーニング中の計算リソース、たとえばメモリおよび計算能力の消費を削減する)ことができ、トレーニングされたタンパク質設計システムの予測精度を向上させることができる。さらに、トレーニングシステムは、タンパク質設計システムによって生成された「合成タンパク質」を現実のタンパク質と区別する複雑で高レベルの特徴を特定することを自動的に学習することができる識別器ニューラルネットワークを使用して現実性損失を評価し、それによって、タンパク質の現実性を評価する機能を手動で設計するすべての必要性を排除する。
【0040】
本明細書の対象の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
【図面の簡単な説明】
【0041】
【
図1】例示的なタンパク質設計システムを示す図である。
【
図2】タンパク質設計システムに含まれる埋め込みニューラルネットワークの例示的なアーキテクチャを示す図である。
【
図3】埋め込みニューラルネットワークの更新ブロックの例示的なアーキテクチャを示す図である。
【
図4】単一埋め込み更新ブロックの例示的なアーキテクチャを示す図である。
【
図5】ペア埋め込み更新ブロックの例示的なアーキテクチャを示す図である。
【
図6】タンパク質設計システムをトレーニングするための例示的なトレーニングシステムを示す図である。
【
図7】標的タンパク質構造を有する標的タンパク質の予測されたアミノ酸配列を決定するための例示的なプロセスの流れ図である。
【発明を実施するための形態】
【0042】
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
【0043】
図1は、例示的なタンパク質設計システム100を示す。タンパク質設計システム100は、以下で説明されるシステム、コンポーネント、および技術が実装される、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
【0044】
タンパク質設計システム100は、タンパク質構造を実現すると予測される、すなわちタンパク質フォールディングを経た後のタンパク質のアミノ酸配列108の表現を生成するために、タンパク質構造を表す構造パラメータ102のセットを処理するように構成される。
【0045】
タンパク質設計システム100は、たとえばタンパク質設計システム100によって利用可能にされたアプリケーションプログラミングインターフェース(API)を通じて、タンパク質設計システム100の遠隔に位置するユーザから、タンパク質構造を表す構造パラメータ102を受け取ることができる。
【0046】
タンパク質構造を定義するタンパク質構造パラメータ102は、様々なフォーマットで表すことができる。タンパク質構造パラメータ102の可能なフォーマットのいくつかの例が、次に詳細に説明される。
【0047】
一部の実装において、タンパク質構造パラメータ102は、距離マップ(distance map)として表現される。距離マップは、タンパク質のアミノ酸の各ペアに関して、タンパク質構造内のアミノ酸のペアの間のそれぞれの距離を定義する。タンパク質構造内の第1のアミノ酸と第2のアミノ酸との間の距離は、タンパク質構造内の第1のアミノ酸の指定された原子と第2のアミノ酸の指定された原子との間の距離を指し得る。指定された原子は、たとえばアルファ炭素原子、すなわちアミノ官能基、カルボキシル官能基、およびアミノ酸の側鎖が結合されているアミノ酸内の炭素原子であってもよい。アミノ酸の間の距離は、たとえばオングストロームで測定され得る。
【0048】
一部の実装において、構造パラメータは、3次元(3D)数値座標(たとえば、3Dベクトルとして表される)のシーケンスとして表され、各座標は、タンパク質のアミノ酸内の対応する原子の(何らかの所与の座標系における)位置を表す。たとえば、構造パラメータは、タンパク質のアミノ酸内のアルファ炭素原子のそれぞれの位置を表す3D数値座標のシーケンスであってもよい。さらなる例として、構造パラメータは、タンパク質内のアミノ酸のバックボーン原子(backbone atom)のねじれ角を定義し得る。
【0049】
タンパク質設計システム100によって生成されたアミノ酸配列108は、可能なアミノ酸のセットから、どのアミノ酸がタンパク質のアミノ酸配列内の各位置を占めるかを定義する。可能なアミノ酸のセットは、20個のアミノ酸、たとえばアラニン、アルギニン、アスパラギンなどを含み得る。
【0050】
タンパク質設計システム100は、(i)埋め込みニューラルネットワーク200、および(ii)生成ニューラルネットワーク106を使用して、タンパク質構造を実現すると予測されるタンパク質のアミノ酸配列108を生成し、これらのニューラルネットワークが、次にそれぞれより詳細に説明される。
【0051】
埋め込みニューラルネットワーク200は、タンパク質構造埋め込み104と呼ばれるタンパク質構造の埋め込みを生成するためにタンパク質構造パラメータ102を処理するように構成される。タンパク質構造埋め込み104は、タンパク質構造を実現するタンパク質のアミノ酸配列を予測することに関連性のあるタンパク質構造の様々な特徴を暗黙的に表す。
【0052】
埋め込みニューラルネットワーク200は、埋め込みニューラルネットワーク200がその説明された機能、たとえばタンパク質構造埋め込み104を生成するためにタンパク質構造を定義するタンパク質構造パラメータ102を処理することを実行することを可能にする任意の適切なニューラルネットワークアーキテクチャを有することが可能である。埋め込みニューラルネットワーク200の例示的なアーキテクチャは、
図2を参照してより詳細に説明される。
【0053】
生成ニューラルネットワーク106は、タンパク質構造を実現すると予測されるタンパク質のアミノ酸配列108を定義するデータを生成するためにタンパク質構造埋め込み104を処理するように構成される。アミノ酸配列108の生成の一部として生成ニューラルネットワーク106によって処理されるように、タンパク質構造埋め込み104を生成ニューラルネットワーク106に提供することは、タンパク質構造埋め込み104による生成ニューラルネットワーク106の「条件付け」と呼ばれ得る。
【0054】
生成ニューラルネットワーク106は、生成ニューラルネットワーク108がその説明された機能、すなわちタンパク質構造を実現すると予測されるタンパク質のアミノ酸配列を生成することを実行することを可能にする任意の適切な生成ニューラルネットワークアーキテクチャを有することが可能である。特に、生成ニューラルネットワークは、任意の適切な構成で(たとえば、層の直線的なシーケンスとして)接続された任意の適切なニューラルネットワーク層、たとえば畳み込み層、全結合層、自己アテンション(self-attention)層などを含み得る。アミノ酸配列108を生成するために生成ニューラルネットワーク106によって実行され得るニューラルネットワーク動作のいくつかの例が、次により詳細に説明される。
【0055】
一部の実装において、生成ニューラルネットワーク106は、潜在空間上の確率分布のパラメータを定義するデータを生成するために、1つまたは複数のニューラルネットワーク層、たとえば全結合ニューラルネットワーク層を使用してタンパク質構造埋め込み104を処理するように構成される。潜在空間は、たとえばN次元ユークリッド空間、すなわち
【数1】
であることが可能であり、確率分布を定義するパラメータは、潜在空間上の正規確率分布の平均ベクトルと共分散行列であることが可能である。そのとき、生成ニューラルネットワーク106は、潜在空間上の確率分布に従って、潜在空間から潜在変数をサンプリングすることができる。生成ニューラルネットワーク106は、アミノ酸配列108内の各位置に関して、可能なアミノ酸のセット上のそれぞれの確率分布を生成するために、1つまたは複数のニューラルネットワーク層(たとえば、全結合ニューラルネットワーク層)を使用して、サンプリングされた潜在変数(および任意で、タンパク質構造埋め込み104)を処理することができる。それから、生成ニューラルネットワーク106は、アミノ酸配列内の各位置に関して、すなわち可能なアミノ酸のセット上の対応する確率分布に従って、それぞれのアミノ酸をサンプリングし、結果として得られるアミノ酸配列108を出力することができる。
【0056】
(上述のように)単一の「グローバル」潜在変数をサンプリングする代わりにまたはそれと組み合わせて、生成ニューラルネットワーク106は、複数の「ローカル」潜在変数をサンプリングするように構成され得る。一例において、埋め込みニューラルネットワーク200は、(
図2を参照してより詳細に説明されるように)タンパク質のアミノ酸配列内の各位置に対応するそれぞれの「単一」埋め込みを含むタンパク質構造埋め込み104を生成してもよい。この例において、生成ニューラルネットワーク106は、タンパク質のアミノ酸配列内の各位置に関して、潜在空間上の対応する確率分布を生成するために、1つまたは複数のニューラルネットワーク層を使用して位置に関する単一埋め込みを処理することができる。そして、生成ニューラルネットワーク106は、潜在空間上の確率分布に従って、潜在空間から、アミノ酸配列内の位置に対応するローカル潜在変数をサンプリングすることができる。その後、生成ニューラルネットワーク106は、出力アミノ酸配列108の生成の一部として、ローカル潜在変数を処理することができる。
【0057】
一部の実装において、生成ニューラルネットワーク106は、アミノ酸配列内の最初の位置から開始して、アミノ酸配列内の各位置のアミノ酸を順次選択する自己回帰ニューラルネットワークである。アミノ酸配列108内の現在位置のアミノ酸を選択するために、生成ニューラルネットワークは、アミノ酸配列内の現在位置に関する可能なアミノ酸のセット上の確率分布を生成するために、1つまたは複数のニューラルネットワーク層を使用して、(i)タンパク質構造埋め込み104、および(ii)アミノ酸配列108内の任意の先行する位置のアミノ酸を定義するデータを処理する。アミノ酸配列内の現在位置の後続の位置のアミノ酸はまだ選択されていない、すなわち現在位置のアミノ酸が選択されている時点で選択されていないので、生成ニューラルネットワークは、これらのアミノ酸を定義するデータを処理しない。アミノ酸配列内の先行する位置のアミノ酸を定義するデータは、たとえば先行する位置のアミノ酸のアイデンティティ(identity)を定義する、それぞれの先行する位置に対応するそれぞれのワンホットベクトルを含んでもよい。アミノ酸配列内の現在位置に関する可能なアミノ酸のセット上の確率分布を生成した後、生成ニューラルネットワークは、確率分布に従って可能なアミノ酸のセットからサンプリングすることによって、現在位置のアミノ酸を選択することができる。
【0058】
任意で、単一のアミノ酸配列108を生成するのではなく、タンパク質設計システム100は、生成ニューラルネットワーク106を使用して、それぞれがタンパク質構造に折り畳まれると予測される複数のアミノ酸配列108のセットを生成することができる。たとえば、生成ニューラルネットワーク106が、上述のようにアミノ酸配列内の各位置のアミノ酸を自己回帰的にサンプリングする場合、生成ニューラルネットワークは、自己回帰的サンプリングプロセスを複数回繰り返して、複数のアミノ酸配列を生成することができる。別の例として、生成ニューラルネットワーク106が、(上述のように)潜在空間からサンプリングされる潜在変数を処理してアミノ酸配列を生成する場合、生成ニューラルネットワークは、複数の潜在変数をサンプリングし、それぞれのサンプリングされた潜在変数を処理して、それぞれのアミノ酸配列を生成することができる。
【0059】
タンパク質設計システム100によって生成されたアミノ酸配列108は、様々な方法のいずれかで使用され得る。たとえば、アミノ酸配列108を有するタンパク質が、物理的に合成され得る。タンパク質が所望のタンパク質構造に折り畳まれるかどうかを判定するために、実験が実行され得る。
【0060】
タンパク質設計システム100の1つの応用は、標的タンパク質構造によって指定された所望の3次元形状およびサイズを有する要素を生成することである。事実上、これは、微視的スケールの3Dプリンタを提供する。要素の寸法は、数十ミクロンまたはさらにはそれよりも小さい寸法を有する場合がある。たとえば、物理的に合成されたタンパク質の最大寸法(すなわち、その長さが最も長くなる軸に沿ったタンパク質の長さ)は、50ミクロン未満、5ミクロン未満、またはさらには1ミクロン未満である場合がある。したがって、本開示は、所望の3次元形状およびサイズを有するマイクロコンポーネント(micro-component)の製造のための新規の技術を提供する。
【0061】
たとえば、標的タンパク質構造は、標的タンパク質が細長いこと、すなわちタンパク質が、最初の2つの次元に対して横方向の第3の次元のタンパク質の広がりよりもはるかに小さい(たとえば、5分の1以下の)2つの横方向の次元の広がりを有することを指定してもよい。これは、標的タンパク質が、合成されると、2つの横方向の次元の標的タンパク質の広がりよりもわずかにだけ広い開口部を含む膜を通過することを可能にする。
【0062】
別の例において、標的タンパク質構造は、合成された標的タンパク質が小板の形態を有するように、標的タンパク質が薄層状であることを指定してもよい。
【0063】
さらなる例において、合成された標的タンパク質は、標的タンパク質構造によって定義された所望の形状およびサイズを有する(微視的な)機械システムの構成要素、たとえば車輪、ラック、ピニオン、またはレバーなどを提供する可能性がある。
【0064】
さらなる例において、標的タンパク質構造は、(一定量の薬剤化合物などの化学的に活性な物体、磁性体、または放射性物体などの)別の物体の少なくとも一部を受け入れるためのチャンバ(chamber)を含む構造を規定するために選択される可能性がある。別の物体は、チャンバ内に収容される場合がある。たとえば、標的タンパク質が標的タンパク質構造を形成するために折り畳まれるときに、別の物体がチャンバ内に閉じ込められるようになるように、別の物体は、標的タンパク質が合成されるときに存在してもよい。そこでは、別の物体は、たとえば化学反応が発生してタンパク質構造を壊し、追加の物体を放出するまで、近くの分子との相互作用を防止される場合がある。場合によっては、別の物体の一部分だけがチャンバに挿入されてもよく、その結果、たとえばタンパク質を変形させて別の物体を放出する化学反応が発生するまで、タンパク質は、別の物体のその部分を覆うキャップとして働く。
【0065】
さらに、タンパク質の形状およびサイズは、別の微視的物体などの、「結合標的」である別の物体の表面に密着してそのタンパク質が配置されることを可能にするように選択され得る。たとえば、結合標的は、その一部が知られている3次元形状およびサイズを有する表面を有する可能性がある。知られている3次元形状およびサイズを使用して、定義されたサイズを有する相補的形状が定義され得る。標的タンパク質構造は、たとえば標的タンパク質の片側が相補的形状を有するように、相補的形状に基づいて計算されてもよい。したがって、タンパク質設計システム100は、製造されると、(たとえば、タンパク質の片側に)定義されたサイズの相補的形状を含み、錠前に合う鍵のように結合標的の表面の一部に対して適合するタンパク質を取得するために使用され得る。合成された目標分子は、場合によっては、たとえば密着する標的タンパク質および結合標的のそれぞれの部分の間の引力によって、結合標的に対して保持されてもよい。用語「相補的」は、標的タンパク質が結合標的に対して、それらの間の体積が特定の閾値未満であるようにして配置される場合があることを意味する。さらに、相補的形状は、標的タンパク質が結合標的と対向するとき、標的タンパク質上の複数の指定された点が結合標的上の対応する点(たとえば、結合部位)から特定の距離以内にあるように選択されてもよい。
【0066】
任意で、タンパク質設計システム100は、タンパク質設計システムが標的タンパク質構造を有すると予測する複数の対応する標的タンパク質のアミノ酸配列を生成するために、2回以上使用されてもよい。結合標的との複数の標的タンパク質の相互作用は、(たとえば、計算的に、または標的タンパク質を合成し、それから相互作用を実験的に測定することによって)評価されてもよい。評価結果に基づいて、複数の標的タンパク質のうちの1つが選択されてもよい。
【0067】
標的タンパク質(または複数の標的タンパク質のうちの選択された1つ)は、したがって、結合標的に結合するリガンドとして働く場合がある。結合標的もタンパク質分子である場合、結合標的は、受容体とみなされてもよく、標的タンパク質は、その受容体に対するリガンドとして働く場合がある。リガンドは、薬物であるか、または工業用酵素のリガンドとして働く場合がある。リガンドは、受容体または酵素のアゴニストまたはアンタゴニストである場合がある。さらに、結合標的はウイルスタンパク質または癌細胞タンパク質を含む抗原であってもよい。結合標的が生体分子である場合、リガンドは、治療効果を有するようなものであってもよい。タンパク質は、たとえば結合標的がその他の分子との相互作用(たとえば、化学反応)に参加することを阻害する効果、すなわちそれらの分子が結合標的の表面に接触するのを防止することによる効果を有する場合がある。ある場合には、結合標的は、細胞(たとえば、ヒト細胞)または細胞の構成要素である可能性があり、タンパク質は、細胞表面に結合して細胞を有害な分子との相互作用から保護する可能性がある。さらなる場合において、結合標的は、有害であり、たとえばウイルスまたは癌細胞である可能性があり、それに結合することによって、タンパク質は、結合標的が特定のプロセス、たとえば生殖プロセスまたは宿主の細胞との相互作用に参加することを防止する可能性がある。
【0068】
あるいは、結合標的が疾患に関連するタンパク質である場合、標的タンパク質は、疾患の診断用抗体マーカーとして使用されてもよい。
【0069】
場合によっては、タンパク質が、構造の特定の位置、たとえば所望のアミノ酸がその他の分子との化学的相互作用に関与し得る構造の露出した位置にそれらの所望のアミノ酸を有することが望ましいことがある。この場合、所望のアミノ酸を組み込むためにアミノ酸配列108を修正することが望ましいことがある。この場合、修正されたアミノ酸配列を有するタンパク質の構造を決定して、それが標的タンパク質構造を保持していることを検証するために、(たとえば、タンパク質フォールディングニューラルネットワークまたは実世界での実験を使用して)テストが実施されてもよい。
【0070】
あるいは、生成されたアミノ酸配列の所望の位置に所望のアミノ酸が含まれる見込みを大きくするために、生成ニューラルネットワーク106の動作が修正されてもよい。たとえば、生成ニューラルネットワーク106が上述のようにアミノ酸配列内の各位置のアミノ酸確率分布をサンプリングする場合、サンプリングは、生成されたアミノ酸配列の所望の位置に所望のアミノ酸が含まれる見込みを大きくするために偏りを持たされてもよい。
【0071】
タンパク質設計システム100のさらなる応用は、タンパク質またはタンパク質様鎖がペプチドを模倣するように設計されるペプチド模倣物(peptidomimetic)の分野にある。本方法を使用して、既存のペプチドの形状およびサイズを模倣する形状およびサイズを有するタンパク質が生成されてよい。
【0072】
図2は、タンパク質設計システム、たとえば
図1を参照して説明されているタンパク質設計システム100に含まれる埋め込みニューラルネットワーク200の例示的なアーキテクチャを示す。埋め込みニューラルネットワーク200は、タンパク質構造パラメータ102のセットによって定義されたタンパク質構造を表すタンパク質構造埋め込み104を生成するように構成される。
【0073】
タンパク質構造埋め込み104を生成するために、タンパク質設計システムは、(i)タンパク質のアミノ酸配列内の各アミノ酸に対応するそれぞれの「単一」埋め込み、および(ii)タンパク質のアミノ酸配列内のアミノ酸の各ペアに対応するそれぞれの「ペア」埋め込みを初期化する。
【0074】
タンパク質設計システムは、「位置エンコーディング(positional encoding)」を使用して、すなわちアミノ酸配列内の各アミノ酸に対応する単一埋め込みが、アミノ酸配列内のアミノ酸の位置のインデックスの関数として初期化されるように、単一埋め込み202を初期化する。たとえば、タンパク質設計システムは、A. Vaswaniら、"Attention is all you need"、21st Conference on Neural Informational Processing Systems (NIPS 2017)に関連して説明された正弦波位置エンコーディング(sinusoidal positional encoding)技術を使用して単一埋め込みを初期化することができる。
【0075】
タンパク質設計システムは、タンパク質構造内のアミノ酸のペアの間の距離に基づいて、すなわちタンパク質構造パラメータ102によって定義されるように、アミノ酸配列内のアミノ酸の各ペアに対応するペア埋め込みを、初期化する。より詳細には、アミノ酸のペアに関するペア埋め込みの各エントリは、それぞれの距離間隔、たとえば[0, 2)オングストローム、[2, 4)オングストロームなどに関連付けられる。アミノ酸のペアの間の距離は、これらの距離間隔のうちの1つに含まれ、タンパク質設計システムは、ペア埋め込みの対応するエントリの値を1(または何らかのその他の所定の値)に設定する。タンパク質設計システムは、埋め込みの残りのエントリの値を0(または何らかのその他の所定の値)に設定する。
【0076】
埋め込みニューラルネットワーク200は、更新された単一埋め込み208および更新されたペア埋め込み210を生成するために、更新ブロック206-A~Nのシーケンスを使用して、単一埋め込み202およびペア埋め込み204を処理する。本明細書全体を通じて、「ブロック」は、ニューラルネットワークの一部、たとえば1つまたは複数のニューラルネットワーク層を含むニューラルネットワークの部分ネットワークを指す。
【0077】
埋め込みニューラルネットワーク200の各更新ブロックは、単一埋め込みのセットおよびペア埋め込みのセットを含むブロック入力を受け取り、更新された単一埋め込みおよび更新されたペア埋め込みを含むブロック出力を生成するためにブロック入力を処理するように構成される。
【0078】
タンパク質設計システムは、単一埋め込み202およびペア埋め込み204を最初の更新ブロック(すなわち、更新ブロックのシーケンス内の)に提供する。最初の更新ブロックは、更新された単一埋め込みおよび更新されたペア埋め込みを生成するために、単一埋め込み202およびペア埋め込み204を処理する。
【0079】
最初の更新ブロックの後の各更新ブロックに関して、埋め込みニューラルネットワーク200は、前の更新ブロックによって生成された単一埋め込みおよびペア埋め込みを更新ブロックに提供し、更新ブロックによって生成された更新された単一埋め込みおよび更新されたペア埋め込みを次の更新ブロックに提供する。
【0080】
埋め込みニューラルネットワーク200は、
図3を参照してより詳細に説明されるように、更新ブロック206-A~Nのシーケンスを使用して単一埋め込み202およびペア埋め込み204を繰り返し更新することによって、それらの単一埋め込み202およびペア埋め込み204の情報内容を徐々に充実させる。
【0081】
タンパク質設計システムは、埋め込みニューラルネットワーク200の最後の更新ブロックによって生成される更新された単一埋め込み208、更新されたペア埋め込み210、またはそれら両方を使用して、タンパク質構造埋め込み104を生成する。たとえば、タンパク質設計システムは、タンパク質構造埋め込み104を、更新された単一埋め込み208単独、更新されたペア埋め込み210単独、または更新された単一埋め込み208および更新されたペア埋め込み210の連結として特定することができる。
【0082】
図6を参照してより詳細に説明されるタンパク質設計システムのトレーニング中、埋め込みニューラルネットワーク200は、タンパク質のアミノ酸配列を予測するために更新された単一埋め込み208を処理する1つまたは複数のニューラルネットワーク層を含み得る。予測されたアミノ酸配列の精度は、損失関数、たとえば交差エントロピー損失関数を使用して評価され、損失関数の勾配が、単一埋め込みがアミノ酸配列を予測することに関連性のある情報を符号化するように促すために埋め込みニューラルネットワークを通して逆伝播される。
【0083】
埋め込みニューラルネットワーク200は、タンパク質構造内のアミノ酸の各ペアの間のそれぞれの距離を定義する距離マップを予測するために更新されたペア埋め込み210を処理する1つまたは複数のニューラルネットワーク層も含み得る。予測された距離マップの精度は、損失関数、たとえば交差エントロピー損失関数を使用して評価され、損失関数の勾配が、ペア埋め込みがタンパク質構造を特徴付ける情報を符号化するように促すために埋め込みニューラルネットワークを通して逆伝播される。
【0084】
図3は、埋め込みニューラルネットワーク200の、すなわち
図2を参照して説明された更新ブロック300の例示的なアーキテクチャを示す。
【0085】
更新ブロック300は、現在の単一埋め込み302および現在のペア埋め込み304を含むブロック入力を受け取り、更新された単一埋め込み310および更新されたペア埋め込み312を生成するためにブロック入力を処理する。
【0086】
更新ブロック300は、単一埋め込み更新ブロック306およびペア埋め込み更新ブロック308を含む。
【0087】
単一埋め込み更新ブロック306は、現在のペア埋め込み304を使用して現在の単一埋め込み302を更新し、ペア埋め込み更新ブロック308は、更新された単一埋め込み310(すなわち、単一埋め込み更新ブロック306によって生成される)を使用して現在のペア埋め込み304を更新する。
【0088】
概して、単一埋め込みおよびペア埋め込みは、相補的な情報を符号化することができる。たとえば、単一埋め込みは、タンパク質内の単一のアミノ酸の特徴を特徴付ける情報を符号化することができ、ペア埋め込みは、タンパク質構造内のアミノ酸のペアの間の距離を含む、タンパク質内のアミノ酸のペアの間の関係についての情報を符号化することができる。単一埋め込み更新ブロック306は、ペア埋め込みに符号化された相補的な情報を使用して単一埋め込みの情報内容を充実させ、ペア埋め込み更新ブロック308は、単一埋め込みに符号化された相補的な情報を使用してペア埋め込みの情報内容を充実させる。この充実の結果として、更新された単一埋め込みおよび更新されたペア埋め込みは、タンパク質構造を実現するタンパク質のアミノ酸配列を予測することにより関連性のある情報を符号化する。
【0089】
更新ブロック300は、まず、現在のペア埋め込み304を使用して現在の単一埋め込み302を更新し、それから、更新された単一埋め込み310を使用して現在のペア埋め込み304を更新するものとして本明細書において説明される。説明は、更新ブロックを、この順番で動作を実行することに限定するものと理解されるべきでなく、たとえば更新ブロックは、まず、現在の単一埋め込みを使用して現在のペア埋め込みを更新し、それから、更新されたペア埋め込みを使用して現在の単一埋め込みを更新する可能性がある。
【0090】
更新ブロック300は、単一埋め込み更新ブロック306(すなわち、現在の単一埋め込みを更新する)およびペア埋め込み更新ブロック308(すなわち、現在のペア埋め込みを更新する)を含むものとして本明細書において説明される。説明は、更新ブロック300が、更新ブロック300を、1つの単一埋め込み更新ブロックのみ、または1つのペア埋め込み更新ブロックのみを含むように限定するものと理解されるべきでない。たとえば、更新ブロック300は、現在のペア埋め込みを更新する際に使用するためにペア埋め込み更新ブロックに単一埋め込みが提供される前に、単一埋め込みを複数回更新するいくつかの単一埋め込み更新ブロックを含み得る。別の例として、更新ブロック300は、単一埋め込みを使用してペア埋め込みを複数回更新するいくつかのペア埋め込み更新ブロックを含み得る。
【0091】
単一埋め込み更新ブロック306およびペア埋め込み更新ブロック308は、それらがそれらの説明された機能を実行することを可能にする任意の適切なアーキテクチャを有することができる。
【0092】
一部の実装において、単一埋め込み更新ブロック306、ペア埋め込み更新ブロック308、またはそれら両方は、1つまたは複数の「自己アテンション」ブロックを含む。本明細書全体を通じて使用されるとき、自己アテンションブロックは、概して、埋め込みの集合を更新する、すなわち埋め込みの集合を受け取り、更新された埋め込みを出力するニューラルネットワークブロックを指す。所与の埋め込みを更新するために、自己アテンションブロックは、所与の埋め込みと1つまたは複数の選択された埋め込み(たとえば、埋め込みの受け取られた集合のその他の元)の各々との間のそれぞれの「アテンション重み」、たとえば類似性測定値を決定し、次いで、(i)アテンション重み、および(ii)選択された埋め込みを使用して、所与の埋め込みを更新することができる。たとえば、更新された埋め込みは、それぞれが選択された埋め込みのうちの1つから導出され、それぞれがそれぞれのアテンション重みによって重み付けされた値の総和を含んでもよい。便宜上、自己アテンションブロックは、選択された埋め込み「上の」アテンションを使用して所与の埋め込みを更新すると言われる場合がある。
【0093】
たとえば、自己アテンションブロックは、入力埋め込みの集合
【数2】
を受け取ってもよく、Nは、タンパク質内のアミノ酸の数であり、埋め込みx
iを更新するために、自己アテンションブロックは、アテンション重み
【数3】
を決定してもよく、a
i,jは、
【数4】
のように、x
iとx
jとの間のアテンション重みを表し、W
qおよびW
kは、学習されたパラメータ行列であり、softmax(・)は、ソフトマックス正規化演算を表し、cは、定数である。アテンション重みを使用して、自己アテンション層は、埋め込みx
iを
【数5】
のように更新してよく、W
vは、学習されたパラメータ行列である。(W
qx
iは、入力埋め込みx
iの「クエリ埋め込み(query embedding)」と呼ばれることが可能であり、W
kx
jは、入力埋め込みx
iの「キー埋め込み(key embedding)」と呼ばれることが可能であり、W
vx
jは、入力埋め込みx
iの「値埋め込み(value embedding)」と呼ばれることが可能である)。
【0094】
パラメータ行列W
q(「クエリ埋め込み行列」)、W
k(「キー埋め込み行列」)、およびW
v(「値埋め込み行列」)は、自己アテンションブロックのトレーニング可能なパラメータである。単一埋め込み更新ブロック306およびペア埋め込み更新ブロック308に含まれるすべての自己アテンションブロックのパラメータは、
図6を参照して説明されるタンパク質設計システムのエンドツーエンドのトレーニングの一部としてトレーニングされることが可能な更新ブロック300のパラメータであると理解され得る。概して、クエリ、キー、および値埋め込み行列の(トレーニングされた)パラメータは、たとえば単一埋め込み更新ブロック306に含まれる自己アテンションブロックが、ペア埋め込み更新ブロック308に含まれる自己アテンションブロックとは異なるパラメータを有する異なるクエリ、キー、および値埋め込み行列を持ち得るように、異なる自己アテンションブロックに関して異なる。
【0095】
一部の実装において、ペア埋め込み更新ブロック308、単一埋め込み更新ブロック306、またはそれら両方は、ペア埋め込みに条件付けられる(依存する)、すなわちペア埋め込みに条件付けられる自己アテンション動作を実施する1つまたは複数の自己アテンションブロックを含む。ペア埋め込みによって自己アテンション動作を条件付けるために、自己アテンションブロックは、各アテンション重みに対応するそれぞれの「アテンションバイアス」を生成するためにペア埋め込みを処理することができ、そのとき、各アテンション重みは、対応するアテンションバイアスによって偏りを持たされてもよい。たとえば、式(1)~(2)に従ってアテンション重み
【数6】
を決定することに加えて、自己アテンションブロックは、アテンションバイアスの対応するセット
【数7】
を生成することができ、b
i,jは、x
iとx
jとの間のアテンションバイアスを表す。自己アテンションブロックは、学習されたパラメータ行列を、(i, j)によってインデックス付けされたタンパク質内のアミノ酸のペアに関するペア埋め込みに適用することにより、アテンションバイアスb
i,jを生成することができる。
【0096】
自己アテンションブロックは、「偏りのあるアテンション重み」のセット
【数8】
を決定することができ、c
i,jは、たとえばアテンション重みとアテンションバイアスとを合計すること(またはその他の方法で組み合わせること)によって、x
iとx
jとの間の偏りを持たされたアテンション重みを表す。たとえば、自己アテンションブロックは、埋め込みx
iとx
jとの間の偏りのあるアテンション重みc
i,jを
c
i,j = a
i,j + b
i,j
のように決定することができ、a
i,jは、x
iとx
jとの間のアテンション重みであり、b
i,jは、x
iとx
jとの間のアテンションバイアスである。自己アテンションブロックは、たとえば偏りのあるアテンション重みを使用して、各入力埋め込みx
iを
【数9】
のように更新することができ、W
vは、学習されたパラメータ行列である。
【0097】
概して、ペア埋め込みは、タンパク質の構造と、タンパク質の構造内のアミノ酸のペアの間の関係とを特徴付ける情報を符号化する。ペア埋め込みに条件付けられる自己アテンション動作を入力埋め込みのセットに適用することは、ペア埋め込みに符号化されたタンパク質構造情報を与えられる方法で入力埋め込みが更新されることを可能にする。埋め込みニューラルネットワークの更新ブロックは、ペア埋め込みに条件付けられる自己アテンションブロックを使用して、単一埋め込みおよびペア埋め込み自体を更新し、充実させることができる。
【0098】
任意で、自己アテンションブロックは、各入力埋め込みに対応するそれぞれの更新された埋め込みをそれぞれが生成する、すなわち各入力埋め込みが複数の更新された埋め込みに関連付けられるような、複数の「ヘッド」を有することができる。たとえば、各ヘッドは、式(1)~(4)を参照して説明されているパラメータ行列W
q、W
k、およびW
vの異なる値に従って、更新された埋め込みを生成してもよい。複数のヘッドを有する自己アテンションブロックは、入力埋め込みに関してヘッドによって生成された更新された埋め込みを組み合わせるための、すなわち各入力埋め込みに対応する単一の更新された埋め込みを生成するための「ゲーティング(gating)」動作を実施することができる。たとえば、自己アテンションブロックは、各ヘッドのそれぞれのゲーティング値を生成するために、1つまたは複数のニューラルネットワーク層(たとえば、全結合ニューラルネットワーク層)を使用して入力埋め込みを処理することができる。それから、自己アテンションブロックは、ゲーティング値に従って、入力埋め込みに対応する更新された埋め込みを組み合わせることができる。たとえば、自己アテンションブロックは、入力埋め込みx
iの更新された埋め込みを
【数10】
のように生成することができ、kは、ヘッドのインデックスであり、α
kはヘッドkのゲート値であり、
【数11】
は、入力埋め込みx
iに関してヘッドkによって生成された更新された埋め込みである。
【0099】
ペア埋め込みに条件付けられる自己アテンションブロックを使用する単一埋め込み更新ブロック306の例示的なアーキテクチャは、
図4を参照して説明される。
【0100】
ペア埋め込みに条件付けられる自己アテンションブロックを使用するペア埋め込み更新ブロック308の例示的なアーキテクチャは、
図5を参照して説明される。
図5を参照して説明される例示的なペア埋め込み更新ブロックは、更新された単一埋め込みの外積(以降、「外積平均(outer product mean)」と呼ばれる)を計算し、外積平均の結果を現在のペア埋め込みに加算し(必要に応じてペア埋め込みの次元に射影される)、自己アテンションブロックを使用して現在のペア埋め込みを処理することによって、更新された単一埋め込みに基づいて現在のペア埋め込み値を更新する。
【0101】
図4は、単一埋め込み更新ブロック306の例示的なアーキテクチャを示す。単一埋め込み更新ブロック306は、現在の単一埋め込みを受け取り、現在のペア埋め込みに(少なくとも部分的に)基づいて、現在の単一埋め込み302を更新するように構成される。
【0102】
現在の単一埋め込み302を更新するために、単一埋め込み更新ブロック306は、現在のペア埋め込みに条件付けられる自己アテンション動作を使用して単一埋め込みを更新する。より詳細には、単一埋め込み更新ブロック306は、更新された単一埋め込みを生成するために、たとえば
図3を参照して説明されたように、現在のペア埋め込みに条件付けられる自己アテンションブロック402に単一埋め込みを提供する。任意で、単一埋め込み更新ブロックは、自己アテンションブロック402への入力を自己アテンションブロック402の出力に加算することができる。現在のペア埋め込みによって自己アテンションブロック402を条件付けることは、単一埋め込み更新ブロック306が現在のペア埋め込みからの情報を使用して現在の単一埋め込み302を充実させることを可能にする。
【0103】
次に、単一埋め込み更新ブロックは、たとえば1つまたは複数の全結合ニューラルネットワーク層を現在の単一埋め込みに適用する遷移ブロック(transition block)404を使用して現在の単一埋め込み302を処理する。任意で、単一埋め込み更新ブロック306は、遷移ブロック404への入力を遷移ブロック404の出力に加算することができる。単一埋め込み更新ブロックは、自己アテンションブロック402および遷移ブロック404によって実行された動作の結果として得られる更新された単一埋め込み310を出力することができる。
【0104】
図5は、ペア埋め込み更新ブロック308の例示的なアーキテクチャを示す。ペア埋め込み更新ブロック308は、現在のペア埋め込み304を受け取り、更新された単一埋め込み310に(少なくとも部分的に)基づいて、現在のペア埋め込み304を更新するように構成される。
【0105】
以下の説明において、ペア埋め込みは、N×N配列に、すなわち配列内の位置(i, j)の埋め込みが、アミノ酸配列内の位置iおよびjのアミノ酸に対応するペア埋め込みであるように配列されるものと理解され得る。
【0106】
現在のペア埋め込み304を更新するために、ペア埋め込み更新ブロック308は、更新された単一埋め込み310に外積平均演算502を適用し、外積平均演算502の結果を現在のペア埋め込み304に加算する。
【0107】
外積平均演算は、それぞれが埋め込みの1×N配列として表される単一埋め込みのセットに適用されるとき、埋め込みのN×N配列を生成する、すなわちNがタンパク質内のアミノ酸の数である演算のシーケンスを定義する。現在のペア埋め込み304も、ペア埋め込みのN×N配列として表されることが可能であり、外積平均502の結果を現在のペア埋め込み304に加算することは、埋め込みの2つのN×N配列を合計することを指す。
【0108】
外積平均を計算するために、ペア埋め込み更新ブロック308は、たとえば
A(res1, res2, ch1, ch2) = LeftAct(res1, ch1)・RightAct(res2, ch2) (6)
によって与えられるテンソルA(・)を生成し、res1, res2∈{1, ..., N}、ch1, ch2∈{1, ..., C}であり、Cは、各単一埋め込みのチャネル数であり、LeftAct(res1, ch1)は、“res1"によってインデックス付けされる単一埋め込みのチャネルch1に適用される線形演算(たとえば、行列の乗算によって定義される、たとえば射影)であり、RightAct(res2, ch2)は、“res2"によってインデックス付けされる単一埋め込みのチャネルch2に適用される線形演算(たとえば、行列の乗算によって定義される、たとえば射影)である。外積平均の結果は、テンソルAの(ch1, ch2)次元を平坦化(flatten)し、線形射影することによって生成される。任意で、ペア埋め込み更新ブロックは、外積平均の計算の一部として、(たとえば、Jimmy Lei Baら、"Layer Normalization"、arXiv: 1607.06450に関連して説明された)1つまたは複数の層正規化(Layer Normalization)演算を実行することができる。
【0109】
概して、更新された単一埋め込み310は、タンパク質のアミノ酸配列内のアミノ酸についての情報を符号化する。更新された単一埋め込み310に符号化された情報は、タンパク質のアミノ酸配列を予測することに関連性があり、更新された単一埋め込みに符号化された情報を現在のペア埋め込みに組み込むことによって(すなわち、外積平均502によって)、ペア埋め込み更新ブロック308は、現在のペア埋め込みの情報内容を強化することができる。
【0110】
更新された単一埋め込みを使用して(すなわち、外積平均502によって)現在のペア埋め込み304を更新した後、ペア埋め込み更新ブロック308は、現在のペア埋め込みに条件付けられる自己アテンション動作(すなわち、「行単位の」自己アテンション動作)を使用して、N×N配列への現在のペア埋め込みの配列の各行の現在のペア埋め込みを更新する。より詳細には、ペア埋め込み更新ブロック308は、各行の更新されたペア埋め込みを生成するために、たとえば
図3を参照して説明されたように、現在のペア埋め込みにやはり条件付けられる「行単位の」自己アテンションブロック504に現在のペア埋め込みの各行を提供する。任意で、ペア埋め込み更新ブロックは、行単位の自己アテンションブロック504への入力を行単位の自己アテンションブロック504の出力に加算することができる。
【0111】
次に、ペア埋め込み更新ブロック308は、現在のペア埋め込みにやはり条件付けられる自己アテンション動作(すなわち、「列単位の」自己アテンション動作)を使用して、現在のペア埋め込みのN×N配列の各列の現在のペア埋め込みを更新する。より詳細には、ペア埋め込み更新ブロック308は、各列の更新されたペア埋め込みを生成するために、現在のペア埋め込みにやはり条件付けられる「列単位の」自己アテンションブロック506に現在のペア埋め込みの各列を提供する。任意で、ペア埋め込み更新ブロックは、列単位の自己アテンションブロック506への入力を列単位の自己アテンションブロック506の出力に加算することができる。
【0112】
次に、ペア埋め込み更新ブロックは、たとえば1つまたは複数の全結合ニューラルネットワーク層を現在のペア埋め込みに適用する遷移ブロック508を使用して現在のペア埋め込みを処理する。任意で、ペア埋め込み更新ブロック308は、遷移ブロック508への入力を遷移ブロック508の出力に加算することができる。ペア埋め込み更新ブロックは、行単位の自己アテンションブロック504、列単位の自己アテンションブロック506、および遷移ブロック508によって実行された動作の結果として得られる更新されたペア埋め込み312を出力することができる。
【0113】
図6は、タンパク質設計システム、たとえば
図1を参照して説明されたタンパク質設計システム100をトレーニングするための例示的なトレーニングシステム600を示す。トレーニングシステム600は、以下で説明されるシステム、コンポーネント、および技術が実装される、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。
【0114】
トレーニングシステム600は、タンパク質設計システム604のパラメータをトレーニングする。タンパク質設計システム604は、タンパク質構造を実現すると予測されるタンパク質のアミノ酸配列を定義するデータを生成するために、タンパク質構造を定義する構造パラメータのセットを、タンパク質設計システムパラメータのセットの現在の値に従って処理するように構成される。以下の説明において、タンパク質設計システム604は、ニューラルネットワークシステム(すなわち、1つまたは複数のニューラルネットワークのシステム)であると理解され、タンパク質設計システムパラメータは、タンパク質設計システム604の(トレーニング可能な)パラメータ(たとえば、重み)を含む。たとえば、
図1を参照して説明されたタンパク質設計システムのタンパク質設計システムパラメータは、埋め込みニューラルネットワーク200および生成ニューラルネットワーク106のニューラルネットワークパラメータを含む。
【0115】
トレーニングシステム600は、トレーニング例のセットでタンパク質設計システム604をトレーニングする。各トレーニング例は、「トレーニング」タンパク質構造を定義する構造パラメータのそれぞれのセットと、任意で、トレーニングタンパク質構造を実現するタンパク質の「目標」アミノ酸配列を定義するデータとを含む。トレーニングタンパク質構造および対応する目標アミノ酸配列は、実験技術によって決定され得る。X線結晶構造解析、磁気共鳴技術、または低温電子顕微鏡法(クライオEM)などの通常の物理的技術が、実世界に存在する複数のタンパク質(たとえば、下で定義する天然タンパク質)のそれぞれのトレーニングタンパク質構造を測定するために使用されてもよい。タンパク質配列決定(protein sequencing)が、複数のタンパク質のそれぞれの目標アミノ酸配列を測定するために使用されてもよい。
【0116】
トレーニングシステム600は、確率的勾配降下法を使用してトレーニング例でタンパク質設計システム604をトレーニングする。より詳細には、一連のトレーニングの反復の中のそれぞれのトレーニングの反復において、トレーニングシステム600は、1つまたは複数のトレーニングタンパク質構造602をサンプリングする。トレーニングシステム600は、各トレーニングタンパク質構造に対応するそれぞれの予測されたアミノ酸配列606を生成するために、タンパク質設計システムパラメータの現在の値に従ってタンパク質設計システム604を使用してトレーニングタンパク質構造602を処理する。次に、トレーニングシステム600は、予測されたアミノ酸配列606に依存する目的関数の勾配を決定し、目的関数の勾配を使用して、タンパク質設計システムパラメータの現在の値を更新する。トレーニングシステム600は、たとえば逆伝播法を使用して、タンパク質設計システムパラメータに関する目的関数の勾配を決定することができ、任意の適切な勾配降下最適化アルゴリズム、たとえばRMSpropまたはAdamの更新規則を使用して、タンパク質設計システムパラメータの現在の値を更新することができる。
【0117】
目的関数は、(i)配列損失608、(ii)構造損失614、および(iii)現実性損失620のうちの1つまたは複数を含み、これらの損失の各々は、下でより詳細に説明される。たとえば、目的関数は、たとえば目的関数が
L(PS) = α
1・L
seq(PS) + α
2・L
struct(PS) + α
3・L
real(PS) (7)
によって与えられてもよいような、配列損失608、構造損失614、および現実性損失620の線形結合として定義される場合があり、L(PS)は、予測されたアミノ酸配列PSに対して評価される目的関数を表し、
【数12】
は、スケーリング係数であり、L
seq(PS)は、予測されたアミノ酸配列PSに対して評価される配列損失を表し、L
struct(PS)は、予測されたアミノ酸配列PSに対して評価される構造損失を表し、L
real(PS)は、予測されたアミノ酸配列PSに対して評価される現実性損失を表す。
【0118】
予測されたアミノ酸配列606に関する配列損失608を評価するために、トレーニングシステム600は、(i)予測されたアミノ酸配列606と、(ii)トレーニングタンパク質構造602の対応する目標アミノ酸配列との間の類似性を決定する。トレーニングシステム600は、たとえば交差エントロピー損失を使用して、予測されたアミノ酸配列と目標アミノ酸配列との間の類似性を決定してもよい。配列損失608を最小化するようにタンパク質設計システム604をトレーニングすることは、タンパク質設計システム604が、トレーニング例によって指定された目標アミノ酸配列に一致する予測されたアミノ酸配列を生成するように促す。
【0119】
予測されたアミノ酸配列606に関する構造損失614を評価するために、トレーニングシステム600は、予測されたアミノ酸配列606をタンパク質フォールディングニューラルネットワーク610に提供する。たとえば、公開された手法またはAlphaFold2(オープンソースで利用可能)などのソフトウェアに基づいて、任意のタンパク質フォールディングニューラルネットワークが使用されてもよい。タンパク質フォールディングニューラルネットワーク610は、予測されたアミノ酸配列606を有するタンパク質の予測された構造612を定義する構造パラメータを生成するために、予測されたアミノ酸配列606を処理するように構成される。トレーニングシステム600は、(i)トレーニングタンパク質構造602と、(ii)予測されたタンパク質構造612との間の類似性測定値を決定することによって、予測されたアミノ酸配列606に関する構造損失614を決定する。
【0120】
トレーニングシステム600は、任意の適切な方法で、(i)トレーニングタンパク質構造602と、(ii)予測されたタンパク質構造612との間の類似性測定値を決定することができる。一例において、トレーニングタンパク質構造602は、トレーニングタンパク質構造の各アミノ酸内のアルファ炭素原子のそれぞれの3D空間位置を定義する構造パラメータによって表され得る。同様に、予測されたタンパク質構造612は、予測されたタンパク質構造の各アミノ酸内のアルファ炭素原子のそれぞれの3D空間位置を定義する構造パラメータによって表され得る。この例において、トレーニングシステム600は、トレーニングタンパク質構造と予測されたタンパク質構造との間の類似性測定値を
【数13】
のように決定することができ、aは、タンパク質内のアミノ酸をインデックス付けし、T
aは、トレーニングタンパク質構造602によって定義されるアミノ酸aのアルファ炭素原子の3D空間位置を表し、P
aは予測されたタンパク質構造612によって定義されるアミノ酸aのアルファ炭素原子の3D空間位置を表し、|・|は、距離測定値、たとえばユークリッド距離の2乗の測定値を表す。
【0121】
目的関数が構造損失614を含む場合、トレーニングシステム600は、目的関数の勾配の決定の一部として、タンパク質設計システムパラメータに関する構造損失614の勾配を決定する。タンパク質設計システムパラメータに関する構造損失614の勾配を決定するために、トレーニングシステム600は、構造損失614の勾配を、タンパク質フォールディングニューラルネットワーク610を通して、タンパク質設計システム604のニューラルネットワーク中に逆伝播する。タンパク質フォールディングニューラルネットワーク610自体は、概して、タンパク質設計システム604のトレーニング中に使用される前にトレーニングされ、トレーニングシステム600は、構造損失614の勾配を使用してタンパク質フォールディングニューラルネットワーク610のパラメータを更新しない。すなわち、トレーニングシステム600は、構造損失614の勾配をタンパク質フォールディングニューラルネットワーク610を通してタンパク質設計システム604のニューラルネットワーク中に逆伝播する間、タンパク質フォールディングニューラルネットワーク610のパラメータを静的値として扱う。
【0122】
タンパク質フォールディングニューラルネットワーク610は、タンパク質フォールディングニューラルネットワーク108がその説明された機能、すなわちタンパク質の予測された構造を定義する構造パラメータのセットを生成するためにタンパク質のアミノ酸配列を定義するデータを処理することを実行することを可能にする任意の適切なニューラルネットワークアーキテクチャを有することが可能である。たとえば、タンパク質フォールディングニューラルネットワーク610は、任意の適切な構成で(たとえば、層の直線的なシーケンスとして)接続された任意の適切な種類のニューラルネットワーク層(たとえば、全結合層、畳み込み層、または自己アテンション層)を含み得る。
【0123】
構造損失614を最適化するようにタンパク質設計システム604をトレーニングすることは、タンパク質設計システム604が、トレーニングタンパク質構造602に一致する構造に折り畳まれるタンパク質の予測されたアミノ酸配列606を生成するように促す。「配列空間」、すなわち可能なアミノ酸配列の空間におけるタンパク質設計システム604の精度を評価する配列損失608とは対照的に。構造損失614は、「構造空間」、すなわち可能なタンパク質構造の空間におけるタンパク質設計システム604の精度を評価する。したがって、構造損失614を使用して生成された勾配信号は、配列損失608を使用して生成された勾配信号と相補的である。構造損失614と配列損失608との両方を使用してタンパク質設計システム604をトレーニングすることは、タンパク質設計システム604が、構造損失614を単独でまたは配列損失608を単独で使用して実現されるよりも高い精度を実現することを可能にし得る。
【0124】
概して、構造損失614は、たとえトレーニングタンパク質構造602の目標アミノ酸配列が知られていなくても評価され得る。対照的に、配列損失608は、トレーニングタンパク質構造の目標アミノ酸配列が知られている場合にのみ評価され得る。したがって、構造損失614は、タンパク質設計システム604が、配列損失608よりも幅広い部類のトレーニング例でトレーニングされることを可能にする。特に、構造損失614は、タンパク質設計システム604が、目標アミノ酸配列が知られていないトレーニングタンパク質構造を含むトレーニング例でトレーニングされることを可能にする。
【0125】
トレーニングシステム600は、識別器ニューラルネットワーク616を使用して、予測されたアミノ酸配列606に関する現実性損失620を評価する。識別器ニューラルネットワーク616は、タンパク質の現実性スコアを生成するために、タンパク質のアミノ酸配列、タンパク質の(実際のもしくは予測された)構造を定義するタンパク質構造パラメータのセット、またはそれら両方を含む、タンパク質を特徴付けるデータを処理するように構成される。識別器ニューラルネットワーク616は、タンパク質が(i)「合成」タンパク質であるのかまたは(ii)「天然」タンパク質であるのかを分類する現実性スコアを生成するようにトレーニングされる。すなわち、識別器ニューラルネットワークは、タンパク質が天然タンパク質ではなく合成タンパク質である見込みを定義する現実性スコアを生成するようにトレーニングされる。
【0126】
合成タンパク質は、タンパク質設計システム604によって生成されるアミノ酸配列を有するタンパク質を指す。
【0127】
天然タンパク質は、たとえば生体系から収集された天然に存在するタンパク質などの、現実世界に存在するタンパク質として特定された結果として「現実的」であるとして指定されたタンパク質のセットからのタンパク質を指す。
【0128】
予測されたアミノ酸配列606に関する現実性損失620を評価するために、トレーニングシステム600は、予測されたアミノ酸配列606、予測されたアミノ酸配列606を有するタンパク質の予測されたタンパク質構造612、またはそれら両方を識別器ニューラルネットワーク616に提供する。トレーニングシステム600は、予測されたアミノ酸配列606をタンパク質フォールディングニューラルネットワーク610を使用して処理することによって、予測されたタンパク質構造612を生成することができる。識別器ニューラルネットワーク616は、タンパク質設計システムによって生成されたタンパク質が合成タンパク質であるのかまたは天然タンパク質であるのかを分類する(予測する)現実性スコア618を生成するために入力を処理する。トレーニングシステム600は、現実性スコアの関数である現実性損失620を、たとえば現実性スコアの負数として決定する。
【0129】
目的関数が現実性損失620を含む場合、トレーニングシステム600は、目的関数の勾配の決定の一部として、タンパク質設計システムパラメータに関する現実性損失620の勾配を決定する。タンパク質設計システムパラメータに関する現実性損失620の勾配を決定するために、トレーニングシステム600は、現実性損失620の勾配を、識別器ニューラルネットワーク616を通してタンパク質フォールディングニューラルネットワーク610中に逆伝播し、タンパク質フォールディングニューラルネットワーク610を通してタンパク質設計システム604のニューラルネットワーク中に逆伝播する。トレーニングシステム600は、現実性損失620の勾配を識別器ニューラルネットワーク616およびタンパク質フォールディングニューラルネットワーク610を通してタンパク質設計システム604のニューラルネットワーク中に逆伝播する間、それらの識別器ニューラルネットワーク616およびタンパク質フォールディングニューラルネットワーク610のパラメータを静的なものとして扱う。
【0130】
トレーニングシステム600は、合成タンパク質と天然タンパク質とを識別する分類タスクを実行するように識別器ニューラルネットワーク616をトレーニングする。たとえば、トレーニングシステム600は、合成タンパク質を特徴付けるデータを処理することによって第1の値(たとえば、値0)を生成し、天然タンパク質を特徴付けるデータを処理することによって第2の値(たとえば、値1)を生成するように識別器ニューラルネットワーク616をトレーニングすることができる。トレーニングシステム600は、合成タンパク質の予測されたアミノ酸配列606を生成するためにタンパク質設計システム604を使用してトレーニングタンパク質構造602を処理し、任意で、合成タンパク質の予測されたタンパク質構造を生成するためにタンパク質フォールディングニューラルネットワーク610を使用して予測されたアミノ酸配列606を処理することによって、合成タンパク質を特徴付けるデータを生成することができる。トレーニングシステム600は、任意の適切な目的関数、たとえば2値交差エントロピー(binary cross-entropy)目的関数を最適化するために、任意の適切なトレーニング技術、たとえば確率的勾配降下法を使用して識別器ニューラルネットワーク616をトレーニングすることができる。
【0131】
タンパク質設計システム604がトレーニングされるにつれて、タンパク質設計システムパラメータの値が反復的に調整され、それによって、タンパク質設計システム604によって生成されている合成タンパク質の特性を変更する。識別器ニューラルネットワーク616がタンパク質設計システム604によって生成されている合成タンパク質の変化する特性に適応することを可能にするために、トレーニングシステム600は、タンパク質設計システム604と同時に識別器ニューラルネットワーク616をトレーニングすることができる。たとえば、トレーニングシステム600は、タンパク質設計システム604と識別器ニューラルネットワーク616とを交互にトレーニングすることができる。トレーニングシステム600が識別器ニューラルネットワーク616をトレーニングするタスクを課されるたびに、トレーニングシステム600は、タンパク質設計システムパラメータの最新の値に従って新しい合成タンパク質を生成し、新しい合成タンパク質で識別器ニューラルネットワークをトレーニングすることができる。
【0132】
識別器ニューラルネットワーク616は、識別器ニューラルネットワーク616がその説明された機能、すなわち現実性スコアを生成するためにタンパク質を特徴付けるデータを処理することを実行することを可能にする任意の適切なニューラルネットワークアーキテクチャを有することが可能である。特に、識別器ニューラルネットワークは、任意の適切な構成で(たとえば、層の直線的なシーケンスとして)接続された任意の適切なニューラルネットワーク層、たとえば畳み込み層、全結合層、自己アテンション層などを含み得る。
【0133】
一部の実装において、識別器ニューラルネットワーク616は、たとえば5アミノ酸、10アミノ酸、または15アミノ酸の予め定義された長さを有するタンパク質断片を特徴付けるデータを処理するように構成される。識別器ニューラルネットワークが受け取るように構成される予め定義された長さを超える長さを有するタンパク質の現実性スコアを生成するために、トレーニングシステム600は、タンパク質のアミノ酸配列を、予め定義された長さを有する複数の部分配列に分割することができる。トレーニングシステム600は、それぞれの現実性スコアを生成するために、識別器ニューラルネットワークを使用して、各アミノ酸部分配列を特徴付けるデータ(たとえば、部分配列内のアミノ酸、および部分配列の構造を定義する構造パラメータ)を処理することができる。次に、トレーニングシステム600は、アミノ酸部分配列の現実性スコアを組み合わせて(たとえば、平均して)、元のタンパク質の現実性スコアを生成することができる。
【0134】
現実性スコア618を最適化するようにタンパク質設計システム604をトレーニングすることは、タンパク質設計システム604が現実世界に存在する実際のタンパク質の特性を有するタンパク質を生成するように促すことによって、タンパク質設計システム604の性能(たとえば、精度)を向上させることができる。特に、識別器ニューラルネットワーク616は、現実的なタンパク質の複雑で高レベルな特徴を暗黙的に認識することを学習することができ、タンパク質設計システム604は、これらの特徴を共有するタンパク質を生成することを学習することができる。
【0135】
図7は、標的タンパク質構造を有する標的タンパク質の予測されたアミノ酸配列を決定するための例示的なプロセス700の流れ図である。便宜上、プロセス700は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされたタンパク質設計システム、たとえば
図1のタンパク質設計システム100が、プロセス700を実行することができる。
【0136】
システムは、標的タンパク質の標的タンパク質構造の埋め込みを生成するために、埋め込みニューラルネットワークを使用して、標的タンパク質の標的タンパク質構造を特徴付ける入力を処理する(702)。
【0137】
システムは、標的タンパク質構造の埋め込みによって生成ニューラルネットワークを条件付ける(704)。
【0138】
システムは、標的タンパク質構造の埋め込みに条件付けられる生成ニューラルネットワークによって、標的タンパク質の予測されたアミノ酸配列の表現を生成する(706)。
【0139】
本明細書は、用語「構成される」をシステムおよびコンピュータプログラムのコンポーネントに関連して使用する。1つまたは複数のコンピュータのシステムが特定の動作またはアクションを実行するように構成されることは、システムが、動作中にシステムに動作またはアクションを実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作またはアクションを実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作またはアクションを実行させる命令を含むことを意味する。
【0140】
本明細書に記載の対象の実施形態および機能的動作は、本明細書において開示された構造およびそれらの構造的均等物を含むデジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわちデータ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的ストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることが可能である。
【0141】
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用論理回路、たとえばFPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)であることも可能であり、またはそのような専用論理回路をさらに含むことも可能である。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえばプロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
【0142】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは記載される場合もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で展開されることが可能である。プログラムは、ファイルシステム内のファイルに対応する場合があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえばマークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶されることが可能である。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように展開されることが可能である。
【0143】
本明細書において、用語「エンジン」は、1つまたは複数の特定の機能を実行するようにプログラミングされるソフトウェアベースのシステム、サブシステム、またはプロセスを指すために広く使用される。概して、エンジンは、1つまたは複数の場所の1つまたは複数のコンピュータにインストールされた1つまたは複数のソフトウェアモジュールまたはコンポーネントとして実装される。場合によっては、1つまたは複数のコンピュータが、特定のエンジンに専用であり、その他の場合、複数のエンジンが、同じ1台のコンピュータまたは複数のコンピュータにインストールされ、実行されていることが可能である。
【0144】
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行され得る。また、プロセスおよび論理フローは、専用論理回路、たとえばFPGAもしくはASICによって、または専用論理回路と1つもしくは複数のプログラミングされたコンピュータとの組合せによって実行されることが可能である。
【0145】
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用論理回路によって補完されるか、または専用論理回路に組み込まれることが可能である。また、概してコンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受け取るか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはそれら両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえばほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレーヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブルストレージデバイス、たとえばユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
【0146】
コンピュータプログラム命令およびデータを記憶するのに好適なコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえばEPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含むすべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
【0147】
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえばCRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえばマウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえばユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、スピーチ、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえばウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。また、コンピュータは、メッセージングアプリケーションを実行しているパーソナルデバイス、たとえばスマートフォンにテキストメッセージまたはその他の形態のメッセージを送信し、返報としてユーザから応答メッセージを受信することによってユーザとインタラクションすることができる。
【0148】
機械学習モデルを実装するためのデータ処理装置は、たとえば機械学習のトレーニングまたは生成、つまり、推測の作業負荷のよくある計算量の多い部分を処理するための専用ハードウェアアクセラレータユニットも含むことが可能である。
【0149】
機械学習モデルは、機械学習フレームワーク、たとえばTensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、展開されることが可能である。
【0150】
本明細書に記載の対象の実施形態は、バックエンドコンポーネントを、たとえばデータサーバとして含むか、またはミドルウェアコンポーネント、たとえばアプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえばユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえばインターネットを含む。
【0151】
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実施形態において、サーバは、たとえばクライアントとして働くデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえばHTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえばユーザインタラクションの結果が、サーバにおいてデバイスから受信されることが可能である。
【0152】
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性があるものの範囲に対する限定ともみなされるべきでなく、むしろ、特定の発明の特定の実施形態に固有である可能性がある特徴の説明とみなされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態に組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々にまたは任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで働くものとして上で説明されている場合があり、最初にそのように主張されてさえいる場合があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする場合がある。
【0153】
同様に、動作が特定の順序で図面に示され、請求項に記載されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である場合がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
【0154】
対象の特定の実施形態が説明された。その他の実施形態は、添付の請求項の範囲内にある。たとえば、請求項に記載のアクションは、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
【符号の説明】
【0155】
100 タンパク質設計システム
102 タンパク質構造パラメータ
104 タンパク質構造埋め込み
106 生成ニューラルネットワーク
108 アミノ酸配列
200 埋め込みニューラルネットワーク
202 単一埋め込み
204 ペア埋め込み
206-A~N 更新ブロック
208 更新された単一埋め込み
210 更新されたペア埋め込み
300 更新ブロック
302 現在の単一埋め込み
304 現在のペア埋め込み
306 単一埋め込み更新ブロック
308 ペア埋め込み更新ブロック
310 更新された単一埋め込み
312 更新されたペア埋め込み
402 自己アテンションブロック
404 遷移ブロック
502 外積平均、外積平均演算
504 行単位の自己アテンションブロック
506 列単位の自己アテンションブロック
508 遷移ブロック
600 トレーニングシステム
602 トレーニングタンパク質構造
604 タンパク質設計システム
606 予測されたアミノ酸配列
608 配列損失
610 タンパク質フォールディングニューラルネットワーク
612 予測されたタンパク質構造
614 構造損失
616 識別器ニューラルネットワーク
618 現実性スコア
620 現実性損失
700 プロセス
【手続補正書】
【提出日】2023-09-25
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
1つまたは複数のデータ処理装置によって実行される方法であって、
標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、前記標的タンパク質の前記標的タンパク質構造を特徴付ける入力を処理するステップと、
前記標的タンパク質構造の前記埋め込みに基づいて、前記標的タンパク質の予測されたアミノ酸配列を決定するステップであって、
前記標的タンパク質構造の前記埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けるステップと、
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成するステップと
を含む、ステップと、
前記予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用して前記予測されたアミノ酸配列の前記表現を処理するステップと、
(i)前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造と、(ii)前記標的タンパク質構造との間の構造類似性測定値を決定するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定するステップと、
前記構造類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
を含む、方法。
【請求項2】
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定するステップが、
前記構造類似性測定値の勾配を、前記タンパク質フォールディングニューラルネットワークを通して前記生成ニューラルネットワークおよび前記埋め込みニューラルネットワーク中に逆伝播するステップ
を含む、請求項1に記載の方法。
【請求項3】
前記予測されたアミノ酸配列が前記生成ニューラルネットワークを使用して生成された見込みを定義する現実性スコアを生成するために、識別器ニューラルネットワークを使用して、前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造の前記表現を処理するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記現実性スコアの勾配を決定するステップと、
前記現実性スコアの前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
をさらに含む、請求項1に記載の方法。
【請求項4】
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記現実性スコアの勾配を決定するステップが、
前記現実性スコアの勾配を、前記識別器ニューラルネットワークおよび前記タンパク質フォールディングニューラルネットワークを通して前記生成ニューラルネットワークおよび前記埋め込みニューラルネットワーク中に逆伝播するステップ
を含む、請求項3に記載の方法。
【請求項5】
前記現実性スコアを生成することが、前記識別器ニューラルネットワークを使用して、(i)前記予測されたアミノ酸配列を有する前記予測されたタンパク質構造の前記表現と、(ii)前記予測されたアミノ酸配列の前記表現との両方を含む入力を処理するステップを含む、請求項3または4に記載の方法。
【請求項6】
(i)前記標的タンパク質の前記予測されたアミノ酸配列と、(ii)前記標的タンパク質の目標アミノ酸配列との間の配列類似性測定値を決定するステップと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記配列類似性測定値の勾配を決定するステップと、
前記配列類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの現在の値を調整するステップと
をさらに含む、請求項1から5のいずれか一項に記載の方法。
【請求項7】
前記標的タンパク質構造を特徴付ける前記埋め込みニューラルネットワーク入力が、(i)前記標的タンパク質構造内のアミノ酸のペアの間の距離を特徴付ける、前記標的タンパク質内のアミノ酸の各ペアに対応するそれぞれの初期ペア埋め込みおよび(ii)前記標的タンパク質内の各アミノ酸に対応するそれぞれの初期単一埋め込みを含む、請求項1から6のいずれか一項に記載の方法。
【請求項8】
前記埋め込みニューネットワークが更新ブロックのシーケンスを含み、
各更新ブロックが、更新ブロックパラメータのそれぞれのセットを有し、
現在のペア埋め込みおよび現在の単一埋め込みを受け取ることと、
前記更新ブロックの前記更新ブロックパラメータの値に従って、前記現在のペア埋め込みに基づいて前記現在の単一埋め込みを更新することと、
前記更新ブロックの前記更新ブロックパラメータの前記値に従って、更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することと
を含む動作を実行し、
更新ブロックの前記シーケンスの中の最初の更新ブロックが、前記初期ペア埋め込みおよび前記初期単一埋め込みを受け取り、
更新ブロックの前記シーケンスの中の最後の更新ブロックが、最終的なペア埋め込みおよび最終的な単一埋め込みを生成する、
請求項7に記載の方法。
【請求項9】
前記標的タンパク質の前記標的タンパク質構造の前記埋め込みを生成することが、
前記最終的なペア埋め込み、前記最終的な単一埋め込み、または前記最終的なペア埋め込みと前記最終的な単一埋め込みとの両方に基づいて、前記標的タンパク質の前記標的タンパク質構造の前記埋め込みを生成することを含む、請求項8に記載の方法。
【請求項10】
前記現在のペア埋め込みに基づいて前記現在の単一埋め込みを更新することが、
前記現在の単一埋め込み上のアテンションを使用して前記現在の単一埋め込みを更新することであって、前記アテンションが、前記現在のペア埋め込みに条件付けられる、ことを含む、請求項8または9に記載の方法。
【請求項11】
前記現在の単一埋め込み上のアテンションを使用して前記現在の単一埋め込みを更新することが、
前記現在の単一埋め込みに基づいて、複数のアテンション重みを生成することと、
前記現在のペア埋め込みに基づいて、前記アテンション重みの各々に対応するそれぞれのアテンションバイアスを生成することと、
前記アテンション重みおよび前記アテンションバイアスに基づいて、複数の偏りのあるアテンション重みを生成することと、
前記偏りのあるアテンション重みに基づいて前記現在の単一埋め込みのアテンションを使用して前記現在の単一埋め込みを更新することと
を含む、請求項10に記載の方法。
【請求項12】
前記更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することが、
前記更新された単一埋め込みに変換動作を適用することと、
前記変換動作の結果を前記現在のペア埋め込みに加算することによって前記現在のペア埋め込みを更新することと
を含む、請求項8から11のいずれか一項に記載の方法。
【請求項13】
前記変換動作が、外積演算を含む、請求項12に記載の方法。
【請求項14】
前記更新された単一埋め込みに基づいて前記現在のペア埋め込みを更新することが、前記変換動作の前記結果を前記現在のペア埋め込みに加算した後に、
前記現在のペア埋め込み上のアテンションを使用して前記現在のペア埋め込みを更新することであって、前記アテンションが、前記現在のペア埋め込みに条件付けられる、こと
をさらに含む、請求項12または13に記載の方法。
【請求項15】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の前記表現を生成することが、
潜在空間上の確率分布のパラメータを定義するデータを生成するために、前記標的タンパク質構造の前記埋め込みを処理することと、
前記潜在空間上の前記確率分布に従って、前記潜在空間から潜在変数をサンプリングすることと、
前記予測されたアミノ酸配列の前記表現を生成するために、前記潜在空間からサンプリングされた前記潜在変数を処理することと
を含む、請求項1から14のいずれか一項に記載の方法。
【請求項16】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の前記表現を生成することが、前記予測されたアミノ酸配列内の各位置に関して、
可能なアミノ酸のセット上の確率分布を生成するために、(i)前記標的タンパク質構造の前記埋め込み、および(ii)前記予測されたアミノ酸配列内の任意の先行する位置のアミノ酸を定義するデータを処理することと、
可能なアミノ酸の前記セット上の前記確率分布に従って、可能なアミノ酸の前記セットから、前記予測されたアミノ酸配列内の前記位置のためのアミノ酸をサンプリングすることと
を含む、請求項1から15のいずれか一項に記載の方法。
【請求項17】
目標物体の表面部分の3次元形状およびサイズの表現を取得するステップと、前記目標物体の前記表面部分の前記
3次元形状および前記サイズと相補的な形状およびサイズを有する部分を含む構造として前記標的タンパク質構造を取得するステップとをさらに含む、請求項1から16のいずれか一項に記載の方法。
【請求項18】
結合標的のリガンドを取得する方法であって、
前記リガンドの前記結合標的の表面部分の3次元形状およびサイズの表現を取得するステップと、
前記結合標的の前記表面部分の前記
3次元形状および前記サイズと相補的な形状およびサイズを有する部分を含む構造として標的タンパク質構造を取得するステップと、
請求項1から17のいずれか一項に記載の方法を使用してトレーニングされた埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、前記標的タンパク質構造を有すると予測される1つまたは複数の対応する標的タンパク質のアミノ酸配列を決定するステップと、
前記結合標的との前記1つまたは複数の標的タンパク質の相互作用を評価するステップと、
評価の結果に応じて、前記標的タンパク質のうちの1つまたは複数を前記リガンドとして選択するステップと
を含む、方法。
【請求項19】
前記結合標的が、受容体または酵素を含み、前記リガンドが、前記受容体または前記酵素のアゴニストまたはアンタゴニストである、請求項18に記載の方法。
【請求項20】
前記結合標的が、ウイルスタンパク質または癌細胞タンパク質を含む抗原である、請求項18に記載の方法。
【請求項21】
前記結合標的が、疾患に関連するタンパク質であり、前記標的タンパク質が、前記疾患の診断用抗体マーカーとして選択される、請求項18に記載の方法。
【請求項22】
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成することが、前記予測されたアミノ酸配列に含まれるべきアミノ酸配列に条件付けられる、請求項1から21のいずれか一項に記載の方法。
【請求項23】
請求項1から17のいずれか一項に記載の方法を使用してトレーニングされた埋め込みニューラルネットワークおよび生成ニューラルネットワークを使用して、標的タンパク質構造を有すると予測される標的タンパク質のアミノ酸配列を決定するステップと、
決定されたアミノ酸配列を有する前記標的タンパク質を物理的に合成するステップと
を含む、方法。
【請求項24】
1つまたは複数のデータ処理装置によって実行される方法であって、
標的タンパク質の標的タンパク質構造の埋め込みを生成するために、複数の埋め込みニューラルネットワークパラメータを有する埋め込みニューラルネットワークを使用して、前記標的タンパク質の前記標的タンパク質構造を特徴付ける入力を処理するステップ、
前記標的タンパク質構造の前記埋め込みに基づいて、前記標的タンパク質の予測されたアミノ酸配列を決定するステップであって、
前記標的タンパク質構造の前記埋め込みによって、複数の生成ニューラルネットワークパラメータを有する生成ニューラルネットワークを条件付けるステップと、
前記標的タンパク質構造の前記埋め込みに条件付けられる前記生成ニューラルネットワークによって、前記標的タンパク質の前記予測されたアミノ酸配列の表現を生成するステップと
を含む、ステップを含み、
前記埋め込みニューラルネットワークおよび前記生成ニューラルネットワークが、トレーニングタンパク質のセットの中の各トレーニングタンパク質に関して、
前記埋め込みニューラルネットワークおよび前記生成ニューラルネットワークを使用して、前記トレーニングタンパク質の予測されたアミノ酸配列を生成することと、
前記予測されたアミノ酸配列を有するタンパク質の予測されたタンパク質構造の表現を生成するために、タンパク質フォールディングニューラルネットワークを使用して前記トレーニングタンパク質の前記予測されたアミノ酸配列の表現を処理することと、
(i)前記予測されたアミノ酸配列を有する前記タンパク質の前記予測されたタンパク質構造と、(ii)前記トレーニングタンパク質のトレーニングタンパク質構造との間の構造類似性測定値を決定することと、
前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータに関する前記構造類似性測定値の勾配を決定することと、
前記構造類似性測定値の前記勾配を使用して、前記埋め込みニューラルネットワークパラメータおよび前記生成ニューラルネットワークパラメータの値を調整することと
を含む動作によって共同でトレーニングされる、方法。
【請求項25】
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータに通信可能なように結合される1つまたは複数のストレージデバイスであって、前記1つまたは複数のコンピュータによって実行されるときに前記1つまたは複数のコンピュータに請求項1から17または24のいずれか一項に記載の
方法を実行させる命令を記憶する、1つまたは複数のストレージデバイスと
を含む、システム。
【請求項26】
1つまたは複数のコンピュータによって実行されるときに前記1つまたは複数のコンピュータに請求項1から17または24のいずれか一項に記載の
方法を実行させる命令を記憶する、1つまたは複数の非一時的コンピュータストレージ媒体。
【国際調査報告】