IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シーゼット・バイオハブ・エスエフ・リミテッド・ライアビリティ・カンパニーの特許一覧 ▶ ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティーの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-09-28
(54)【発明の名称】ゲノム配列データセット生成
(51)【国際特許分類】
   C12Q 1/6869 20180101AFI20230921BHJP
【FI】
C12Q1/6869 Z
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023516815
(86)(22)【出願日】2021-09-14
(85)【翻訳文提出日】2023-05-11
(86)【国際出願番号】 US2021050182
(87)【国際公開番号】W WO2022056438
(87)【国際公開日】2022-03-17
(31)【優先権主張番号】63/078,148
(32)【優先日】2020-09-14
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVA
2.SWIFT
3.PYTHON
(71)【出願人】
【識別番号】523091224
【氏名又は名称】シーゼット・バイオハブ・エスエフ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】CZ Biohub SF, LLC
(71)【出願人】
【識別番号】503115205
【氏名又は名称】ザ ボード オブ トラスティーズ オブ ザ レランド スタンフォード ジュニア ユニバーシティー
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100122301
【弁理士】
【氏名又は名称】冨田 憲史
(74)【代理人】
【識別番号】100157956
【弁理士】
【氏名又は名称】稲井 史生
(74)【代理人】
【識別番号】100170520
【弁理士】
【氏名又は名称】笹倉 真奈美
(74)【代理人】
【識別番号】100221545
【弁理士】
【氏名又は名称】白江 雄介
(72)【発明者】
【氏名】モントセラト,ダニエル マス
(72)【発明者】
【氏名】イオアニディス,アレクサンダー
(72)【発明者】
【氏名】ブスタマンテ,カルロス
【テーマコード(参考)】
4B063
【Fターム(参考)】
4B063QA01
4B063QA13
4B063QA17
4B063QQ42
4B063QQ52
4B063QR32
4B063QR35
4B063QX04
(57)【要約】
一実施例では、方法は、形質インジケータを受信することと、形質インジケータに基づいて、潜在空間における埋め込みベクトルの確率分布を取得することであって、確率分布は、訓練された生成的機械学習モデルの分布生成サブモデルによって、形質インジケータに関連付けられた変異体セグメントを表す入力ベクトルから生成され、入力ベクトルは、潜在空間よりも大きい数の次元を有する変異体セグメント空間において定義される、取得することと、確率分布をサンプリングすることによってサンプルベクトルを取得することと、訓練された生成的機械学習モデルの配列生成サブモデルによって、かつ形質インジケータに基づいて、サンプルベクトルから出力ベクトルを再構築することであって、出力ベクトルは、変異体セグメント空間において定義される、再構築することと、出力ベクトルに基づいて、シミュレートされたゲノム配列を生成することと、を含む。
【選択図】図3-2
【特許請求の範囲】
【請求項1】
シミュレートされたゲノム配列を生成するためのコンピュータ実装方法であって、
形質インジケータを受信することと、
前記形質インジケータに基づいて、潜在空間における埋め込みベクトルの確率分布を取得することであって、前記確率分布は、前記形質インジケータに関連付けられた形質を有する対象のゲノムの複数の変異体部位における変異体値の配列を表す入力ベクトルから、訓練された生成的機械学習モデルの分布生成サブモデルによって生成され、各変異体値は、変異体部位に存在する特定の変異体を指定し、前記入力ベクトルは、前記複数の変異体部位に対応する第1の数の次元を有する変異体セグメント空間において定義され、前記潜在空間は、前記第1の数の次元よりも小さい第2の数の次元を有し、前記確率分布は、前記第2の数の次元を有する多次元である、取得することと、
前記潜在空間の前記第2の数の次元の各々における前記確率分布をサンプリングすることによって、サンプルベクトルを取得することと、
前記訓練された生成的機械学習モデルの配列生成サブモデルによって、かつ前記形質インジケータに基づいて、前記サンプルベクトルから出力ベクトルを再構築することであって、前記出力ベクトルは、前記変異体セグメント空間において定義される、再構築することと、
前記出力ベクトルに基づいて、前記シミュレートされたゲノム配列を生成することと、を含む、コンピュータ実装方法。
【請求項2】
前記複数の変異体部位のうちの少なくとも1つに対する変異体のタイプは、一塩基多型(SNP)である、請求項1に記載の方法。
【請求項3】
前記複数の変異体部位は、複数のタイプの変異体を有する、請求項2に記載の方法。
【請求項4】
前記形質は、祖先起源である、請求項1に記載の方法。
【請求項5】
前記形質は、生物医学的形質又は人口統計学的形質である、請求項1に記載の方法。
【請求項6】
1つ以上の追加の形質に対応する1つ以上の追加の形質インジケータを受信することであって、前記対象は、前記1つ以上の追加の形質も有する、受信することを更に含む、請求項1に記載の方法。
【請求項7】
前記確率分布を取得することは、異なる形質インジケータに各々が関連付けられた複数の確率分布から前記確率分布を選択することを含む、請求項1に記載の方法。
【請求項8】
前記確率分布を取得することは、前記確率分布を生成するために、前記分布生成サブモデルに前記入力ベクトル及び前記形質インジケータを入力することを含む、請求項1に記載の方法。
【請求項9】
前記対象の入力ゲノム配列から抽出された複数の入力変異体セグメントを受信することであって、前記複数の入力変異体セグメントの各々は、変異体部位における変異体値を含み、前記複数の入力変異体セグメントは、前記入力ベクトルを含む、受信することと、
前記複数の入力変異体セグメントの各々について、
前記分布生成サブモデルによって、確率分布を決定すること、
前記確率分布をサンプリングすることによって、それぞれのサンプルベクトルを取得し、それによって、複数のそれぞれのサンプルベクトルを取得すること、及び
前記配列生成サブモデルによって、かつそれぞれの形質インジケータに基づいて、前記それぞれのサンプルベクトルからそれぞれの出力ベクトルを再構築し、それによって、複数のそれぞれの出力ベクトルを決定すること、を行うことと、
前記それぞれの出力ベクトルに基づいて、前記シミュレートされたゲノム配列を生成することと、を更に含む、請求項8に記載の方法。
【請求項10】
前記複数のそれぞれの出力ベクトルは、前記複数のそれぞれのサンプルベクトルから集合的に再構築される、請求項9に記載の方法。
【請求項11】
前記確率分布を決定することは、前記複数の入力変異体セグメントについて集合的に実行され、
前記複数の入力変異体セグメントの各々について、
前記配列生成サブモデルのそれぞれのエンコーダによって、前記入力変異体セグメントの前記変異体値と、1つ以上のそれぞれの形質インジケータと、を受信すること、及び
前記それぞれのエンコーダが前記1つ以上のそれぞれの形質インジケータを使用することによって、前記入力変異体セグメントの前記変異体値に作用し、それぞれのエンコーダ隠れベクトルを出力し、それによって、複数のエンコーダ隠れベクトルを取得すること、を行うことと、
エンコーディング相互接続モジュールによって、前記複数のエンコーダ隠れベクトルを受信することと、
前記エンコーディング相互接続モジュールによって、前記複数の入力変異体セグメントの各々について、前記潜在空間における前記第2の数の次元の各々についての前記確率分布を定義する埋め込みベクトルを生成することと、を含む、請求項10に記載の方法。
【請求項12】
前記複数のそれぞれの出力ベクトルを再構築することは、前記埋め込みベクトルを使用して集合的に実行され、
デコーディング相互接続モジュールにおいて、前記埋め込みベクトル及び前記1つ以上のそれぞれの形質インジケータを受信することと、
前記デコーディング相互接続モジュールが前記複数の入力変異体セグメントの形質インジケータを使用することによって、前記埋め込みベクトルに作用し、前記複数の入力変異体セグメントの各々についてそれぞれのデコーダ隠れベクトルを出力することと、
前記複数の入力変異体セグメントの各々について、
前記配列生成サブモデルのそれぞれのデコーダによって、それぞれのデコーダ隠れベクトルに作用して、前記入力変異体セグメントの前記それぞれの出力ベクトルを取得することと、を含む、請求項11に記載の方法。
【請求項13】
前記確率分布は、ガウス分布を含み、前記確率分布は、前記潜在空間の各次元についての平均及び分散によって表され、前記サンプルベクトルを取得することは、
前記第2の数の次元の各々について、
乱数を生成すること、及び
前記乱数を前記それぞれの平均及び前記それぞれの分散と組み合わせて、前記次元の値を生成すること、を行うことと、
前記潜在空間の前記第2の数の次元について生成された前記値に基づいて、前記サンプルベクトルを形成することと、を含む、請求項9に記載の方法。
【請求項14】
前記分布生成サブモデルは、第1のニューラルネットワークを含み、前記第1のニューラルネットワークは、第1の入力層、第1の隠れ層、及び第1の出力層を含み、
前記第1の入力層のノードの第1のサブセットの各ノードは、入力変異体セグメントにおける変異体部位に対応し、対応する変異体部位の変異体値を受信し、前記変異体値を複数の第1の重みのうちの第1の重みでスケーリングし、
前記第1の隠れ層における各ノードは、前記第1の入力層のノードの前記第1のサブセットからのスケーリングされた変異体値の和に基づいて、第1の中間値を生成し、複数の第2の重みのうちの第2の重みに基づいて、前記第1の中間値をスケーリングして、スケーリングされた第1の中間値を取得し、
前記第1の出力層の各ノードは、前記第1の隠れ層の各ノードからの前記スケーリングされた第1の中間値の和に基づいて、前記潜在空間の次元の前記平均及び前記分散を出力する、請求項13に記載の方法。
【請求項15】
前記第1の入力層のノードの第2のサブセットの各ノードは、前記入力変異体セグメントの前記形質を表す値を受信し、
前記第1の隠れ層における各ノードは、前記第1の入力層のノードの前記第1のサブセットからのスケーリングされた変異体値の前記和と、前記第1の入力層のノードの前記第2のサブセットからの前記形質を表すスケーリングされた値の和と、に基づいて、前記第1の中間値を生成する、請求項14に記載の方法。
【請求項16】
前記入力変異体セグメントの前記形質に基づいて、前記複数の第1の重み及び前記複数の第2の重みを選択することを更に含む、請求項14に記載の方法。
【請求項17】
前記配列生成サブモデルは、第2のニューラルネットワークを含み、前記第2のニューラルネットワークは、第2の入力層、第2の隠れ層、及び第2の出力層を含み、
前記第2の入力層のノードの第1のサブセットの各ノードは、前記潜在空間の次元に対応し、対応する次元のサンプルベクトル値を受信し、前記サンプルベクトル値を第3の重みでスケーリングし、
前記第2の隠れ層における各ノードは、前記第2の入力層のノードの前記第1のサブセットからのスケーリングされたサンプルベクトル値の和に基づいて、第2の中間値を生成し、第4の重みに基づいて、前記第2の中間値をスケーリングし、
前記第2の出力層の各ノードは、シミュレートされた変異体セグメントを表す前記それぞれの出力ベクトルのベクトル値を出力する、請求項13に記載の方法。
【請求項18】
前記第2の入力層のノードの第2のサブセットの各ノードは、入力変異体セグメントの前記形質を表す値を受信し、
前記第2の隠れ層における各ノードは、前記第2の入力層のノードの前記第1のサブセットからのスケーリングされた変異体値の和と、前記第2の入力層のノードの前記第2のサブセットからの前記形質を表すスケーリングされた値の和と、に基づいて、前記第2の中間値を生成する、請求項17に記載の方法。
【請求項19】
入力変異体セグメントの前記形質に基づいて、前記第3の重み及び前記第4の重みを選択することを更に含む、請求項17に記載の方法。
【請求項20】
前記分布生成サブモデル及び前記配列生成サブモデルは、クラス条件付き変分オートエンコーダ(CVAE)を形成し、複数の入力変異体セグメントの複数の形質は、前記CVAEの異なるクラスを表す、請求項8に記載の方法。
【請求項21】
前記分布生成サブモデルは、再構築誤差成分及び分布誤差成分を含む第1の損失関数に基づいて訓練され、
前記再構築誤差成分は、前記出力ベクトルと前記入力ベクトルとの差分に基づき、
前記分布誤差成分は、前記埋め込みベクトルの確率分布と目標確率分布との差分に基づき、
前記分布生成サブモデルのパラメータは、前記第1の損失関数を減少させるように調整される、請求項8に記載の方法。
【請求項22】
前記分布誤差成分は、Kullback-Leibler発散に基づく、請求項21に記載の方法。
【請求項23】
前記配列生成サブモデルは、前記再構築誤差成分を含む第2の損失関数に基づいて訓練される、請求項21に記載の方法。
【請求項24】
前記配列生成サブモデルは、入力変異体セグメントの前記形質に基づいて、前記配列生成サブモデルによって出力された前記出力ベクトルが、実際の変異体配列又はシミュレートされた変異体配列を表すかどうかを分類する判別器を用いる敵対的訓練演算で訓練される、請求項23に記載の方法。
【請求項25】
前記第2の損失関数は、前記判別器における分類誤差率が増加すると低下する敵対的損失成分を更に含み、
前記判別器は、前記分類誤差率が減少すると減少する第3の損失関数に基づいて訓練され、
前記配列生成サブモデル及び前記判別器のパラメータは、それぞれ、前記第2の損失関数及び前記第3の損失関数を減少させるように調整される、請求項24に記載の方法。
【請求項26】
前記判別器は、第3のニューラルネットワークを含み、前記第3のニューラルネットワークは、第3の入力層、第3の隠れ層、及び第3の出力層を含み、
前記第3の入力層のノードの第1のサブセットの各ノードは、変異体部位に対応し、前記出力ベクトルにおける対応する変異体部位の変異体値を受信し、前記変異体値を第5の重みでスケーリングし、
前記第3の隠れ層における各ノードは、前記第3の入力層のノードの前記第1のサブセットからのスケーリングされた変異体値の和に基づいて、第3の中間値を生成し、第6の重みに基づいて、前記第3の中間値をスケーリングして、スケーリングされた第3の中間値を取得し、
前記第3の出力層は、前記第3の隠れ層からの前記スケーリングされた第3の中間値に基づいて、前記出力ベクトルが実際の変異体セグメントを表す確率を計算するためのノードを含む、請求項25に記載の方法。
【請求項27】
前記第3の入力層のノードの第2のサブセットの各ノードは、前記入力変異体セグメントの前記形質を表す値を受信し、
前記第3の隠れ層における各ノードは、前記第3の入力層のノードの前記第1のサブセットからのスケーリングされた変異体値の前記和と、前記第3の入力層のノードの前記第2のサブセットからの前記形質を表すスケーリングされた値の和と、に基づいて、前記第3の中間値を生成する、請求項26に記載の方法。
【請求項28】
前記入力変異体セグメントの前記形質に基づいて、前記第5の重み及び前記第6の重みを選択することを更に含む、請求項26に記載の方法。
【請求項29】
前記配列生成サブモデル及び前記判別器は、クラス条件付き敵対的生成ネットワーク(CGAN)を形成する、請求項24に記載の方法。
【請求項30】
実行されると、コンピュータシステムに、先行請求項のいずれか一項に記載の方法を実行させる複数の命令を記憶している非一時的コンピュータ可読媒体を備える、コンピュータ製品。
【請求項31】
システムであって、
請求項30に記載のコンピュータ製品と、
前記非一時的コンピュータ可読媒体上に記憶された命令を実行するための1つ以上のプロセッサと、を備える、システム。
【請求項32】
先行請求項のいずれか一項に記載の方法を実行するための手段を備える、システム。
【請求項33】
先行請求項のいずれか一項に記載の方法を実行するように構成された1つ以上のプロセッサを備える、システム。
【請求項34】
先行請求項のいずれか一項に記載の方法のステップをそれぞれ実行するモジュールを備える、システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年9月14日に出願された“Genomic Sequence Dataset Generation”と題された米国仮出願第63/078,148号の優先権を主張し、このPCT出願であり、その全内容は、あらゆる目的のために参照により本明細書に組み込まれる。
【0002】
連邦政府が後援する研究開発下で行われた発明の権利に関する声明
本発明は、国立衛生研究所によって付与された助成番号HG009080の下で政府の支援を受けて行われた。政府は、本発明に一定の権利を有する。
【背景技術】
【0003】
人のデオキシリボ核酸(DNA)配列中のほとんどの部位は、個体間で変動しないが、約2パーセント(500万の位置)変動する。これらは、一塩基多型(SNP)と称される。ヒトの集団は全て、アフリカで共通の古代起源を共有し、共通の可変部位のセットを共有しているが、現代のヒトの集団は、これらの集団のゲノムにおけるDNA配列の各部位でのSNP変異体の頻度に明らかな差異を呈する。DNAは、各世代において、(2つの親DNA配列間の)祖先における希少でランダムなスワップのみを有するインタクトな配列として遺伝されるため、祖先SNPは、連続したセグメントを形成する。結果として、典型的には一括して遺伝されるゲノムに沿った隣接する部位間の相関が、世界中の亜集団間で異なる。
【0004】
ゲノムに沿った隣接部位間の相関から、様々な情報を推断することができる。例えば、局所的祖先推論は、個体のゲノムに沿った様々な部位で観察された変動のパターンを使用して、個体のDNAの祖先起源を推定する。加えて、ゲノムに沿った相関は、多遺伝子リスクスコア(PRS)、ゲノムワイド関連解析(GWAS)、及び精密医療の他の多くの態様に影響を与える可能性がある。近傍の遺伝子変異体間の相関が祖先依存性であることを考えると、個体のゲノムにこれらの分析の結果を適用することは、ゲノムに沿った各部位における個体の祖先に関する知識を必要とし得る。
【0005】
残念なことに、世界の亜集団の多くは、現代の遺伝子調査研究に含められておらず、これらの研究の80%超が、ヨーロッパ祖先の個体のみを含む。これにより、世界の集団の残りに対して正確な予測を行う能力が、厳しく制限される。局所的祖先推論を使用して混合個体の祖先を解析することは、このギャップを埋め、かつ非ヨーロッパ祖先の遺伝的アーキテクチャ及び関連性を理解することに貢献し、したがって、医学的遺伝学の恩恵が地球の集団の大部分に生じることを可能にする。
【0006】
混合祖先における多型の隠れマルコフモデル(HMM)ベースの分析(HAPAA)、HAPMIX、及びSABE、スライディング窓を用いた確率最大化を使用する混合集団における局所的祖先(LAMP)、窓内でランダムフォレストを使用するRFMix、及びニューラルネットワークを使用する局所的祖先推論ネットワーク(LAI-Net)などの、局所的祖先推論のための様々な方法が存在する。しかしながら、これらのアルゴリズムは、それぞれの染色体の祖先セグメントを認識するために、各祖先からのアクセス可能な訓練データを必要とする。主な課題は、ヒトゲノム参照を含む多くのデータセットがプライバシー制限によって保護されており、かつ私有のものであるか、又は別様に公衆にアクセス可能でないことである。訓練データセットの欠如は、正確な局所的祖先推論を実行する際のこれらのアルゴリズムの能力を低下させる可能性がある。
【0007】
したがって、種々の祖先起源についての遺伝的変異体のより多様なセットを有するゲノム配列データセットを生成するための技術が望ましい。
【発明の概要】
【課題を解決するための手段】
【0008】
本開示の実施例は、生成的機械学習モデルを使用して、所定の形質(例えば、祖先起源)の遺伝子変異体(例えば、SNP)のセグメントを有するシミュレートされたゲノム配列を生成するための方法、システム、及び装置を提供する。生成的機械学習モデルは、単倍体又は二倍体DNA配列中の入力変異体(例えば、SNP)セグメントを表すデータ、及びセグメントの形質を示す情報を受信することができる。DNA配列を、例えば、対象のゲノム配列を提供するゲノム配列決定演算、DNAのセグメントを含むDNAマイクロアレイなどから得ることができる。入力変異体セグメントを表すデータは、入力ベクトルを含むことができ、入力ベクトルの各次元は、ゲノム内のヘテロ接合部位を表し、変異体を示す値に関連付けられる。変異体の入力セグメントから、かつ形質に基づいて、生成的機械学習モデルは、多次元確率分布に基づいて、シミュレートされた変異体セグメントを表す出力ベクトルのセットをランダムに生成することができる。出力ベクトルは、入力変異体セグメントと比較して、ゲノム内の部位に異なるパターンの変異体を有し得る。シミュレートされた変異体セグメントは、入力変異体セグメントの変異体であり得、多次元確率分布に基づく特定の形質についての入力変異体セグメントに統計的に関連している。
【0009】
いくつかの実施例によれば、生成的機械学習モデルの特定の演算を、削減された、すなわち、セグメント中の変異体の数から削減された、次元空間(例えば、潜在空間)において実行することができる。例えば、初期マッピングは、N個の変異体を、M個の次元を有する埋め込みベクトルに変換することができ、ここで、M(例えば、40)は、N(例えば、500)未満である。入力変異体セグメント(例えば、500個のSNP又は他の変異体を有する)について、生成的機械学習モデルは、多次元確率分布の表現(例えば、削減された空間の各次元についての1つの確率分布)を決定し、次いで、1つの入力変異体セグメントから、多次元確率分布からの埋め込みベクトルのサンプルを取得することができる。次いで、サンプルは、シミュレートされた変異体セグメントとして再構築される。一実施例では、確率分布を、多次元平均及び多次元分散を有するガウス分布としてモデル化することができる。いくつかの実施例では、確率分布は、削減された空間の各次元について異なる平均値及び分散値を有することができる。いくつかの実施例では、Kullback-Leibler(KL)発散に基づく訓練演算を介して、ゼロ平均及び単位分散ガウス分布(例えば、等方性ガウス分布)を達成することができる。特定の確率分布(又は1つの多次元分布)の決定を、パラメータが訓練演算で学習されるマッピングに基づいて行うことができる。したがって、入力変異体セグメントの変異体値を、分布のセット(又は多次元分布)にマッピングすることができる。次いで、生成的機械学習モデルは、多次元ガウス分布からサンプルを取得することができ、この場合に、サンプルは、出力ベクトルを生成するために再構築される。
【0010】
いくつかの実施例では、生成的機械学習モデルは、クラス条件付き変分オートエンコーダ(CVAE)として構成されたエンコーダ及びデコーダを含む。エンコーダ及びデコーダの両方をニューラルネットワークモデルとして実装することができる。エンコーダは、例えば、削減された数の次元の各々についての分布の平均及び幅(分散)へのマッピングによって、変異体セグメント空間における入力ベクトルを、削減された数の次元を有する潜在空間における埋め込みベクトルの多次元確率分布に変換することができる。等方性分布の場合、分散は、各次元について同じになる。削減された空間における分布は、入力変異体セグメントの変動を表すことができる。デコーダは、確率分布から埋め込みベクトルのサンプルを取得することができ、次いで、埋め込みベクトルを、サンプルから出力ベクトルを形成するように再構築し、出力ベクトルは、入力ベクトルと同じ次元を有し、シミュレートされた変異体セグメントを表す。
【0011】
CVAEのエンコーダ及びデコーダの両方を、変異体セグメント空間から潜在空間へのマッピングにおける情報損失を低減しながら、変異体の異なるパターンを目標の多次元確率分布にフィッティングさせるように訓練することができる。このことは、デコーダによって生成されたシミュレートされた変異体セグメントが、多次元確率分布に従って入力変異体セグメントに統計的に関連し、変異体セグメント中のランダムな変動の効果をシミュレートすることができることを確実にすることができる。エンコーダ及びデコーダの訓練は、(入力ベクトルと出力ベクトルの各々との間の)再構築誤差と、目標確率分布からの発散に対するペナルティとを組み合わせた損失関数を最小化することに基づくことができる(例えば、多次元確率分布と目標確率分布の目標値と、のパラメータ(例えば、平均及び分散)の差分に基づいて)。訓練演算を実行して、再構築誤差及び分布発散のペナルティを低減又は最小化して、エンコーダによって生成された変異体セグメントの分布を、ゼロ平均単位分散ガウス分布であり得る目標確率分布に(ある程度)マッチするように強制することができる。変異体セグメントの分布の中心(平均)及び分散を、再構築誤差及び分布発散のペナルティの低減/最小化に基づいて設定することができる。
【0012】
シミュレートされた変異体セグメントが目標確率分布により密接に従い得るように、分布誤差を更に低減するために、CVAEを、前述の訓練演算におけるデコーダ及び判別器を含むクラス条件付き敵対的生成ネットワーク(CGAN)を使用して訓練することができる。判別器をニューラルネットワークモデルとして実装することもでき、判別器は、デコーダによって出力された変異体セグメントが実際の変異体セグメントであるか、又はシミュレートされた変異体セグメントであるかを分類することができる。判別器は、シミュレートされた変異体セグメントが目標確率分布に従うとき、実際の変異体セグメントをシミュレートされた変異体セグメントから区別することができない場合があり、この時点で、判別器の分類誤差率が最大に達する場合があり、このことは、デコーダの再構築が最適であることを意味する。敵対的訓練演算であって、デコーダのパラメータを、削減された次元での確率分布が目標確率分布に近づくように分類誤差率を増加させるように調整し、一方で、判別器のパラメータを、分類誤差率を低減するように調整する、敵対的訓練演算を実行することができる。訓練演算は、出力ベクトルのおよそ50%が実際の変異体セグメントを表し、かつ出力ベクトルのおよそ50%が偽物の/シミュレートされた変異体セグメントを表すときに停止し得る。
【0013】
開示された実施例を用いて、生成的機械学習モデルを使用して、多数のランダムであるが統計的にシミュレートされた変異体セグメントを生成することができる。例えば、訓練演算を通じて、入力変異体配列を異なる祖先についての埋め込み空間にマッピングするエンコーダのパラメータ、及び埋め込みベクトルを異なる祖先についての再構築された配列にもマッピングするデコーダのパラメータを取得することができる。生成的機械学習モデルは、目標祖先を入力として受信することができる。次いで、その目標祖先についての特定の確率分布(例えば、ガウス分布)を選択することができ、埋め込みベクトルの複数のサンプルを、その特定の確率分布から取得することができる。次いで、埋め込みベクトル及び目標祖先をデコーダに入力して、シミュレートされた変異体セグメントを生成することができる。別の実施例として、入力変異体セグメント及びこの入力変異体セグメントの形質をエンコーダに入力して、確率分布のパラメータを生成することもでき、そこから埋め込みベクトルをサンプリングすることができ、次いで、サンプリングされた埋め込みベクトル及び形質をデコーダに入力して、シミュレートされた変異体セグメントを生成することができる。
【0014】
シミュレートされた変異体セグメントを、様々な用途に使用することができる。一実施例では、シミュレートされた変異体セグメントを使用して、局所的祖先推論機械学習モデルを訓練することができる。シミュレートされた変異体セグメントは、異なる形質についての統計的に関連する変異体パターンの多様なセットを含むことができるため、シミュレートされた変異体セグメントで訓練された局所的祖先推論機械学習モデルは、それらの変異体パターンから学習し、変異体セグメントの形質をより正確に予測することができる。
【0015】
別の実施例では、シミュレートされた変異体セグメントを、ゲノムワイド関連研究(GWAS)における追加データとして提供することもできる。例えば、様々な統計技術を使用して、ゲノム配列、形質、及び特定の目標医学的/生物学的形質間の基礎的関係を検出することができる。訓練演算のカバ-範囲を改善するために、目標の医学的/生物学的形質及びそれらの形質を有する(又は有していない)シミュレートされた個体についての追加の変異体セグメントを、生成的機械学習モデルを使用して生成することができ、追加の変異体セグメントを提供して、モデルを訓練することができる。追加の変異体セグメントを使用して、例えば、目標の医学的/生物学的形質を有していないシミュレートされた個体の変異体セグメントを表す制御データ、及び目標の医学的/生物学的形質であるが異なる形質を有するシミュレートされた個体の変異体セグメントを表す制御データなどを提供することができる。
【0016】
加えて、生成的機械学習モデルは、追加の変異体セグメントデータ(訓練用、GWAS用など)を生成するための移植性を有し、かつ公にアクセス可能なメカニズムを提供することができる。具体的には、実際のヒトゲノム参照を含むデータセットは、私有のものであり、プライバシー制限によって保護されている。対照的に、生成的機械学習モデルの関数/モデルパラメータは、任意の個体を識別することができ、かつ公に利用可能にすることができるデータを搬送しない。結果として、生成的機械学習モデルを公に利用可能にして、シミュレートされた変異体セグメントを生成して、局所的祖先推論機械学習モデルの訓練を改善し、GWAS用などの制御データを提供することができる。
【0017】
いくつかの実施例は、本明細書に記載されている方法と関連付けられたシステム及びコンピュータ可読媒体を対象とする。
【0018】
以下の詳細な説明及び添付の図面を参照して、本開示の実施例の性質及び利点のより良好な理解を得ることができる。
【図面の簡単な説明】
【0019】
図1-1】図1A及び図1Bは、ゲノムにおける一塩基多型(SNP)及びSNPの祖先起源の実施例を例示する。
図1-2】同上。
【0020】
図2-1】図2A図2B、及び図2Cは、本開示の実施例によって促進されるSNP配列の例示的な分析を例示する。
図2-2】同上。
図2-3】同上。
【0021】
図3-1】図3A図3B図3C図3D、及び図3Eは、本開示の実施例による、シミュレートされたSNP配列を生成するための生成的機械学習モデルの例示的な構成要素を例示する。
図3-2】同上。
図3-3】同上。
図3-4】同上。
図3-5】同上。
【0022】
図4図4は、本開示の実施例による、図3A図3Eの生成的機械学習モデルの例示的な訓練演算を例示する。
【0023】
図5-1】図5A及び図5Bは、本開示の実施例による、図3A図3Eの生成的機械学習モデルの別の例示的な訓練演算を例示する。
図5-2】同上。
【0024】
図6図6は、いくつかの実施例による、別の生成的機械学習モデルを例示する。
【0025】
図7図7は、本開示の実施例による、種々の変異体セグメント間の関係を提供する機械学習モデルのサンプルアーキテクチャを示す。
【0026】
図8図8は、いくつかの実施例による、シミュレートされたSNP配列を生成する例示的な方法を例示する。
【0027】
図9図9は、本開示の実施例が実装され得るコンピュータシステムを例示する。
【発明を実施するための形態】
【0028】
ゲノムに沿った隣接部位間の相関から、様々な情報を推断することができる。例えば、局所的祖先推論は、個体のゲノムに沿った様々な部位で観察された変動のパターンを使用して、個体のDNAの祖先起源を推定する。加えて、ゲノムに沿った相関は、多遺伝子リスクスコア(PRS)、ゲノムワイド関連解析(GWAS)に影響を与え、精密医療の他の多くの態様を推断することができる。
【0029】
ゲノムの各セグメントについて、形質(例えば、祖先起源、生物医学的形質、人口統計学的形質、又は他の表現型)を割り当てることができる。実施例は、祖先起源について提供されるが、本明細書に記載される技術は、他の形質にも適用される。入力配列に基づく所与の形質に対応する生成する合成配列を生成することができ、これらの合成配列を、形質を有する対象の細胞DNA又は無細胞DNA(例えば、血漿から)を配列決定することによって取得することができる。
【0030】
前述の局所的祖先推論演算、並びにPRS及びGWASの計算などのゲノム関連医学研究は、種々の祖先起源についての遺伝子変異体の多様なセットを有する大規模なゲノム配列データセットで促進され得る。例えば、局所的祖先推論機械学習モデルを、種々の祖先起源の統計的に関連するSNPパターンの多様なセットを使用して訓練することができ、これにより、機械学習モデルが、それらのSNPパターンから学習し、SNPセグメントの祖先起源をより正確に予測することが可能になる。更に、既知の形質を有する対象のSNPパターンをGWAS研究のためのデータとしても使用して、例えば、統計分析がゲノム配列、祖先起源、並びに特定の生物学的/医学的形質及び祖先起源間の基礎的関係を検出するためのデータを提供することができる。しかしながら、実際のヒトゲノム参照を含むデータセットの利用可能性は、典型的には、それらのデータが私有のものであり、かつプライバシー制限によって保護されているため、限られている。
【0031】
本開示の実施例は、生成的機械学習モデルを使用して、所定の祖先起源の遺伝子変異体(例えば、SNP)のセグメントを有するシミュレートされたゲノム配列を生成するための方法、システム、及び装置を提供する。生成的機械学習モデルは、単倍体又は二倍体DNA配列中の入力SNPセグメントを表すデータ、及びセグメントの祖先起源を示す情報を受信することができる。DNA配列を、例えば、対象のゲノム配列を提供するゲノム配列決定演算、DNAのセグメントを含むDNAマイクロアレイなどから得ることができる。入力SNPセグメントを表すデータは、入力ベクトルを含むことができ、入力ベクトルの各次元は、ゲノム内の部位を表し、SNP変異体を示す値に関連付けられる。SNPの入力セグメントから、かつ祖先起源に基づいて、生成的機械学習モデルは、シミュレートされたSNPセグメントを表す1つ以上の出力ベクトルを生成することができる。出力ベクトルは、入力SNPセグメントと比較して、ゲノム内の部位に異なるパターンのSNP変異体を有し得る。シミュレートされたSNPセグメントは、特定の祖先起源の入力SNPセグメントに統計的に関連する入力SNPセグメントの変異体であり得る。
【0032】
いくつかの実施例によれば、生成的機械学習モデルは、入力SNPセグメントの変異体から縮小空間(埋め込み/潜在空間)への変換に基づいて、多次元の確率分布の表現(例えば、平均及び分散)を生成し、次いで、確率分布から埋め込みベクトルのサンプルを取得することができる。次に、シミュレートされたSNPセグメントは、シミュレートされたSNPセグメントとして(例えば、デコーダによって)、埋め込みベクトルサンプルから再構築される。一実施例では、多次元の確率分布は、入力SNPセグメントのマッピングから決定された計算された平均及び分散を有するガウス分布であり得、再構築の正解率を比較する訓練に基づいて、マッピング関数のパラメータを決定することができる。次いで、生成的機械学習モデルは、ガウス分布から、その後に出力ベクトルを形成するように再構築される埋め込みベクトルを生成するためのサンプルを取得することができる。
【0033】
いくつかの実施例では、生成的機械学習モデルは、第1のサブモデル及び第2のサブモデルを含み、これらの両方を、ニューラルネットワークモデルとして実装することができる。第1のサブモデルは、潜在空間における埋め込みベクトルの多次元の確率分布を入力ベクトルにマッピングするように構成されたエンコーダを含むことができる。潜在空間は、入力SNPセグメントに表されたSNP部位の数に対して削減された次元の数を有することができる。次元の数を減少させながら、マッピングは、依然として、埋め込みベクトルにおける入力ベクトルのSNP変異体のパターンを示す情報を保持することができる。確率分布がガウス分布を含む場合、エンコーダは、入力ベクトルにおけるSNP変異体のパターンに基づいて、埋め込みベクトルの各次元の分布についての平均及び分散を決定することができる。種々のSNP配列について、種々の確率分布(例えば、潜在空間の種々の次元について種々の平均及び分散を有する種々のガウス分布)を決定することができる。いくつかの実施例では、祖先起源を入力ベクトルとともにエンコーダに入力して、その祖先起源についての埋め込みベクトルの分布のパラメータを生成することができる。種々の祖先起源についてエンコーダによって、複数の確率分布を生成することができる。
【0034】
加えて、第2のサブモデルは、デコーダを含むことができる。デコーダは、確率分布から埋め込みベクトルのサンプルを取得することができる。確率分布を、入力SNPセグメント及び祖先起源を符号化することに基づいてエンコーダから、又は他の入力SNPセグメントに基づいてエンコーダから事前に生成され、かつ祖先起源及びSNP部位に基づいて選択された確率分布から、出力することができる。次いで、デコーダは、埋め込みベクトルのサンプルから、入力SNPセグメントを表す入力ベクトルと同じ次元を有する出力ベクトルを再構築することができる。サンプリング演算の一部として、埋め込みベクトルのランダムなサンプルを生成するためのパラメータに基づいて、ランダム関数を実装することができる。ランダム関数は、デコーダの一部又は外部であり得る。再構築演算の一部として、デコーダは、入力SNPセグメントの祖先起源に基づいて、潜在空間における埋め込みベクトルのサンプルをSNPセグメント空間における出力ベクトルにマッピングするための再構築関数を実装することができる。次いで、出力ベクトルは、祖先起源のシミュレートされたSNPセグメントを表すことができる。
【0035】
エンコーダ及びデコーダの両方を訓練して、潜在空間におけるSNP変異体の種々のパターンの表現を最大化することができる。いくつかの実施例では、エンコーダ及びデコーダは、種々の祖先起源が種々のクラスとして表されるクラス条件付き変分オートエンコーダ(CVAE)の一部であり得る。CVAEを、訓練演算における所与の祖先起源に対する実際のSNP配列を表す訓練入力ベクトルを使用して訓練することができる。訓練演算は、順伝播演算及び逆伝播演算を含むことができる。順伝播演算の一部として、エンコーダは、関数パラメータの初期セットを有するマッピング関数を使用して、入力ベクトルの埋め込みベクトルの確率分布を決定することができる。確率分布を、例えば、潜在空間の各次元についての平均及び分散によって表すことができる。デコーダは、確率分布に基づいて、埋め込みベクトルのサンプルを計算し、再構築関数(関数パラメータの初期セットを有する)を使用して、出力ベクトルを計算することができる。
【0036】
訓練演算の逆伝播は、マッピング関数及び再構築関数の初期関数パラメータを調整して、第1の損失関数を最小化することができる。第1の損失関数は、再構築誤差成分及び分布誤差成分を含むことができる。再構築誤差を、入力ベクトルと出力ベクトルとの差分に基づいて生成することができるのに対して、分布誤差を、埋め込みベクトルの確率分布と目標確率分布との差分に基づいて生成することができる。いくつかの実施例では、分布誤差を、Kullback-Leibler発散(KL発散)に基づいて計算することができる。勾配下降スキームを介して、第1の損失関数を最小化する目的で、エンコーダ及びデコーダの関数パラメータを、関数パラメータに対する第1の損失関数の変化に基づいて調整することができる。この訓練を、種々の祖先起源のための訓練入力ベクトルについて繰り返して、種々のクラスを表す種々の祖先起源についてのマッピング関数及び再構築関数の種々の関数パラメータを決定することができる。
【0037】
再構築誤差と分布誤差との組み合わせに基づいて、エンコーダ及びデコーダの訓練は、エンコーダが、分布誤差を低減することに基づいて、入力SNPセグメントを(例えば、等方性である)目標特性を有する確率分布にマッピングすることを可能にする一方、再構築誤差を低減することに基づいて、入力SNPセグメントの埋め込みベクトルに基づいて、確率分布の中心を定めることができる。そのような構成では、シミュレートされたSNPセグメント(例えば、祖先起源を与えられた入力SNPセグメントからCVAEによって生成されるか、又は祖先起源に基づいて選択された入力確率分布に基づいてデコーダによって生成される)は、SNPパターン変異体の多様なセットを含むことができるが、SNPパターン変異体は、目標確率分布に基づいて統計的に関連したままである。
【0038】
シミュレートされたSNPセグメントが目標確率分布により密接に従うことができるように分布誤差を更に低減するために、CVAEを、デコーダ及び判別器を含むクラス条件付き敵対的生成ネットワーク(CGAN)を使用して訓練することができる。このCGANの訓練を、前述の訓練演算、エンコーダからの別個の訓練演算、又は訓練の別個のループで実行することができる(例えば、VAEについて複数の訓練反復が行われ、次いで、CGANについて複数の訓練反復が行われ、VAEに戻るなど)。判別器を、生成的機械学習モデルの第3のサブモデルとすることができ、ニューラルネットワークモデルとして実施することもできる。訓練演算中、順伝播演算の一部として、デコーダは、埋め込みベクトルのランダムなサンプルを計算し、シミュレートされたSNPセグメントを表す出力ベクトルを再構築することができる。更に、判別器は、出力ベクトルが実際のSNPセグメントを表すかどうかを判定することができる。判別器は、シミュレートされたSNPセグメントが目標確率分布に従うとき、実際のSNPセグメントをシミュレートされたSNPセグメントから区別することができない場合があり、この時点で、分類誤差率は、50%に近づく。
【0039】
CGANにおける訓練演算の目標は、出力ベクトルが目標確率分布(例えば、等方性ガウス分布)に適合することである。目標に到達するために、敵対的訓練演算を実行し、(シミュレートされたSNPセグメントを実際のSNPセグメントにより類似させることに基づいて)分類誤差を増加させるようにデコーダのパラメータを調整する一方で、分類誤差を減少させるように判別器のパラメータを調整する。デコーダの再構築関数パラメータを、判別器での分類誤差が増加すると減少する第2の損失関数に従って調整することができる。更に、判別器のモデルパラメータを、分類誤差が減少すると減少する第3の損失関数に従って、同じ訓練演算で調整することもできる。分類誤差率が50%に近づくと、敵対的訓練演算を停止することができる。
【0040】
一塩基多型(SNP)以外の他の変異体を使用することができる。変異体を、遺伝子位置又は位置の範囲に対応し得る、部位における任意の遺伝子データとすることができる。様々なタイプの変異体の実施例としては、塩基、欠失、(例えば、短いタンデム反復の)増幅、挿入、反転、及びメチル化ステータスが挙げられる。ある部位が、2つ以上の値、例えば、SNPの特定の対立遺伝子及び特定のメチル化ステータスを含むことが可能である。これらを、同じ変異体部位で生じる異なる変異体値とみなすことができるか、又はこれらの部位を、これらの部位が異なるタイプの変異体に関連するため、異なるとみなすことができる。いずれにせよ、変異体値のベクトルは、同じ全長を有するであろう。したがって、変異体セグメントは、変異体部位の任意のセット(例えば、連続的な)を含むことができ、変異体部位は、1つ以上のタイプの変異体について異なる変異体値を有することができる。
【0041】
I.SNP配列の実施例
一塩基多型(SNP)は、ゲノムにおける一塩基のアデニン(A)、チミン(T)、シトシン(C)、又はグアニン(G)が種のメンバー間で異なる場合に生じるDNA配列変動を指し得る。
【0042】
図1Aは、SNPの一実施例を例示する。図1Aは、異なる個体由来の2つの配列決定されたDNA断片102及び104を例示している。配列決定されたDNA断片102は、塩基対AT-AT-CG-CG-CG-TA-ATの配列を含むのに対して、配列決定されたDNA断片104は、塩基対AT-AT-CG-CG-TA-TAーATの配列を含む。図1Aに示されるように、DNA断片102及び104は、ヌクレオチドの一塩基対(CG対TA、典型的には、C及びTと称される)の差分を含有する。差分を、単一のSNPとしてカウントすることができる。SNPが一般的な変異体であるか、又は少数の変異体であるかに基づいて、SNPを値に符号化することができる。一般的な変異体は、集団においてより一般的であり得る(例えば、80%)のに対して、少数の変異体は、より少ない個体で発生するであろう。いくつかの実施例では、一般的な変異体を-1の値として符号化することができるのに対して、少数の変異体を+1の値として符号化することができる。
【0043】
異なる大陸及び異なる亜大陸地域に由来する現代のヒト集団は、過去5万年にわたる遺伝的浮動及び異なる人口統計学的歴史(ボトルネック、拡大、及び混合)に起因して、これらのヒト集団のゲノムにおけるDNA配列の各部位におけるSNP変異体の頻度、及び異なる近傍部位におけるこれらの変異体間の相関の、識別可能な差異を呈する。DNAは、各世代において、(2つの親DNA配列間の)祖先における希少でランダムなスワップのみを有するインタクトな配列として遺伝されるため、祖先SNPは、連続したSNP変異体のパターンに基づく強力な祖先推論を可能にする、連続したセグメントを形成する。
【0044】
図1Bは、個体の各親由来のものである、個体の混合された染色体対のSNPのセグメント間の祖先起源の例示的なグループを例示する。グループ112は、固体のゲノムを分析することによって決定されるように、個体の異なるSNP部位における遺伝物質の真の祖先起源を例示している。個体のゲノムを、個体の組織からのDNAを配列決定することによって決定することができる。図1Bの実施例では、SNPセグメントの祖先起源は、アフリカ、東アジア、及びヨーロッパを含み得る。
【0045】
グループ112を、SNPセグメントの祖先起源の分類の第1の段階とすることができる。第2の段階として、平滑化を行うことができる。グループ114は、セグメント118(東アジア)の不連続部116(アフリカ)、セグメント122(アフリカ)の不連続部120(東アジア)などの、セグメントの祖先起源不連続部を除去するために、グループ112の全体にわたって平滑化演算を実行することから導出され得る、SNPの復号化された祖先起源を例示している。
【0046】
高分解能でゲノムに沿って祖先を正確に推測する能力は、特定の疾病の素質、特定の生物医学的形質(例えば、血圧、コレステロールレベルなど)などの複雑形質に対する遺伝現象及び環境の役割を理解するために重要である。このことは、複雑な身体的及び医学的形質を共有する共通の祖先を有する集団に起因し得る。例えば、特定の民族は、比較的高い喘息の死亡率を有し得るのに対して、別の民族は、比較的低い喘息の死亡率を有し得る。特定の疾病及び生物医学的形質の素質のための集団内の遺伝的関連性を明らかにすることは、治療の発展に情報を提供し、多遺伝子リスクスコアとして知られる疾患リスクの予測因子の構築を可能にすることができる。しかしながら、近傍の遺伝子変異体(例えば、SNP)間の相関は、祖先依存性であるため、個体のゲノムにこれらのリスクスコアを適用することは、ゲノムに沿った各部位における個体の祖先に関する知識を必要とする。
【0047】
この形質は、任意の表現型のためのものであり得る。他のタイプの形質については、対象のゲノムを依然として混合することができる。例えば、がんに関連付けられた変異体(例えば、配列変異体、コピー数変異体、又は構造変異体)を有するセグメントを、がんに対応する形質インジケータで標識することができ、他のセグメントを、がんでない形質インジケータで標識することができる。更に他の形質については、対象のゲノムは、混合されない場合がある。例えば、自己免疫障害を有する対象は、障害の形質インジケータで標識されたセグメントの全てを有することができる。例えば、医師による観察、病理検査、ゲノム検査、又は他のタイプの検査に基づいて、形質を多様な方途で対象に割り当てることができる。
【0048】
対象は、複数の形質、例えば、祖先起源、人口統計学的形質(例えば、身長)、及び生物医学的形質(例えば、糖尿病などの病気の存在)を有し得る。対象を、これらの対象が有する形質に基づいて、クラスタ化することができる。対象を、任意の数の方途で、様々な形質で標識することができる。例えば、ワンホットエンコーディングを使用して、各形質がセグメントに対して存在するかどうかを指定することができる。いくつかの形質をグループ化することができ(例えば、病気が存在するか否か、又は異なる年齢範囲)、グループからの1つの形質インジケータのみが陽性(例えば、1)である。
【0049】
実施形態を使用して、特定の人のゲノムを使用する必要なく、これらの形質のうちのいずれか1つ以上に関連付けられたゲノム配列をシミュレートすることができ、それによって、プライバシーを維持する。例えば、病院は、2型糖尿病を有し、ネイティブアメリカンの部族のメンバーであり、かつ/又は他の形質を有する対象についてのゲノム配列を有することができ、人々は、これらの対象のDNAを非公開にすることを望む。実施形態は、これらの人々についての同じ特性を有するが、これらの人々の個人的なゲノムではない合成ゲノムを作成することができる。これらの合成ゲノムを使用して、他の対象における形質を予測する別のモデルを訓練することができる。
【0050】
II.SNP配列の例示的な分析
機械学習モデルを使用して、対象のゲノムデータの祖先固有の分析を実行することができる。混合祖先における多型の隠れマルコフモデル(HMM)ベースの分析(HAPAA)、HAPMIX、及びSABE、スライディング窓を用いた確率最大化を使用する混合集団における局所的祖先(LAMP)、及び窓内でランダムフォレストを使用するRFMixなどの、局所的祖先推論のための様々な機械学習モデルが存在する。
【0051】
図2Aは、いくつかの実施例による、局所的祖先推論を実行するための機械学習モデル200の一般のトポロジーを例示する。図2Aに示されるように、機械学習モデル200は、対象(例えば、人)の入力ゲノム配列を表すデータ202を受け取ることができる。入力ゲノム配列は、対象のゲノムの複数の一塩基多型(SNP)部位を各々が含む複数のセグメントを包含し得る。各セグメントを、データ202において、各SNP値がSNP部位における変異体を特定する、SNP部位におけるSNP値の配列によって表し得る。
【0052】
データ202は、SNPセグメント204a、204b、204c、204nなどを含むことができる。各セグメントについて、機械学習モデル200は、セグメント内のSNP値、及びこれらの値の関連付けられたSNP部位のパターンに基づいて、各SNPセグメントについての祖先起源予測(例えば、SNPセグメントがアフリカ、ヨーロッパ、又は東アジアに由来するかどうか)を生成することができる。図2Aでは、機械学習モデル200は、SNPセグメント204aについての祖先起源予測206a、SNPセグメント204bについての祖先元の予測206b、SNPセグメント204cについての祖先起源予測206c、及びSNPセグメント204nについての祖先起源予測206nを生成することができる。祖先起源予測を連結して、例えば、図1Bのグループ112及び/又は114を提供することができる。各セグメントは、同じ又は異なる量の変異体(例えば、SNP)を含むことができる。セグメント内の変異体の例示的な数は、50個、100個、150個、200個、250個、300個、400個、500個、1000個、5000個、及び10000個の部位を含む。
【0053】
機械学習モデル200を、既知の祖先起源を有する個体のゲノムデータを使用して訓練して、SNPの様々な祖先固有のパターンを学習し、及び学習を適用して、入力ゲノムデータからSNPの祖先固有のパターンをより正確な様式で識別することができる。
【0054】
図2Bは、例示的な訓練演算を例示する。図2Bに示されるように、機械学習モデル200は、SNPセグメント214a、214b、214c、及び214n、並びに各セグメントの既知の祖先起源216a、216b、216c、及び216nを含む訓練データ212を受信することができる。機械学習モデル200は、モデルパラメータの初期セットを適用して、SNPセグメント214aについての祖先起源予測218a、SNPセグメント214bについての祖先起源予測218b、SNPセグメント214cについての祖先起源予測218c、及びSNPセグメント214nについての祖先起源予測218nを生成することができる。訓練モジュール230は、各SNPセグメントについての祖先起源予測及び既知の祖先起源を比較し、比較結果に基づいて、モデルパラメータを調整することができる。調整は、訓練データ204内のSNPセグメント間の一致する祖先起源予測のパーセンテージを最大化することに基づくことができる。
【0055】
局所的祖先推論は、ゲノムワイド関連研究(GWAS)に役立ち得る。GWASは、任意の変異体が、特定の疾病の素因、特定の生物医学的形質(例えば、血圧、コレステロールレベルなど)などの形質に関連付けられているかどうかを確認するための、異なる個体における遺伝的変異体のゲノムワイドセットの研究である。したがって、そのような研究は、特異的な遺伝的変動を特定の疾患と関連付けることができる。特定の疾患の特定の祖先起源の素因を知ることは、特定の変動が特定の疾患と関連付けられているかどうかを識別するのに役立ち得る。
【0056】
図2Cは、GWAS240の一実施例を例示する。図2Cでは、集団242は、形質Xを有するのに対して、対照群であり得る集団244は、形質Xを有しない。次いで、両方の集団におけるゲノム配列を分析し、各部位のSNP(存在する場合)を決定する。図2Cでは、SNPがカウントされることは、典型的には、T-A塩基対を有するDNA部位におけるC-G塩基対の出現である(又は、1つの鎖のみ、例えば、ワトソン鎖が使用されている場合、C対Tのみである)。生物学的/医学的形質Xを有する集団242のうち、個体の50%は、第1のDNA部位(「SNP1」と標記されている)にC-G塩基対を有する。対照的に、形質Xを有していない集団244のうち、個体の5%のみが、第1のDNA部位にC-G塩基対を有する。一方、集団242及び244の両方のうちの1%のみが、第2のDNA部位(SNP2と標記されている)にC-G塩基対を有する。この研究から、SNP1としてのC-G塩基対を有する個体は、集団242の中に過剰に存在していると判定することができ、このことは、SNP1としてのC-G塩基対の出現と形質Xとの間の強い関連性を示唆し得る。更に、近隣の遺伝的変異体間の相関が典型的に祖先依存性であることを考えると、研究に含まれるSNPパターンが種々の祖先起源と関連付けられていることも望ましく、形質と祖先起源との間の関連性を見出すこともできる。
【0057】
種々の祖先起源についてのSNPパターンの多様なセットを有する大規模なSNP配列データのセットは、図2A及び図2Bの機械学習モデル200を訓練し、かつ図2CのGWAS240の基礎を提供するのに有用であり得る。具体的には、機械学習モデル200の性能を改善するために、訓練データは、各祖先起源についてのSNPパターンの多様なセットを含むことができる。モデルパラメータは、入力SNPセグメント間の一致する祖先起源予測のパーセンテージを最大化することに基づいて調整されるため、SNPパターンの多様なセットを使用してモデルパラメータを訓練することは、機械学習モデル200がより広範な種類のSNPパターンを検出/区別することを可能にし、祖先起源予測の正解率を向上させることができる。
【0058】
更に、GWAS240では、集団242(形質Xを有する)及び集団244(形質Xを有していない)の両方が、多種多様なSNPパターンを有する個体を含むべきである。これは、GWASからの結論(例えば、SNP1としてのC-G塩基対の出現と形質Xとの間の強い関連性)が、集団242及び244に対してだけではなく、一般の集団にも適用可能であるように、両方の集団が一般の集団を代表することを確実にするためである。更に、集団242及び244の両方に、多種多様なSNPパターンを有する個体を含めることによって、様々なより低頻度のSNPパターンが分析に含まれ、かつ考慮されることを確実にすることができる。このことは、他のSNP変異体ではなく、SNP1としてC-G塩基対の出現が形質Xに支配的に関連性を有するという結論を更に支持し得る。これにより、種々の祖先起源の個体に対するGWAS240の特異性を改善することができる。例えば、集団242及び244内の個体をこれらの個体の祖先起源に従って更に細分化することによって、GWAS240は、例えば、SNP1におけるC-G塩基対と形質Xとの間の強い関連性が、特定の祖先起源を有する個体の特定のグループにのみ適用可能であるが、種々の祖先起源を有する個体の他のグループには適用可能でないことを示し得る。いくつかの実施例では、個体のSNPセグメント、個体の祖先の起源、及びこれらの個体の生物学的/医学的形質に基づいて、統計的分析を実行して、ゲノム配列、祖先起源、及び特定の生物学的/医学的形質間の関係を検出することができる。
【0059】
異なる祖先起源についてのSNPパターンの多様なセットを有する大規模なSNP配列データセットを使用して、局所的祖先推論モデルを訓練し、かつGWASの基礎を提供することが望ましいが、そのようなデータセットの利用可能性は、典型的には限られている。具体的には、SNP配列のデータセットは、典型的には、ヒトから収集され、かつヒトゲノム参照を含む実際のDNA配列から取得される。そのようなデータセットは、典型的には、プライバシー制限によって保護されており、私有のものであるか、又は別様に公衆にアクセス可能でない。十分なサービスを受けていない集団又は感受性が高い集団などの特定の集団に対するSNP配列データセットの利用可能性は、GWASへのこれらの集団の登録の欠如などの様々な理由に起因して、特に制限され得る。結果として、図2Aの機械学習モデル200を訓練するためのSNPセグメントデータ、及びそれらのモデルの正解率を改善するためのGWASの機械学習モデルが欠如し得る。
【0060】
III.機械学習を使用するゲノム配列生成
種々の祖先起源についてのSNPパターンのより多いかつ多様なセットを提供するために、シミュレートされたゲノム配列が提供される。そのようなシミュレートされたSNPパターンを、特定の様式で生成して、現実的なSNPパターンを作成することができ、それによって、これらのSNPパターンを、正確な局所的祖先推論機械学習モデルを提供することとなる訓練セットとして使用することが可能になる。
【0061】
この目的のために、生成的機械学習モデルを使用して、所定の祖先起源の遺伝的変異体(例えば、SNP)のセグメントを有するシミュレートされたゲノム配列を生成することができる。生成的機械学習モデルは、単倍体又は二倍体DNA配列中の入力SNPセグメントを表すデータ、及びセグメントの祖先起源を示す情報を受信することができる。SNPの入力セグメントから、かつ祖先起源に基づいて、生成的機械学習モデルは、確率分布に基づいて、SNP変異体の異なるパターンを含むことができる、シミュレートされたSNPセグメントのセットをランダムに生成することができる。シミュレートされたSNPセグメントは、入力SNPセグメントの変動であり得、確率分布に基づいて、特定の祖先起源についての入力SNPセグメントに統計的に関連している。シミュレートされたSNPセグメントを使用して、例えば、局所的祖先推論機械学習モデルを訓練し、ゲノムワイド関連研究(GWAS)において制御データを提供することができる。
【0062】
生成的機械学習モデルを使用して、ランダムなSNPパターンを有するシミュレートされたSNPセグメントのセットを生成することができる。ランダムな性質に起因して、シミュレートされたSNPセグメントは、SNPパターンの多様なセットを含むことができるが、SNPパターンは、シミュレートされたSNPセグメントがSNPパターンの現実的な変異体を提供することができるように、実際のDNA配列からの実際のSNPパターンのものと統計的に関連している。そのようなシミュレートされたSNPセグメントを使用して、局所的祖先推論モデル(例えば、機械学習モデル200)を改善し、かつGWAS(例えば、GWAS240)のための制御データを提供することができる。具体的には、シミュレートされたSNPセグメントを使用して、機械学習モデル200は、より広いが現実的な範囲のSNPパターンから学習して祖先起源予測を行うことができ、これにより、機械学習モデル200が実際のDNA配列から実際のSNPパターンの正確な予測を生成する尤度を向上させることができる。更に、シミュレートされたSNPセグメントは、GWASを改善することもできる。例えば、シミュレートされたSNPパターンを、特定の形質に関連付けることができる。
【0063】
A.一般のトポロジー
図3Aは、所定の祖先起源の遺伝的変異体(例えば、SNP)のセグメントを有するシミュレートされたゲノム配列を生成するための生成的機械学習モデル300の一般のトポロジーを例示する。図3Aに示されるように、生成的機械学習モデル300は、配列内のゲノム変動について、対象(例えば、人)の入力ゲノム配列及び既知の祖先起源のグループを表すデータ302を受信することができる。入力ゲノム配列は、入力SNPセグメント303a、303b、303c、303nなどを含む、各々が対象のゲノムの複数の一塩基多型(SNP)部位を含む複数の非重複セグメントに分割される。各セグメントは、データ302において、SNP部位でのSNP値の配列によって表され得、各SNP値は、SNP部位での変異体(例えば、A、C、T、又はG)を指定する。加えて、各セグメントはまた、セグメントの祖先起源を示す祖先起源インジケータに関連付けられる。例えば、入力SNPセグメント303aは、祖先起源インジケータ304aに関連付けられ、入力SNPセグメント303bは、祖先起源インジケータ304bに関連付けられ、入力SNPセグメント303cは、祖先起源インジケータ304cに関連付けられ、一方で、入力SNPセグメント303nは、祖先起源インジケータ304nに関連付けられる。
【0064】
各入力SNPセグメント(例えば、入力SNPセグメント303b)について、かつ各入力SNPセグメントの祖先起源インジケータに基づいて、生成的機械学習モデル300は、シミュレートされたSNPセグメント305a、305b、305mを含む複数のシミュレートされたSNPセグメントを生成することができる。各シミュレートされたSNPセグメントは、入力SNPセグメント303bの変動を表すことができ、入力SNPセグメント303bに静的に関連する。各入力SNPセグメントについてのシミュレートされたSNPセグメントを連結して、種々の架空の個体に対応し得る複数のシミュレートされたゲノム配列を形成することができる。
【0065】
データ302を、単倍体又は二倍体DNA配列から取得することができる。データ302を、例えば、対象のゲノム配列を提供するゲノム配列決定演算、DNAのセグメントを含有するDNAマイクロアレイなどから取得することができる。ハプロタイプ情報を、例えば、特定のSNPがSNP部位における多数の変異体であることを表す第1の値(例えば、-1の値)、SNPがSNP部位における少数の変異体であることを表す第2の値(例えば、+1の値)、又はSNP部位におけるゲノム情報が欠落していることを表す第3の値(例えば、0の値)を含むように符号化することができる。入力SNPセグメント303bなどのSNPセグメントは、各次元が、SNP部位に対応し、かつ-1、+1、又は0のうちの1つの値を有する、多次元ベクトルを含むことができる。加えて、祖先起源インジケータ304は、様々な形態をとることができる。一実施例では、祖先起源インジケータは、候補祖先起源のセット(例えば、アフリカ、ヨーロッパ、東アジアなど)からの祖先起源ロケールを示すコードのセットを含むことができる。別の実施例では、祖先起源インジケータは、祖先起源ロケールの地理的座標(例えば、経度及び緯度)を含むことができる。データ302におけるSNPセグメントは、同じ数のSNP値(例えば、500)、又は異なる数のSNP値を有することができる。
【0066】
いくつかの実施例では、生成的機械学習モデル300は、分布生成サブモデル306及び配列生成サブモデル308を含む2つのサブモデルを含み得る。分布生成サブモデル306は、入力SNPセグメント(例えば、入力SNPセグメント303b)及び入力SNPセグメントの関連付けられた祖先起源インジケータ(例えば、祖先起源インジケータ304b)を表す入力ベクトルを受け入れることができる。入力ベクトル及び祖先起源インジケータに基づいて、分布生成サブモデル306は、削減された次元の空間(潜在空間)における多次元確率分布310を決定することができる。確率分布310は、入力SNPセグメントの変動に対応し得る。確率分布310に基づいて、配列生成サブモデル308は、各々が確率分布310に従って入力SNPセグメントに統計的に関連するSNPのランダムサンプルを表す、シミュレートされたSNPセグメント305a、305b、305mなどを含む複数のシミュレートされたSNPセグメントを生成することができる。
【0067】
各シミュレートされたSNPセグメントを、例えば、対象の入力ゲノム配列としての、実際のDNAサンプルから抽出された入力SNPセグメントとは対照的に、入力SNPセグメントにおけるランダムな変動のシミュレーションとみなすことができる。以下で詳細に説明するように、分布生成サブモデル306は、訓練演算におけるSNP配列へのランダムな変動の導入を学習し、SNPパターンとSNPパターンの変異体の確率分布との間の関係を反映するサブモデルパラメータを決定することができる。訓練演算の後、分布生成サブモデル306は、入力SNP配列中のSNPパターンにサブモデルパラメータを適用して、SNPパターンの確率分布310のパラメータを決定することができるのに対して、配列生成サブモデル308は、シミュレートされたSNP配列としての確率分布310のパラメータに基づいて、SNPパターンの変異体のランダムなサンプルを計算することができる。
【0068】
いくつかの実施例では、分布生成サブモデル306はまた、入力SNPセグメント303なしの入力として祖先起源インジケータ304及びSNP部位情報を受信し、祖先起源インジケータ304に基づいて、確率分布310を出力し得る。そのような実施例では、分布生成サブモデル306は、各々が祖先起源インジケータ及び種々のSNP部位に関連付けられた確率分布310の複数のセットを格納し、入力祖先起源インジケータ及び入力SNP部位に対応する確率分布310を取り出し得る。複数の確率分布310のセットを、他の入力SNPセグメントからの分布生成サブモデル306によって事前に生成することができる。
【0069】
B.生成的機械学習モデルの例示的なコンポーネント
いくつかの実施例では、生成的機械学習モデル300の分布生成サブモデル306をエンコーダとして構成することができるのに対して、生成的機械学習モデル300の配列生成サブモデル308をデコーダとして構成することができる。エンコーダとデコーダとが組み合わさって、クラス条件付き変分オートエンコーダ(CVAE)として動作することができる。
【0070】
図3Bは、分布生成サブモデル306及び配列生成サブモデル308のレ例示的な演算を例示する。具体的には、分布生成サブモデル306は、SNPセグメントを表す入力ベクトル320を、潜在空間における埋め込みベクトルの多次元の確率分布310(一次元分布310a~310cとして表されている)にマッピングするマッピング関数324を実装することができる。マッピングは、(入力SNPセグメントに表されたSNP部位の数に基づいて定義される)ある数の次元を有するSNPセグメント空間における入力ベクトルから、削減された数の次元を有する潜在空間における埋め込みベクトルへの変換を表すことができる。
【0071】
いくつかの実施例(図3Bには示されていない)では、分布生成サブモデル306は、各々が、祖先起源を表すクラスに関連付けられた、複数のマッピング関数を含むことができる。分布生成サブモデル306は、SNPセグメントに関連付けられた祖先起源インジケータに基づいて入力ベクトルをその祖先起源の確率分布310に変換するためのマッピング関数324を選択することができる。いくつかの実施例では、分布生成サブモデル306は、祖先起源を入力ベクトル320の一部として受信し、かつ入力ベクトル320に表された祖先起源及びSNPセグメントの両方に基づいて確率分布310を生成する、マッピング関数324を実装することもできる。
【0072】
加えて、配列生成サブモデル308は、サンプル埋め込みベクトル332からSNPセグメント空間における出力ベクトル326を再構築するための再構築関数325を実装することができる。配列生成サブモデル308は、入力ベクトル320に基づいて分布生成サブモデル306によって出力された確率分布310から、又は他の入力SNPセグメントからの分布生成サブモデル306によって事前に生成された別の確率分布のセットから、サンプル埋め込みベクトル332を取得することができる。サンプリングを、配列生成サブモデル308によって実行することができるか、又は配列生成サブモデル308とは別個のサンプリング関数によって実行することができる。出力ベクトルは、入力SNPセグメント中のSNPパターンのランダムな変動の効果をモデル化するための、図3AのシミュレートされたSNPセグメント305a、305b、305mなどを表すことができる。
【0073】
図3Bの実施例では、入力ベクトル320は、SNPセグメント空間における500個の次元に対応する500個のSNP値(si、si、...si499)を含むことができる一方、出力ベクトル326は、SNPセグメント空間における500個の次元に対応する500個のSNP値(so、so、...so499)を含むことができる。一方、潜在空間は、削減された数の次元(例えば、図3Bに示されるような三次元)を有することができる。例えば、サンプル埋め込みベクトル332は、各値が潜在空間における次元に対応する3つの値(is、is、及びis)を含むことができる。複数のマッピング関数を含む分布生成サブモデル306と同じく、配列生成サブモデル308は、複数の再構築関数を含むこともできる。配列生成サブモデル308は、SNPセグメントに関連付けられた祖先起源インジケータに基づいて、サンプルベクトル332から出力ベクトルを再構築するための再構築関数325を選択することができる。いくつかの実施例では、配列生成サブモデル308は、祖先起源及びサンプルベクトル332を入力として受信し、かつ祖先起源及びサンプルベクトル332に基づいて出力ベクトル326を生成する1つの再構築関数325を実装することもできる。
【0074】
次元の削減及び復元を伴う、エンコーダとデコーダとの間の変換演算及び再構築演算は、埋め込みベクトルにおけるSNPパターンを表す入力ベクトル320における最も関連する情報のみを保持するためのボトルネックを作成することができ、この情報を、出力ベクトル326の再構築において回復することができる。一方、SNPパターンを表すために必要ではないノイズ情報を、変換演算中に破棄することができ、ノイズ情報は、再構築された出力ベクトルに存在しない。
【0075】
分布生成サブモデル306を再度参照すると、確率分布310は、多次元であり、確率分布310a、310b、及び310cを含む、潜在空間の各次元についての確率分布を含む。いくつかの実施例では、確率分布310は、各次元について同じ分散を有する多次元等方性ガウス分布に近づくことができ、各次元を、潜在空間の次元間で異なり得る平均値を中心とする独立した一次元ガウス分布として見ることができる。等方性ガウス分布は、以下のような共分散行列を含むことができる:Σ=σI(式1)。
【0076】
式1において、Σは、等方性ガウス分布の共分散行列であり、σは、次元間の共通分散であり、一方で、Iは、恒等行列である。確率分布310が等方性ガウス分布と正確に一致しない場合、確率分布310a、310b、及び310cの各々は、異なる分散及び異なる平均を有し得る。
【0077】
以下に記載するように、マッピング関数324のパラメータを、確率分布310が目標分布に適合するように調整することができる。そのような構成は、SNPセグメント空間から潜在空間への変換を目標確率分布に適合するように制限し、潜在空間が連続していることと、潜在空間が、例えば、入力SNPセグメントに基づく中心を有する、種々のSNPパターンの分布を提供することと、を確実にすることができる。両方の特性は、デコーダが、現実的なSNP配列を提供する埋め込みベクトルのランダムなサンプルを取得することを可能にする一方、確率分布310に従って定義されるいくつかの変動を可能にする。これにより、ランダムなサンプルは、実際のDNAサンプル中のSNP配列のランダムな変動の効果をモデル化することが可能になる。分布生成サブモデル306は、各々が、祖先起源を表すクラスに関連付けられた、複数の分布生成関数を含むことができる。分布生成サブモデル306は、SNPセグメントに関連付けられた祖先起源インジケータに基づいて確率分布を生成するための分布生成関数を選択することができる。
【0078】
C.生成的機械学習モデルのニューラルネットワーク実装態様
図3C図3D、及び図3Eは、分布生成サブモデル306及び配列生成サブモデル308の追加の詳細を例示する。図3Cは、分布生成サブモデル306と配列生成サブモデル308との間の埋め込みベクトルのランダムサンプリング演算の一実施例を例示している。図3Cに示されるように、分布生成関数330は、確率分布310の表現340a、340b、及び340cを含む表現340を生成することができる。表現340a、340b、及び340cは、それぞれ、潜在空間の各次元についての確率分布310a、310b、及び310cの平均及び分散を含むことができる。例えば、表現340aは、確率分布310aの平均μ及び分散σを含むことができ、表現340bは、確率分布310bの平均μ1及び分散σを含むことができるのに対して、表現340cは、確率分布310cの平均μ2及び分散σを含むことができる。
【0079】
加えて、配列生成サブモデル308は、確率分布310のサンプリングを実行してサンプル埋め込みベクトル332を生成するためのランダム関数342及びサンプリング関数344を実装することができる。いくつかの実施例では、ランダム関数342及びサンプリング関数344は、配列生成サブモデル308の外部にあり得る。ランダム関数342は、ゼロ平均及び単位分散を有する等方性ガウス分布に基づいて、ランダム行列Rを生成することができる。サンプリング関数344は、CVAEの再パラメータ化に基づいて、ランダム関数342からの出力ランダム行列Rに表現340からの分散のベクトルを乗算し、かつ乗算の結果を同じく表現340からの平均のベクトルに加算することに基づいて、確率分布310からの埋め込みベクトルのサンプルであるサンプル埋め込みベクトル332を生成することができる。例えば、サンプルベクトル332のサンプルを、以下のようにサンプリング関数344を使用して生成することができる:
【数1】
【0080】
式2において、サンプルベクトル332の第1の次元の値は、isであり、この値を、平均μ0を分散σ0とランダム行列Rの乱数r0との積と加算することによって計算することができる。更に、サンプルベクトル332の第2の次元の値は、isであり、この値を、平均μを分散σとランダム行列Rの乱数r1との積と加算することによって計算することができる。更に、サンプルベクトル332の第3の次元の値は、isであり、この値を、平均μを分散σとランダム行列Rの乱数r2との積と加算することによって計算することができる。配列生成サブモデル308は、複数のランダム行列Rを生成し、これらのランダム行列Rを表現340の平均及び分散表現と組み合わせて、埋め込みベクトルの複数のランダムなサンプルを生成し、次いで、サンプルベクトルに基づいて、出力ベクトルを再構築することができる。
【0081】
分布生成サブモデル306のマッピング関数324及び分布生成関数330、並びに配列生成サブモデル308の再構築関数325を、ニューラルネットワークモデルを使用して実装することができる。
【0082】
図3Dは、マッピング関数324及び分布生成関数330を実装するための分布生成サブモデル306の例示的なニューラルネットワークモデル350を例示している。ニューラルネットワーク350は、入力層352、隠れ層354、及び出力層356を含む。入力層352は、入力層のノードのサブセットであり得るノード352a、352b、及び352nなどの複数のノードを含む。隠れ層354は、ノード354a、354b、及び354mなどの複数のノードを含む。出力層356は、ノード356a、356b、及び356cなどの複数のノードを含む。出力層356の各ノードは、図3Bの潜在空間における三次元の次元に対応し得る。
【0083】
入力層352及び隠れ層354は、SNPセグメント空間における入力ベクトルを潜在空間における埋め込みベクトルに変換するためのマッピング関数324を実装することができる。入力層352のノードのうちのいくつかは、分類器によって受信された、セグメントの特定のSNP部位におけるSNP値の符号化された値(例えば、1、1、-1)を受信することができる。例えば、入力ノード352aは、符号化された値siを受信し、入力ノード352bは、符号化された値siを受信し、両方とも入力ベクトル320のものである。加えて、ノード352nなどの入力層352のノードのうちのいくつかは、入力ベクトル320に関連付けられた、関連付けられた祖先起源インジケータ(図3Dではcと標記されている)を受信する。
【0084】
入力層352の各ノードは、エンコーダ重みの第1のセットに関連付けられている。例えば、ノード352aは、エンコーダ重みのセット[WE1a]に関連付けられており、ノード352nは、エンコーダ重みのセット[WE1n]に関連付けられている。各ノードは、入力値(SNP値、祖先起源インジケータなど)を、重みの関連付けられたセットでスケーリングして、スケーリングされた値(スケーリングされたSNP値)のセットを生成し、スケーリングされた値を隠れ層354のノードに送信することができる。入力層352のより大きいエンコーダ重みは、SNPセグメント空間における特定の次元がSNP配列に関する重要な情報を含むことと、したがって、その特定の次元が潜在空間においてよく表されることと、を示すことができる。
【0085】
1つ以上の層を含むことができる隠れ層354の各ノードは、入力層352の各ノードからスケーリングされた値を受信し、スケーリングされた値を総和して、中間値(中間和とも称される)を生成する。中間和を使用して、出力層356において、埋め込みベクトルの確率分布310を計算することができる。例えば、ノード354aは、以下のように、中間和である和354aを計算することができる:
【数2】
【0086】
式3において、WE1jは、SNP値(例えば、si、siなど)又は祖先起源インジケータcのいずれかであり得る入力値injをスケーリングするために入力層352の各ノードによって使用される重みの各セット(例えば、[WE1a]、[WE1n]など)の重み値を表すことができる。中間和を計算する際の祖先起源インジケータとSNP値との組み合わせは、異なる祖先起源に対して異なるマッピング関数を選択することと同等であり得る。
【0087】
隠れ層354の各ノードはまた、中間和を与えられるそのノードの出力を定義する非線形活性化関数を実装している。活性化関数は、生物学的ニューラルネットワークの意思決定を模倣することができる。活性化関数の一例として、以下の式に従って定義される正規化線形ユニット(ReLU)関数が挙げられ得る:
【数3】
【0088】
ReLUに加えて、例えば、softmax関数、softplus関数(ReLU関数の滑らかな近似であり得る)、双曲線正接関数(tanh)、逆正接関数(arctan)、シグモイド関数、ガウス関数などを含む他の形態の活性化関数を使用することもできる。活性化関数は、マッピング関数324の一部であるとともに、SNPセグメント空間から潜在空間への非線形変換を提供することができ、これにより、ノイズ情報のフィルタリングを改善することができる。
【0089】
総和及び活性化関数処理に加えて、隠れ層354の各ノードは、バッチ正規化プロセスを実行して、隠れ層の出力を正規化して、例えば、ニューラルネットワークモデル350の速度、性能、及び安定性を増加させることもできる。正規化プロセスは、例えば、隠れ層ノードの各出力から出力の平均を減算し、減算結果を出力の標準偏差によって除算して、各隠れ層ノードに正規化された出力を生成することを含むことができる。いくつかの実施例では、正規化演算を、活性化関数を適用する前に実行することができる。活性化関数処理及びバッチ正規化処理に基づいて、ノード354aは、中間出力ie0を生成し、ノード354bは、中間出力ie1を生成するのに対して、ノード354mは、中間出力iemを生成する。
【0090】
隠れ層354の各ノードは、エンコーダ重みの第2のセットに関連付けられている。例えば、ノード354aは、エンコーダ重みのセット[WE2a]に関連付けられており、ノード354mは、エンコーダ重みのセット[WE2m]に関連付けられている。各ノードは、活性化関数/バッチ正規化演算の出力値(例えば、ノード354aについてはie0、ノード354bについてはie、ノード354mについてはieなど)を、重みの関連付けられたセットでスケーリングして、スケーリングされた値のセットを生成し、スケーリングされた値を出力層356のノードに送信することができる。
【0091】
出力層356の各ノードは、潜在空間における次元に対応し得る。出力層356の各ノードは、隠れ層354からスケーリングされた値を受信し、潜在空間の対応する次元の表現340の一部としての、確率分布310についての平均及び分散を計算することができる。例えば、ノード356aは、表現340aを計算することができ、ノード356bは、表現340bを計算することができ、また、ノード356cは、表現340cを計算することができる。各ノードは、例えば、上記の式3に基づいて、隠れ層354の各ノードから受信されたスケーリングされた出力値を総和することに基づいて、平均及び分散を計算することができる。
【0092】
いくつかの実施例では、祖先起源インジケータcは、入力層352への入力として提供されない。代わりに、分布生成サブモデル306は、各々が祖先起源に関連付けられたエンコーダ重み[WE1]及び[WE2]の複数のセットを含むことができる。祖先起源インジケータcを使用して、ニューラルネットワークモデル350のためのエンコーダ重みのセットを選択することができる。
【0093】
図3Eは、再構築関数325を実装するための配列生成サブモデル308のニューラルネットワークモデル360の実施例を例示している。ニューラルネットワークモデル360は、図3Dのニューラルネットワークモデル350と同様であるが反転されたアーキテクチャを有することができる。ニューラルネットワーク360は、入力層362、隠れ層364、及び出力層366を含む。入力層362は、入力層のノードのサブセットであり得るノード362a、362b、362c、及び362dを含む複数のノードを含む。ノード362a、362b、及び362dの各々は、潜在空間における次元に対応し、対応する次元についてのサンプルベクトルの要素(サンプルベクトル値)(例えば、サンプルベクトル332のis、is、及びisである)を受信することができるのに対して、ノード362dは、祖先起源インジケータcを受信する。隠れ層364は、(分布生成サブモデル306の)ニューラルネットワークモデル350の隠れ層354及び1つ又は複数の層と同じ数のノードを含むことができるのに対して、出力層366は、ノード364a、364b、及び364nなどの複数のノードを含む。出力層366の各ノードは、SNPセグメント空間における次元に対応する。
【0094】
入力層362の各ノードは、デコーダ重みの第1のセットに関連付けられている。例えば、ノード362aは、デコーダ重みのセット[WD1a]に関連付けられており、ノード362nは、デコーダ重みのセット[WD1n]に関連付けられている。各ノードは、入力値(埋め込みベクトルの要素、祖先起源インジケータなど)を、関連付けられた重みセットでスケーリングして、スケーリングされた値のセットを生成し、スケーリングされた値を出力層364の出力ノードに送信することができる。デコーダ重みの第1のセットを、隠れ層354によってマッピング関数324の第2の段階を反転させるように構成することができる。祖先起源インジケータと、中間和(中間値とも称される)を計算する際の埋め込みベクトル値と、の組み合わせは、異なる祖先起源について異なる再構築関数を選択することと同等であり得る。
【0095】
隠れ層364の各ノードは、入力層362の各ノードからスケーリングされた値を受信し、式3に基づいてスケーリングされた値を総和して、中間和を生成する。次いで、中間和を、非線形活性化関数(例えば、ReLU)、及び図3Dの隠れ層354におけるようなバッチ正規化演算を使用して処理して、中間出力を生成することができる。例えば、ノード364aは、中間出力idを生成し、ノード364bは、中間出力idを生成し、ノード364mは、中間出力idを生成する。隠れ層364の各ノードはまた、デコーダ重みの第2のセットに関連付けられている。例えば、ノード354aは、エンコーダ重みのセット[WD2a]に関連付けられており、ノード354mは、エンコーダ重みのセット[WD2m]に関連付けられている。各ノードは、活性化関数/バッチ正規化演算の出力値(例えば、ノード364aについてはid、ノード364bについてはid、ノード364mについてはidなど)を、重みの関連付けられたセットでスケーリングして、スケーリングされた値(スケーリングされたサンプルベクトル値とも称される)のセットを生成し、スケーリングされた値を出力層366のノードに送信することができる。デコーダ重みの第2のセットを、隠れ層354によってマッピング関数324の第1の段階を反転させるように構成することができる。
【0096】
次いで、出力層366の各ノードは、隠れ層364の各ノードからのスケーリングされた値を総和することに基づいて、SNPセグメント空間の一次元に対応する出力ベクトルの値を生成する。例えば、ノード366aは、出力ベクトル326のsoを生成することができるのに対して、ノード366bは、出力ベクトル326のsoを生成することができる。
【0097】
いくつかの実施例では、祖先起源インジケータcは、入力層362への入力として提供されない。代わりに、配列生成サブモデル308は、各々が祖先起源に関連付けられたデコーダ重み[WD1]及び[WD2]の複数のセットを含むことができる。祖先起源インジケータcを使用して、ニューラルネットワークモデル360のためのデコーダ重みのセットを選択することができる。
【0098】
D.クラス条件付き変分オートエンコーダの訓練
CVAEとして構成された分布生成サブモデル306及び配列生成サブモデル308を、潜在空間におけるSNP変異体の種々のパターンの表現を最大化するように訓練することができる。
【0099】
図4は、所与の祖先起源についての実際のSNP配列を表す訓練入力ベクトルを使用して、訓練モジュール400によってエンコーダ及びデコーダを訓練することができる例示的な訓練演算を例示する。
【0100】
訓練演算は、順伝播演算及び逆伝播演算を含むことができる。順伝播演算の一部として、分布生成サブモデル306は、訓練入力ベクトル420を受信し、訓練入力ベクトル420にマッピング関数324のパラメータの初期のセット(例えば、エンコーダ重み[WE1]及び[WE2])を適用して、埋め込みベクトルの確率分布310のパラメータの初期のセット(例えば、平均及び分散)を生成することができる。配列生成サブモデル308は、サンプリング関数344を使用して、確率分布に基づいてサンプル埋め込みベクトル332のセットを計算し、サンプル埋め込みベクトルに再構築関数325のパラメータの初期のセット(例えば、デコーダ重みWD1及びWD2)を適用して、訓練出力ベクトル426のセットを生成することができる。
【0101】
訓練演算の逆伝播は、マッピング関数324及び分布生成関数330の初期関数パラメータを、第1の損失関数を最小化するように調整することができる。第1の損失関数は、再構築誤差モジュール402によって計算された再構築誤差成分、及び分布誤差モジュール404によって計算された分布誤差成分を含むことができ、これらは両方とも、訓練モジュール400の一部である。再構築誤差を、訓練入力ベクトル420と訓練出力ベクトル426の各々との間の平均二乗誤差などの差分に基づいて、再構築誤差モジュール402によって生成することができる。分布誤差を、埋め込みベクトルの確率分布と目標確率分布(表現340によって表される)との間の差分に基づいて、分布誤差モジュール404によって生成することができる。いくつかの実施例では、分布誤差を、Kullback-Leibler発散(KL発散)に基づいて計算することができる。第1の損失関数の一実施例は、以下のとおりであり得る:
【数4】
【0102】
式5において、
【数5】
は、第1の損失関数を表し、
【数6】
は、入力ベクトル(例えば、訓練入力ベクトル420)を表すことができ、
【数7】
は、入力ベクトル(例えば、訓練出力ベクトル426)から構築された出力ベクトルを表すことができ、一方で、第1の式
【数8】
は、再構築誤差モジュール402によって計算された再構築誤差を表すことができる。更に、Jは、潜在空間の最後の次元(例えば、図3A図3CのJ=2)を表すことができるのに対して、μ及びσは、それぞれ、潜在空間のj番目の次元の平均及び分散である。第2の式
【数9】
は、表現340によって表されるガウス分布と、分布誤差モジュール404によって計算された目標等方性ガウス分布と、の間のKL発散を表すことができる。
【0103】
加えて、パラメータ調整モジュール406は、第2の損失関数を最小化することに基づいて、再構築関数325の初期関数パラメータを調整することもできる。第2の損失関数は、再構築誤差モジュール402によって出力される、式
【数10】
によって表される再構築誤差を含むことができる。以下に記載されるように、第2の損失関数は、配列生成サブモデル308も敵対的生成ネットワーク(GAN)を使用して訓練される場合に、敵対的損失成分を含むことができる。
【0104】
勾配下降スキームを介して、パラメータ調整モジュール406は、第1の損失関数及び第2の損失関数を最小化する目的で、関数パラメータに対する第1の損失関数及び第2の損失関数の変化に基づいて、マッピング関数324、再構築関数325、及び分布生成関数330(例えば、[WE1]、[WE2]、[WD1]、[WD2]など)の関数パラメータを調整することができる。例えば、パラメータ調整モジュール406は、第1の損失関数及び第2の損失関数の縮小(したがって勾配降下)を達成するために、関数パラメータを調整することができる。訓練を、種々の祖先起源についての入力ベクトルを訓練するために繰り返して、種々のクラスを表す種々の祖先起源について種々の関数パラメータを決定することができる。
【0105】
再構築誤差と分布誤差との組み合わせに基づく、エンコーダを実装するマッピング関数324及び再構築関数325の訓練は、分布誤差を低減することに基づいて、エンコーダが入力SNPセグメントをSNPセグメント変異体の目標確率的分布にマッピングすることを可能にする。更に、SNPパターンの確率分布は、訓練演算における再構築誤差を低減することに基づいて、入力SNPセグメントを表す埋め込みベクトルに基づいて中心が定められ得る。そのような構成を用いて、祖先起源が与えられた入力SNPセグメントから生成的機械学習モデル300によって生成されたシミュレートされたSNPセグメントは、目標確率分布に基づいて定義されるSNPパターン変異体の多様なセットを含むことができる。しかし、SNPパターン変異体は、入力SNPセグメントに基づいて目標確率分布の中心が定められるため、入力SNPセグメントのSNPパターンに密接に関連したままである。
【0106】
E.クラス条件付き敵対的生成ネットワークを使用する訓練
シミュレートされたSNPセグメントが目標確率分布により密接に従い得るように分布誤差を更に低減するために、配列生成サブモデル308(例えば、CVAEのデコーダとして構成されている)を、デコーダ及び判別器を含むクラス条件付き敵対的生成ネットワーク(CGAN)を使用して訓練することができる。判別器は、実際のSNPセグメントとシミュレートされたSNPセグメントとの差分を判定しようとする。
【0107】
CGANでは、デコーダ及び判別器を、同じ訓練演算で、ただし反対の目的のために、訓練することができる。具体的には、判別器は、SNPセグメントを表すベクトルを入力として受信し、入力を、配列生成サブモデル308によって生成されたシミュレートされたSNPセグメント(例えば、図4の訓練出力ベクトル426)、又は実際のDNA配列からの実際のSNPセグメント(例えば、訓練入力ベクトル420)のいずれかとして分類する。判別器を、分類誤差率を最小化するように訓練することができる(例えば、実際のSNPセグメントをシミュレートされたSNPセグメントとして分類するか、又はその逆)。
【0108】
シミュレートされたSNPセグメントが、目標確率分布(例えば、等方性ガウス)に従って実際のSNPセグメントに統計的に関連し、かつシミュレートされたSNPセグメントが、実際のSNPセグメントと非常に類似したSNPパターンを有する(すなわち、低い再構築誤差を有する)場合、判別器は、シミュレートされたSNPセグメントを実際のSNPセグメントから区別することができず、結果として分類誤差率が増加する可能性が高くなる。一方、デコーダを、再構築誤差を最小化し、かつ目標確率分布に適合するように、シミュレートされたSNPセグメントを生成し、判別器の分類誤差率を実効的に最大化するように訓練することができる。デコーダに、シミュレートされたSNPをよりいっそう多くするようにデコーディング重みを調整することによって分類誤差を復元させる、判別器が分類誤差を低減する、反復的な敵対的訓練演算を介して、シミュレートされたSNPセグメントの目標確率分布への適合性を更に改善することができる。
【0109】
CGANを、別個のプロセス又は組み合わされたプロセスで、エンコーダ及びデコーダを含むVAEとして訓練することができる。組み合わされたプロセスの実施例を以下に記載するが、様々な訓練手順が使用され得る。例えば、種々の入力ベクトルを、GANを訓練するためではなく、VAEを訓練するために使用することができる。また、VAEの訓練から学習された分布は、GANを訓練するときにのみランダムにサンプリングされ得る。
【0110】
図5Aは、敵対的訓練演算を実行するための追加のコンポーネントを例示する。図5Aに示されるように、生成的機械学習モデル300の一部又は外部であり得る判別器502は、配列生成サブモデル308を有するCGANを形成することができ、CGANは、分布生成サブモデル306と組み合わさって、CVAE-CGANモデルを形成する。訓練演算中、順伝播演算の一部として、分布生成サブモデル306は、訓練入力ベクトル420を受信し、潜在空間における確率分布表現340を生成することができるのに対して、再構築関数325は、確率分布表現340及び再構築関数325に基づいて、出力ベクトル426のサンプルを計算することができる。次いで、判別器502は、分類演算を実行して、訓練入力ベクトル420及び訓練出力ベクトル426などの実際のSNPセグメント(例えば、実際のDNA配列から抽出されたSNPセグメント)を表すベクトルを含むベクトルのセットを、各ベクトルが、シミュレートされたSNPセグメント又は実際のSNPセグメントを表すかどうかを分類し、分類出力504を生成することができる。SNPセグメントを、対象の入力ゲノム配列である実際のDNA配列から抽出することができる。
【0111】
いくつかの実施例では、判別器502をニューラルネットワークとして実装することができる。図5Bは、判別器502の一部であり得るニューラルネットワークモデル520の実施例を例示する。ニューラルネットワーク520は、入力層522、隠れ層524、及び出力層526を含む。入力層522は、ノード522a、522b、522nなどを含む複数のノードを含む。入力層522は、SNPセグメント空間におけるSNPセグメントを表す入力ベクトルを受信するためのノード(例えば、ノード522a)は、s0を受信し、ノード522bは、sを受信するなど)、及び祖先起源インジケータを受信するためのノード(例えば、ノード522n)を含む。隠れ層524は、入力ベクトルと中間出力との間の非線形マッピングを提供することができ、図3Dの隠れ層354及び図3Eの隠れ層364と同じ数のノードを含むことができる。出力層526は、隠れ層524からの中間出力に基づいて、実際のSNPセグメントを表す入力ベクトルの確率を計算するための単一のノードを含む。確率が閾値を超える場合に、入力ベクトルが実際のSNPセグメントを表し、かつ確率が閾値を下回る場合に、入力ベクトルがシミュレートされたセグメントを表すことを示すように、確率を分類出力504に含めることができる。
【0112】
入力層522の各ノードは、判別器重みの第1のセットに関連付けられている。例えば、ノード522aは、判別器重みのセット[WX1a]に関連付けられており、ノード362nは、判別器重みのセット[WX1n]に関連付けられている。各ノードは、入力値(入力ベクトル値、祖先起源インジケータなど)を、重みの関連付けられたセットでスケーリングして、スケーリングされた値のセットを生成し、スケーリングされた値を隠れ層364のノードに送信することができる。重みは、例えば、SNPセグメントが実際のものであるか、又はシミュレートされたものであるかの分類決定への、SNPセグメント中の各SNP部位の寄与を表すことができる。祖先起源インジケータcと入力ベクトルとの組み合わせは、判別器502が種々の祖先起源についての種々の基準に基づいて分類演算を実行することを可能にする。
【0113】
隠れ層524の各ノードは、入力層522の各ノードからスケーリングされた値を受信し、式3に基づいてスケーリングされた値を総和して、中間和を生成する。次いで、中間和を、非線形活性化関数(例えば、ReLU)、並びに図3Dの隠れ層354及び図3Eの隠れ層364におけるようなバッチ正規化演算を使用して処理して、中間出力を生成することができる。例えば、ノード524aは、中間出力ixを生成し、ノード524bは、中間出力ixを生成し、また、ノード524mは、中間出力idを生成する。隠れ層524はまた、各ノードが重みセット中の重みに関連付けられている、判別器重みの第2のセット[WX2]に関連付けられている。隠れ層524のノードに関連付けられた重みは、確率出力に対するノードの寄与を示すことができる。各ノードは、活性化関数/バッチ正規化演算の出力値(例えば、ノード524aについてはix、ノード524bについてはix、ノード524mについてはixなど)を、関連付けられた重みでスケーリングし、スケーリングされた値を出力層526の単一のノードに送信することができ、次いで、出力層526は、スケーリングされた値を総和することによって、確率出力(p)を生成することができる。
【0114】
いくつかの実施例では、祖先起源インジケータcは、入力層522への入力として提供されない。代わりに、判別器502は、各々が祖先起源に関連付けられた、判別器重みの複数のセット[WX1]及び[WX2]を含むことができる。祖先起源インジケータcを使用して、ニューラルネットワークモデル520のための判別器重みのセットを選択することができる。
【0115】
図5Aを再度参照すると、訓練モジュール400は、分類誤差モジュール506を含むことができる。逆伝播演算中、分類誤差モジュール506は、分類出力504が誤差を含むかどうかを判定することができる。分類誤差モジュール506は、例えば、分類出力504に示される確率が閾値(ベクトルが実際のSNPセグメントであることを示す)を超えているが、ベクトルが配列生成サブモデル308によって生成される場合、又はベクトルが訓練入力ベクトルであり、かつ実際のSNPセグメントを含む場合に確率が閾値(ベクトルがシミュレートされたSNPセグメントであることを示す)を下回っている場合、分類出力504が誤差であると判定することができる。判別器502のモデルパラメータは、分類出力504における分類誤差を最小化するように調整することができるのに対して、再構築関数325の関数パラメータ(例えば、デコーダ重み[WD1]、[WD2]など)を、分類出力504の分類誤差を最大化するように調整することができる。
【0116】
具体的には、パラメータ調整モジュール406は、再構築誤差成分
【数11】
及び敵対的損失成分を含む第2の損失関数を最小化することに基づいて、再構築関数325([WD1]、[WD2]など)の初期関数パラメータを以下のように調整することができる:
【数12】
【0117】
式6において、
【数13】
は、第2の損失関数を表し、
【数14】
は、再構築誤差を表し、zは、配列生成サブモデル308によって出力された訓練出力ベクトル426を表し、一方で、D(z)は、分類出力504に示されるように、実際のSNPセグメントを表す訓練出力ベクトル426の確率を表す。式(1-D(z))は、分類誤差が増加すると減少する敵対的損失を表す。例えば、判別器502が訓練出力ベクトル426(z)について誤った分類を行う場合、D(z)の出力確率は、閾値よりも高く、式(1-D(z))は、低下する。一方、訓練出力ベクトル426の正しい分類については、式(1-D(z))は、増加する。λは、いくつかの実施例では0.1に設定され得るパラメータである。勾配降下スキームを介して、パラメータ調整モジュール406は、デコーダ重み(例えば、[WD1]、[WD2]など)を調整することができる。例えば、パラメータ調整モジュール406は、第2の損失関数の縮小(したがって、勾配降下)を達成するために、分類誤差を増加させながら再構築誤差を低減するように、関数パラメータを調整することができる。
【0118】
加えて、パラメータ調整モジュール406は、以下のように、バイナリ交差エントロピー損失関数の形態であり得る第3の損失関数を最小化することに基づいて、判別器502の初期モデルパラメータを調整することもできる:
【数15】
【0119】
式7において、
【数16】
は、第3の損失関数を表し、式D(x)は、分類出力504に示されるように、実際のSNPセグメントを表す訓練入力ベクトル420の確率を表し、一方で、式(1-D(z))は、式6におけるように、敵対的損失を表す。パラメータ調整モジュール406は、
【数17】
を低減することによって、勾配下降スキームに基づいて判別器502の初期モデルパラメータを調整することができ、このことを、D(x)の値を増加させ、かつ/又は(1-D(z))の値を増加させることによって達成することができる。(1-D(z))の増加は、第2の損失関数における(1-D(z))の減少と反対であり、このことは、敵対的訓練演算につながる。
【0120】
図5Aの訓練演算を複数のフェーズで実行して、(分布生成サブモデル306についての)式5の第1の損失関数、(再構築関数325についての)式6の第2の損失関数、及び(判別器502についての)式7の第3の損失関数を最小化することができる。具体的には、第1のフェーズでは、関数/モデルパラメータの初期のセット(例えば、エンコーダ重み[WE1]及び[WE2]、デコーダ重み[WD1]及び[WD2]、並びに判別器重み[WX1]及び[WX2])を使用して、訓練入力ベクトル420に対して完全な順伝播演算を実行することができる。訓練出力ベクトル426、並びに訓練出力ベクトル426及び訓練入力ベクトル420の分類出力504を、生成することができる。次いで、完全な逆伝播を実行することができ、ここで、再構築誤差、分布誤差、及び分類誤差は、訓練モジュール400によって判定され、判別器502、再構築関数325、分布生成関数330、及びマッピング関数324のパラメータを調整するために逆伝播される。分布生成サブモデル306の第1の損失関数(再構築誤差及びKL発散)を最小化することに基づいて、調整された関数/モデルパラメータの第1のセットを決定することができる。
【0121】
次いで、再構築関数325と判別器502との間の敵対的訓練演算を含む、訓練演算の第2のフェーズを開始することができる。敵対的訓練演算中、デコーダ重み[WD1]及び[WD2]、並びに判別器重み[WX1]及び[WX2]は、再構築関数325についての第2の損失関数及び判別器502についての第3の損失関数の両方を最小化するように(調整されたパラメータの第1のセットから)調整することができるが、このことは、分類誤差の矛盾する目標につながる。敵対的訓練演算を、新しい訓練出力ベクトル(例えば、出力ベクトル326に対応する)を計算するための低減された順伝播演算、並びに調整されたパラメータを使用する新しいサンプルについての分類出力504、及び再構築関数325及び判別器502のパラメータのみを調整するための低減された逆伝播演算を、各々が含む、複数回の反復で実行することができる。敵対的訓練演算は、例えば、分類出力504のおよそ50%が正しいときに停止することができ、このことは、およそ50%の誤差率につながる。このことは、訓練出力ベクトル426が訓練入力ベクトル420に非常に近いために、判別器502がベクトルを区別することができず、分類演算がランダムなコイン反転演算に近づき、このことが50%の誤差率につながることを示し得る。
【0122】
訓練入力ベクトル420は、判別器502を訓練するために使用されるように示されているが、他の実際のSNPセグメントを、この目的のために使用することができる。更に、所与の出力ベクトル426を複数の実際のSNPセグメントとともに使用して、分類誤差を判定することができる。また、ランダムサンプリングを使用して複数の出力ベクトルを生成することができ、これらの出力ベクトルを使用して、実際のSNPセグメントのセットに対する分類誤差を判定することができる。
【0123】
判別器502において50%の誤差率が達成されると、訓練演算の第2のフェーズを停止することができ、再構築関数325の調整されたパラメータの第2のセットを取得することができる。次いで、訓練演算の第1のフェーズを再開して、再構築誤差及び分布誤差を低減するために、再構築関数325のデコーダ重みの調整を分布生成サブモデル306に伝播して戻すことができる。訓練演算を、種々の祖先起源に関連付けられた種々の訓練入力ベクトルについて繰り返して、例えば、祖先起源インジケータと、確率分布出力、再構築出力、及び分類出力と、の間の関係を取得して、種々の祖先起源についての種々の関数/モデルパラメータなどを取得することができる。
【0124】
図4及び図5A図5Bでは、生成的機械学習モデル300を、単倍体配列を生成するように、単倍体配列を含む訓練入力ベクトル420を使用して訓練することができる。シミュレートされた二倍体染色体を生成するために、生成的機械学習モデル300を、単倍体配列の対の各配列の変異体を生成するように、訓練二倍体配列の一対の単倍体配列の各々を使用して別個に訓練することができる。次いで、変異体単倍体配列を対合して、シミュレートされた二倍体染色体を生成することができる。
【0125】
加えて、いくつかの実施例では、生成的機械学習モデル300によって生成されたシミュレートされたSNP配列を後処理して、配列中のSNPパターンの多様性を更に改善することができる。例えば、いくつかの異なる個体を表すためのシミュレートされたSNP配列を生成するために、生成的機械学習モデル300を動作させて、個体の数のN倍のシミュレートされたSNP配列を生成することができる。生成されたSNP配列の対の相関を判定することができ、最低の平均相関を有するシミュレートされたSNP配列のセットの1/Nを出力として選択することができる。いくつかの実施例では、Nを2に設定することができる。
【実施例
【0126】
IV.実験結果
A.実験的な生成的機械学習モデル
図6に例示される実験的な生成的機械学習モデル600を開発及び訓練する。生成的機械学習モデル600は、エンコーダ602、デコーダ604、及び判別器606を含むことができる。エンコーダ602、デコーダ604、及び判別器606は、それぞれ、図5A及び図5Bの分布生成サブモデル306、配列生成サブモデル308、及び判別器502に対応し得る。生成的機械学習モデル600は、図5A図5B(CVAE~CGANとして訓練される)の訓練演算に基づいて訓練される。図6では、「z」は、図3Cに記載されるように、サンプリング関数344による確率分布310のサンプリングから取得されたサンプルベクトル332を表す。生成的機械学習モデル600は、2つの異なる実験のために2つの異なるデータセットを使用して訓練される。各実験において、生成的機械学習モデル600は、シミュレートされたSNP配列のセットを生成する。RFMixなどの局所的祖先推論モデルは、シミュレートされたSNP配列及び実際のSNP配列(実際のDNA配列から抽出されたSNP配列)の両方を用いて訓練され、局所的祖先推論モデルの性能は、実際のSNP配列に対するシミュレートされたSNP配列の品質を調べるために評価される。
【0127】
B.アフリカ出処のシミュレーションデータセット
第1の実験では、アフリカ出処のシミュレーションに基づくシミュレートされたデータセットを生成及び使用して、生成的機械学習モデル600及びRFMix局所的祖先推論モデルを訓練する。アフリカ出処シミュレーションは、アフリカ大陸に瞬時に増大した単一の祖先集団としての人間の起源及び広がりをモデル化する。この集団は、現在に至るまで一定の規模を保っていた。過去のある時点で、個体の少数のグループがアフリカから移住し、後に、2つの方向に分裂し、あるものは現在のヨーロッパ集団の基礎となり、別のものは、現在の東アジア集団の基礎となった。両集団は、分離後に指数関数的に増大した。
【0128】
上記のアフリカ出処モデルに続いて、各々が単一祖先の個体を表す、100個のシミュレートされた二倍体配列の3つのグループが生成され、アフリカ、ヨーロッパ、及び東アジアの祖先の各々に1つのグループが生成され、300個のシミュレートされた個体が生成される。300個のシミュレートされた二倍体配列は、それぞれ240個、30個、及び30個の二倍体配列を有する訓練セット、検証セット、及び試験セットに分けられる。その後、検証及び試験の二倍体配列を使用して、一連の世代にわたってライト・フィッシャー順シミュレーションを使用して混合子孫を生成した。単一祖先個体の30個の二倍体配列から、100個の混合個体を表す合計100個の二倍体配列を、過去8世代にわたって発生した混合事象で生成して、検証セット及び試験セットの両方を作成した。
【0129】
240個の単一祖先個体を表す240個の二倍体配列を使用して、RFMixを訓練した。同じ二倍体配列を使用して、生成的機械学習モデル600をCVAE-CGANモデル(入力配列x及び実際の配列xrealとして提供される)として訓練する。更に、ライト・フィッシャー順シミュレーションを使用して生成された、100個の混合個体を表す100個の二倍体配列を使用して、訓練後のRFMixを評価した。この実験では、染色体20の二倍体配列がシミュレートされる。
【0130】
実験から、祖先ごとに80個のシミュレートされたサンプルが、生成的機械学習モデル600を使用して生成され、RFMixを訓練するために使用される。次いで、RFMixを、混合個体の100個の二倍体配列で評価する。RFMixはまた、アフリカ出処のデータセットを表す240個の単一祖先個体を表す240個の二倍体配列を用いて訓練され、次いで、混合個体の同じ100個の二倍体配列で再び評価される。次いで、2つの異なるデータセットを用いて訓練されたRFMixによる局所的祖先推論の推論正解率を比較する。以下の表1は、実験結果を例示する:
【表1】
【0131】
上記の表1に示されるように、RFMixは、生成的機械学習モデル600によって生成されたアフリカ出処のデータ及びデータセットを用いて訓練されたときに同等の正解率を得る。正解率の結果はまた、判別器及び敵対的損失を加えることは、ネットワークが、アフリカ出処のデータセットにより類似しているヒト染色体配列をシミュレートすることを学習するのに役立ち、したがって、RFMIxなどの局所的祖先推論モデルを訓練し、それによって、正解率の著しい増加を提供するのにより有用であることを示す。
【0132】
C.グローバルデータセット
第2の実験では、RFMix及び生成的機械学習モデル600は、東アジア(EAS)、アフリカ(AFR)、及びヨーロッパ(EUR)の祖先からの合計258個の単一集団個体のSNP配列を使用して訓練される。具体的には、中国の北京の83個の漢族(CHB)、ナイジェリアのイバダンの88個のヨルバ族(YRI)、スペインの87個のイベリア人(IBS)のSNP配列が、第2の実験で使用される。加えて、祖先ごとに10人の単一個体を使用して、一連の世代にわたってライト・フィッシャー順シミュレーションを使用して、試験及び検証のための混合子孫を生成する。30個の単一祖先個体のSNP配列から、合計100人の混合個体のSNP配列を、過去12世代にわたって発生した混合事象で生成して、検証セット及び試験セットの両方を作成した。258個の単一祖先個体のSNP配列を使用して、RFMix及びクラス条件付きVAE-GAN(CVAE-CGAN)を訓練するのに対して、検証セット及び試験セットの200個の混合個体のSNP配列を使用して、訓練後のRFMixを評価する。この実験では、各個体の染色体20が使用される。
【0133】
258個の単一祖先個体のSNP配列を使用して、各祖先についてCVAE-CGANを訓練する。訓練後、祖先ごとに合計100個のシミュレートされたSNP配列が生成され、RFMixを訓練するために使用される。次いで、RFMixを、検証セット中の100個の混合個体のSNP配列で評価する。W(1セグメント当たりのSNPの数)、H(隠れ層のサイズ)、J(潜在空間の次元の数)を含むCVAE-CGANのハイパーパラメータ、及び学習速度、バッチサイズ、エポックなどの訓練パラメータを選択して、RFMixの最高の検証正解率を提供する。具体的には、W=4000、H=100、及びJ=10が選択される。加えて、3つの祖先起源(C=3)のうち1つを選択するためのワンホットエンコーディングと、祖先起源ロケールの座標(C=2)と、の2つのタイプの祖先起源インジケータが使用される。
【0134】
実験から、祖先ごとに100個のシミュレートされたサンプルが、生成的機械学習モデル600を使用して生成され、RFMixを訓練するために使用される。次いで、RFMixを、混合個体の200個のSNP配列で評価する。RFMixはまた、258個の単一祖先個体のSNP配列で訓練され、次いで、混合個体の同じ200個のSNP配列で再び評価される。次いで、2つの異なるデータセットを用いて訓練されたRFMIxによる局所的祖先推論の推論正解率を比較する。以下の表2は、実験結果を例示する:
【表2】
【0135】
上記の表2に示されるように、RFMixは、生成的機械学習モデル600によって生成されたアフリカ出処のデータ及びデータセットを用いて訓練されたときに同等の正解率を得る。正解率の結果はまた、判別器及び敵対的損失を加えることは、ネットワークが、アフリカ出処のデータセットにより類似しているヒト染色体配列をシミュレートすることを学習するのに役立ち、したがって、RFMixなどの局所的祖先推論モデルを訓練し、それによって、正解率の著しい増加を提供するのにより有用であることを示す。
【0136】
加えて、シミュレートされたSNP配列(258個の単一祖先個体からの生成的機械学習モデル600によって生成される)と、258個の単一祖先個体の実際のSNP配列と、の間の類似度の分析が実行される。シミュレートされたSNP配列の広範なサンプリングを実行し、99.9%、99.99%、99.999%、及び100%の閾値を有する258個の単一祖先個体のうちの1つのSNP配列にマッチするシミュレートされた個体の頻度を判定する。 以下の表3は、祖先ごとに10,000個の個体を表す10,000個のSNP配列を生成した後のマッチ数を示す:
【表3】
【0137】
V.セグメントの結合
図6の実施例では、エンコーダ602及びデコーダ604を、ゲノムの特定の窓について訓練することができる。次いで、入力配列を形質インジケータとともに提供して、同じ形質を有する実際の配列と区別できないシミュレートされた配列を生成することができる。各ゲノム窓について、別個のモデルを訓練することができる。したがって、シミュレートされたゲノムの各窓を、独立に生成することができる。しかしながら、窓を、窓にまたがる入力配列に基づいて、集合的に生成される複数の窓(セグメント)のシミュレートされた配列と相互接続することが望ましい場合がある。
【0138】
相互接続を提供するために、実施形態は、入力ベクトルを受信するモデルの1つ以上の層、及び/又は複数の窓についての埋め込みベクトルを追加することができる。例えば、種々の窓についてのニューラルネットワークを相互接続するニューラルネットワークについて余分な層が存在し得る。このようにして、シミュレートされた配列は、窓を種々の形質に関連付けることによって影響を受ける組み合わされたゲノムを、より現実的にシミュレートすることができる。遠位部位間の長い関係を、所与の形質について捕捉することができる。例えば、ある窓は、スペイン人の祖先を有することができ、別の窓は、ネイティブアメリカンの祖先起源を有することができ、相互接続は、現実世界の現代のラテン系の人をシミュレートすることができる。
【0139】
図7は、本開示の実施形態による、種々の変異体セグメント間の関係を提供する機械学習モデル700のサンプルアーキテクチャを示す。機械学習モデル700は、入力配列が非常に長い場合、又は部分配列としてのセグメントのモデリングが所望される場合に使用され得る(例えば、混合形質を有する個体をシミュレートするために)。入力配列全体を、窓の単一のセグメント又は複数のセグメントとして見ることができ、各セグメントは、異なる窓に対応する。後者のシナリオでは、セグメントは、より大きな領域又はスーパーセグメントを形成することができる。
【0140】
入力配列は、シミュレートされた配列が所望される窓の配列全体である。実施例として、0又は1の変異体値は、非野生型対立遺伝子が部位に存在するかどうか(例えば、参照配列とは異なる対立遺伝子)であり得る。異なる部位を、異なるタイプの変異体に関連付けることができる。窓処理された配列は、各々が変異体部位のそれぞれのセットに対応する、異なる変異体セグメント(窓)によってグループ化された変異体値を示す。
【0141】
所与の変異体セグメントの変異体値の各セットは、それぞれのエンコーダ702への入力として提供される。示されるように、エンコーダ1~4に対応する4つの変異体セグメントがある。加えて、各形質インジケータベクトル712(P1~P4)は、それぞれのエンコーダ702へのそれぞれの入力を提供する。形質インジケータベクトル712は、入力配列の所与の窓について、例えば、1つ以上の形質を有する対象(例えば、窓配列が取得される)の結果として、1つ以上の形質(例えば、表現型、祖先インジケータ、...)が存在するかどうかの指示を提供することができる。これらのインジケータ/表現型/形質の記述子は、医師、又はアンケート、又はバイオバンク作成のための他の技術によって提供され得るか、又は外部アルゴリズムによって取得され得る(例えば、祖先インジケータは、局所的祖先推論方法によって自動的に取得され得る)。
【0142】
各形質インジケータベクトル712(P1、P2、..)は、エンコーダシステムの各エンコーダ702及びデコーダシステムのデコーディング相互接続モジュール708(示されるようなRNN2モジュール)に入力される。したがって、各エンコーダ702(1、2、...)は、窓処理された対応する配列及びそれぞれの形質ベクトルを受信することができる。2つの入力は、連結されてから入力され得る。デコーディング相互接続モジュール708は、形質インジケータベクトルと連結されたガウス埋め込みの配列を入力として受信することができる。
【0143】
各エンコーダ702は、各窓(例えば、変異体セグメント)についてのエンコーダ隠れ層を出力する。エンコーダ隠れ層の各部分(例えば、he1)は、例えば、分布生成サブモデル306についての、以前のセクションに記載されたエンコーダの出力に対応し得る。したがって、エンコーダ隠れ層の各部分は、潜在空間に存在し得る。
【0144】
エンコーディング相互接続モジュール706は、エンコーダの出力をエンコーダ隠れ層として受信する。示される実施例では、エンコーディング相互接続モジュール706は、再帰型ニューラルネットワーク(RNN)である。エンコーディング相互接続モジュール706は、エンコーダの各々(すなわち、窓の各々)の潜在空間における値の全てに作用し、したがって、集合的に作用する。エンコーディング相互接続モジュール706は、入力配列に含まれるセグメント(窓)の各々についての潜在空間のサイズと同じであり得るか又は異なり得る出力を提供する。
【0145】
本明細書、例えばセクションIIIに記載されているのと同様の様式で、埋め込みベクトル732を決定することができる。示されるように、埋め込みベクトル732は、ガウス分布を使用して決定される。分布のサンプリングを、例えば、他のセクションについて本明細書に記載されるように、埋め込みベクトル732の生成の一部としてのエンコーディング相互接続モジュール706の後に実行することができる。デコーディング相互接続モジュール708は、埋め込みベクトル732を受信し、デコーダ隠れ層を出力する。デコーディング相互接続モジュール708は、潜在空間にあり得る埋め込みベクトル732の値の全てに作用し、また、窓の各形質インジケータ712の入力を受信し、したがって、異なる窓の値に集合的に作用することもできる。エンコーディング隠れ層及びデコーディング隠れ層は、同じ又は異なる量のデータ(例えば、同じ数の次元)を有し得、埋め込みベクトル732は、隠れ層と同じ又は異なるサイズであり得る。
【0146】
各デコーダ704は、デコーダ隠れ層の一部分(hd1-hd4)を受信し、再構築/シミュレートされた、窓処理された配列におけるそれぞれの窓についての変異体値を出力し、これにより、最終的な再構築/シミュレートされた配列がもたらされる。各デコーダ704は、以前のセクションに記載されたデコーダ、例えば、配列生成サブモデル308に対応し得る。
【0147】
相互接続モジュール706及び708は、各he*及びhd*を、配列の1つのエントリとして取り扱うことができる。したがって、実施形態は、配列をモデル化することができるネットワーク層を含むことができる。相互接続モジュールはRNNと命名されているが、再帰型ニューラルネットワーク(RNN)である必要はない。1d配列をモデル化することができる任意のニューラルアーキテクチャを適用することができるか、又は他の微分可能な関数を適用することができる。そのような例としては、長・短期記憶ネットワーク(LSTM)及びゲート付き再帰型ユニット(GRU)などの再帰型ニューラルネットワーク(RNN)、ResNetスタイルのアーキテクチャを含む1d畳み込みニューラルネットワーク(CNN)、自己注目層及びトランスフォーマの任意の高速の変形を有するネットワークなどのトランスフォーマベース、多層パーセプトロンネットワーク(MLP)-ミキサ、及びグラフMLP(gMLP)などのネットワークを含む全結合配列モデリングが挙げられる。
【0148】
上述したように、相互接続モジュール706及び708は、任意選択である。含まれない場合、各サブ配列(窓)は独立に処理されるようになっており、サブ配列間の可能な相関は、機械学習モデル700によって捕捉されないようになっている。削除されると、機械学習モデル700は、図3B図6に記載されるのと同様の様式で、例えば、あらゆる異なるサブ配列で独立して作用するように動作することができる。
【0149】
VI.方法
図8は、シミュレートされたゲノム配列を生成する方法800を例示する。シミュレートされたゲノム配列は、複数の変異体(例えば、SNP)部位についての変異体(例えば、SNP)値の配列を含み得る。方法800は、例えば、生成的機械学習モデル300などの生成的機械学習モデルを実装するコンピュータシステムによって実行され得る。
【0150】
ステップ802において、コンピュータシステムは、形質インジケータを入力として受信する。形質インジケータは、例えば、図3Aの祖先起源インジケータ304又は他の形質インジケータを含むことができる。コンピュータシステムは、他の入力を受信してもよい。例えば、コンピュータシステムは、形質インジケータに関連付けられた形質を有する対象のゲノムの複数の変異体部位(例えば、SNP部位)についての入力変異体セグメント(例えば、SNPセグメント)を受信してもよい。
【0151】
変異体セグメントは、変異体部位での変異体値の配列(例えば、SNP値、他の対立遺伝子、又はメチル化ステータス)によって表され得る。変異体値の配列は、入力ベクトルとも称され得る。各変異体値は、変異体部位で変異体を指定することができる。変異体セグメントを、形質インジケータに関連付け、例えば、形質インジケータとともに記憶し、変異体セグメントが形質を有する対象由来であることに基づいて関連付けることができる。別の実施例として、コンピュータシステムは、変異体値の配列が生成される複数の変異体部位を識別する情報を受信し得る。
【0152】
実施例として、形質を、本明細書に記載されている祖先起源、生物医学的形質、人口統計学的形質、又は他の表現型とすることができる。更に、2つ以上の形質インジケータを入力することができる。このような状況では、変異体セグメントを、提供される複数の形質インジケータを有する1人以上の被験者に関連付けることができる。したがって、対象が1つ以上の追加の形質も有する場合、1つ以上の追加の形質インジケータに対応する1つ以上の追加の形質インジケータを受信することができる。
【0153】
ステップ804において、コンピュータシステムは、形質インジケータに基づいて、潜在空間における埋め込みベクトルの確率分布を取得する。確率分布を、訓練された生成的機械学習モデルの分布生成サブモデルによって、形質を有する対象のゲノムの複数の変異体部位における変異体値の配列を表す(例えば、入力変異体セグメントの)入力ベクトルから生成することができる。例えば、入力ベクトル及び形質インジケータが、分布生成サブモデルに入力されて、確率分布を生成することができる。
【0154】
各変異体値は、変異体部位における特定の変異体(例えば、特定の塩基(A、C、G、T)、特定のメチル化ステータス(メチル化又は非メチル化)など)を指定することができる。いくつかの実装態様では、0は、参照ゲノムにおける参照値(例えば、対立遺伝子)又は集団における他の一般的であるものを識別することができ、1は、特定のタイプの変異体の存在を示すことができる。入力ベクトルを、各々が変異体部位に対応する第1の数の次元を有する変異体セグメント空間において定義することができる。潜在空間は、第1の数の次元よりも小さい第2の数の次元を有することができる。確率分布を、第2の数の次元を有する多次元とみなすことができる。
【0155】
変異体のタイプは、部位における変異体値のクラス又は特性に対応し得る。例えば、1つのタイプの変異体は、変異体値が、異なるヌクレオチドであるか、又は場合によっては欠失したヌクレオチドである、一塩基多型(SNP)である。欠失、(例えば、短いタンデム反復の)増幅、挿入、反転、及びメチル化ステータスなどの変異型の他の例が、本明細書に提供される。複数の変異体部位は、複数のタイプの変異体を有し、例えば、いくつかの部位は、SNPのものであり得、他の部位は、メチル化ステータスのものであり得る。
【0156】
いくつかの実施例では、ステップ804の一部として、コンピュータシステムは、分布生成サブモデル306などの分布生成サブモデルを採用して、入力変異体セグメントを表す入力ベクトルに基づいて、確率分布を計算することができる。分布生成サブモデル(例えば、エンコーダとして作用する)は、例えば、削減された数の次元の各々についての分布の平均及び幅(分散)へのマッピングによって、変異体セグメント空間における入力ベクトルを、削減された数の次元を有する潜在空間における埋め込みベクトルの多次元確率分布に変換することができる。等方性分布の場合、分散は、各次元について同じになる。削減された空間における分布は、入力変異体セグメントの変動を表すことができる。エンコーダは、入力として入力ベクトル及び祖先インジケータをとり、かつ入力に基づいて多次元確率分布を決定するニューラルネットワークモデルを含み得る。
【0157】
いくつかの実施例では、コンピュータシステムはまた、各々が特定の形質(例えば、祖先起源)及び変異体(例えば、SNP)部位のセットに関連付けられた複数の確率分布から、潜在空間における埋め込みベクトルの確率分布を選択し得る。確率分布を、以前の時点における異なる形質(例えば、祖先起源)の入力変異体セグメントに基づいて、分布生成サブモデルによって計算することができる。したがって、複数の確率分布の各々を、異なる形質インジケータに関連付けることができる。
【0158】
ステップ806において、コンピュータシステムは、潜在空間における第2の数の次元の各々における確率分布をサンプリングすることによって、サンプルベクトルを取得する。具体的には、図3A図3Eに関して記載されているように、サンプリングを実行するために、ランダム関数及びサンプリング関数を実装することができる。ランダム関数は、ゼロ平均及び単位分散を有する等方性ガウス分布に基づいて、ランダム行列を生成することができる。サンプリング関数は、再パラメータ化演算において、(ランダム関数からの)出力ランダム行列を確率分布の分散ベクトルと乗算し、かつ乗算の結果を確率分布の平均ベクトルに加算することに基づいて、サンプルベクトルを生成することができる。
【0159】
確率分布は、ガウス分布(例えば、セクションIII.Cに記載されているような)を含むことができ、ここで、確率分布は、潜在空間の各次元の平均及び分散によって表される。サンプルベクトルを取得することは、第2の数の次元の各々について、以下のステップを含むことができる:乱数を生成し、乱数をそれぞれの平均及びそれぞれの分散と組み合わせて、次元の値を生成すること。次いで、サンプルベクトルを、潜在空間の第2の数の次元について生成された値に基づいて形成することができる。
【0160】
ステップ808では、コンピュータシステムは、訓練された生成的機械学習モデルの配列生成サブモデルを使用して、形質インジケータに基づいて、サンプルベクトルからの出力ベクトルを再構築する。いくつかの実施例では、配列生成サブモデルは、再構築関数を実装するためのデコーダを含み得るか、又はデコーダであり得る。再構築マップは、入力変異体セグメントの形質に基づいて、潜在空間における埋め込みベクトルのサンプルを変異体セグメント空間における出力ベクトルに逆にマッピングすることができる。次いで、出力ベクトルは、形質のシミュレートされた変異体セグメントを表すことができる。デコーダは、ニューラルネットワークモデルを含むこともできる。
【0161】
方法800を、(例えば、図1B図2A、及び図2Bに示されるように)複数のセグメントについて繰り返すことができる。コンピュータシステムは、形質を有する1つ以上の対象の入力ゲノム配列から抽出された複数の入力変異体セグメントを受信することができる。複数の入力変異体セグメントの各々を、そのセグメントについての変異体部位における変異体値を含む別個のベクトルとすることができる。入力変異体セグメントは、プロセスが各セグメントに対して繰り返されるように、入力ベクトルを含むことができる。各入力変異体セグメントについて、分布生成サブモデルは、確率分布を決定することができる。確率分布をサンプリングすることによって、それぞれのサンプルベクトルを取得し、それによって複数のそれぞれのサンプルベクトルを取得することができる。配列生成サブモデルは、セグメントのそれぞれの形質インジケータに基づいて、それぞれのサンプルベクトルからのそれぞれの出力ベクトルを再構築し、それによって、複数のそれぞれの出力ベクトルを決定することができる。次いで、シミュレートされたゲノム配列を、それぞれの出力ベクトル(例えば、連結させる)に基づいて生成することができる。分布生成サブモデル及び配列生成サブモデルは、クラス条件付き変分オートエンコーダ(CVAE)を形成することができ、ここで、入力変分セグメントの形質は、CVAEについての種々のクラスを表すことができる。
【0162】
ステップ810において、コンピュータシステムは、出力ベクトルに基づいて、シミュレートされたゲノム配列を生成する。いくつかの実施例では、コンピュータシステムは、複数の入力変異体セグメントを受信し、シミュレートされた変異体セグメントを表す複数の出力ベクトルを生成し得る。いくつかの実施例では、コンピュータシステムはまた、種々の変異体部位について、各出力ベクトルが特定の形質について生成される、複数の出力ベクトルを生成し得る。両方の場合において、出力ベクトルを連結して、シミュレートされたゲノム配列を形成することができる。
【0163】
A.ニューラルネットワークの実装態様
本明細書のセクションIII.C及びIII.E並びに他のセクションに記載されているように、分布生成サブモデルは、第1の入力層、第1の隠れ層、及び第1の出力層を含む第1のニューラルネットワークを含むことができる。第1の入力層のノードの第1のサブセットの各ノードは、入力変異体セグメント中の変異体部位に対応し得、対応する変異体部位の変異体値を受信することができ、変異体値を複数の第1の重みのうちの第1の重みでスケーリングすることができる。第1の隠れ層の各ノードは、第1の入力層のノードの第1のサブセットからのスケーリングされた変異体値の和に基づいて、第1の中間値を生成することができ、複数の第2の重みのうちの第2の重みに基づいて、第1の中間値をスケーリングして、スケーリングされた第1の中間値を取得することができる。第1の出力層の各ノードは、第1の隠れ層の各ノードからのスケーリングされた第1の中間値の和に基づいて、潜在空間の次元の平均及び分散を出力することができる。複数の第1の重み及び複数の第2の重みを、入力変異体セグメントの形質に基づいて選択することができる。
【0164】
第1の入力層のノードの第2のサブセットの各ノードは、入力変異体セグメントの形質を表す値を受信することができる。第1の隠れ層における各ノードは、第1の入力層のノードの第1のサブセットからのスケーリングされた変異体値の和と、第1の入力層のノードの第2のサブセットからの形質を表すスケーリングされた値の和と、に基づいて、第1の中間値を生成することができる。
【0165】
本明細書のセクションIII.C及びIII.E並びに他のセクションに更に記載されているように、配列生成サブモデルは、第2の入力層、第2の隠れ層、及び第2の出力層を含む第2のニューラルネットワークを含むことができる。第2の入力層のノードの第1のサブセットの各ノードは、潜在空間の次元に対応し、対応する次元のサンプルベクトル値を受信し、サンプルベクトル値を第3の重みでスケーリングすることができる。第2の隠れ層における各ノードは、第2の入力層のノードの第1のサブセットからのスケーリングされたサンプルベクトル値の和に基づいて、第2の中間値を生成することができ、第4の重みに基づいて、第2の中間値をスケーリングすることができる。第2の出力層の各ノードは、シミュレートされた変異体セグメントを表すそれぞれの出力ベクトルのベクトル値を出力することができる。第3の重み及び第4の重みを、入力変異体セグメントの形質に基づいて選択することができる。
【0166】
第2の入力層のノードの第2のサブセットの各ノードは、入力変異体セグメントの形質を表す値を受信することができる。第2の隠れ層における各ノードは、第2の入力層のノードの第1のサブセットからのスケーリングされた変異体値の和と、第2の入力層のノードの第2のサブセットからの形質を表すスケーリングされた値の和と、に基づいて、第2の中間値を生成することができる。
【0167】
本明細書のセクションIII.C及びIII.E並びに他のセクションに更に記載されているように、判別器は、第3の入力層、第3の隠れ層、及び第3の出力層を含む第3のニューラルネットワークを含むことができる。第3の入力層のノードの第1のサブセットの各ノードは、変異体部位に対応し得、出力ベクトルにおける対応する変異体部位の変異体値を受信し、変異体値を第5の重みでスケーリングすることができる。第3の隠れ層における各ノードは、第3の入力層のノードの第1のサブセットからのスケーリングされた変異体値の和に基づいて、第3の中間値を生成することができ、第6の重みに基づいて、第3の中間値をスケーリングして、スケーリングされた第3の中間値を取得することができる。第3の出力層は、第3の隠れ層からのスケーリングされた第3の中間値に基づいて、出力ベクトルが実際の変異体セグメントを表す確率を計算するためのノードを含むことができる。第5の重み及び第6の重みを、入力変異体セグメントの形質に基づいて選択することができる。
【0168】
第3の入力層のノードの第2のサブセットの各ノードは、入力変異体セグメントの形質を表す値を受信することができる。第3の隠れ層における各ノードは、第3の入力層のノードの第1のサブセットからのスケーリングされた変異体値の和と、第3の入力層のノードの第2のサブセットからの形質を表すスケーリングされた値の和と、に基づいて、第3の中間値を生成することができる。
【0169】
B.訓練
本明細書のセクションIII.E及び他のセクションに記載されているように、エンコーダ(例えば、分布生成サブモデル)及びデコーダ(例えば、配列生成サブモデル)を、CVAEの一部とすることができ、変異体セグメント空間から潜在空間へのマッピングにおける情報損失を低減しながら、変異体の種々のパターンを目標多次元確率分布にフィッティングさせるように訓練することができる。このことは、デコーダによって生成されたシミュレートされた変異体セグメントが、多次元確率分布に従って入力変異体セグメントに統計的に関連し、変異体セグメント中のランダムな変動の効果をシミュレートすることができることを確実にすることができる。図4に記載されているように、エンコーダ及びデコーダの訓練は、(入力ベクトルと出力ベクトルの各々との間の)再構築誤差と、目標確率分布からの発散に対するペナルティとを組み合わせた損失関数を最小化することに基づくことができる(例えば、多次元確率分布と、例えば、目標確率分布の目標値と、のパラメータ(例えば、平均及び分散)の差分に基づいて)。訓練演算を実行して、再構築誤差及び分布発散のペナルティを低減又は最小化して、エンコーダによって生成された変異体セグメントの分布を、ゼロ平均単位分散ガウス分布であり得る目標確率分布に(ある程度)マッチするように強制することができる。変異体セグメントの分布の中心(平均)及び分散を、再構築誤差及び分布発散のペナルティの低減/最小化に基づいて設定することができる。
【0170】
シミュレートされた変異体セグメントが目標確率分布により密接に従い得るように、分布誤差を更に低減するために、CVAEを、例えば、図5A及び図5Bに記載されているように、前述の訓練演算におけるデコーダ及び判別器を含むクラス条件付き敵対的生成ネットワーク(CGAN)を使用して訓練することができる。判別器をニューラルネットワークモデルとして実施することもでき、判別器は、デコーダによって出力された変異体セグメントが実際の変異体セグメントであるか、又はシミュレートされた変異体セグメントであるかを分類することができる。判別器は、シミュレートされた変異体セグメントが目標確率分布に従うとき、実際の変異体セグメントをシミュレートされた変異体セグメントから区別することができない場合があり、この時点で、判別器の分類誤差率が最大に達する場合があり、このことは、デコーダの再構築が最適であることを意味する。敵対的訓練演算であって、デコーダのパラメータを、削減された次元での確率分布が目標確率分布に近づくように分類誤差率を増加させるように調整することができ、かつ判別器のパラメータを、分類誤差率を低減するように調整する、敵対的訓練演算を実行することができる。訓練演算は、出力ベクトルのおよそ半分が実際の変異体セグメントを表し、かつ出力ベクトルのおよそ半分が偽物の/シミュレートされた変異体セグメントを表すときに停止し得る。
【0171】
本明細書のセクションIII.D及びIII.E並びに他のセクションに記載されているように、分布生成サブモデルを、再構築誤差成分及び分布誤差成分を含む第1の損失関数に基づいて訓練することができる。再構築誤差成分は、出力ベクトルと入力ベクトルとの差分に基づくことができる。分布誤差成分は、埋め込みベクトルの確率分布と目標確率分布との差分に基づくことができる。分布生成サブモデルのパラメータを、第1の損失関数を減少させるように調整することができる。分布誤差成分は、Kullback-Leibler発散に基づくことができる。
【0172】
配列生成サブモデルを、再構築誤差成分を含む第2の損失関数に基づいて訓練することができる。配列生成サブモデルを、入力変異体セグメントの形質に基づいて、配列生成サブモデルによって出力された出力ベクトルが、実際の変異体配列又はシミュレートされた変異体配列を表すかどうかを分類する判別器を用いる敵対的訓練演算で訓練することができる。第2の損失関数は、判別器における分類誤差率が増加すると減少する敵対的損失成分を更に含むことができる。判別器を、分類誤差率が減少すると減少する第3の損失関数に基づいて訓練することができる。配列生成サブモデル及び判別器のパラメータを、それぞれ、第2の損失関数及び第3の損失関数を減少させるように調整することができる。
【0173】
C.配列の窓の集合的分析
セクションVに記載されているように、複数のそれぞれの出力ベクトルを、複数のそれぞれのサンプルベクトルから集合的に再構築することができる。例えば、確率分布を、複数の入力変異体セグメントについて集合的に決定することができる。
【0174】
複数の入力変異体セグメントの各々について、配列生成サブモデルのそれぞれのエンコーダは、入力変異体セグメントの変異体値及び1つ以上のそれぞれの形質インジケータを受信することができる。1つ以上のそれぞれの形質インジケータを使用して、それぞれのエンコーダは、入力変異体セグメントの変異体値に作用し、それぞれのエンコーダ隠れベクトルを出力することができる(例えば、変異体セグメント空間と潜在空間との間のサイズの空間に)。複数のエンコーダ隠れベクトルを取得することができる。次いで、エンコーディング相互接続モジュールは、複数のエンコーダ隠れベクトルを受信することができる。エンコーディング相互接続モジュールは、複数の入力変異体セグメントの各々についての潜在空間における第2の数の次元の各々についての確率分布を定義することができる埋め込みベクトルを生成することができる。
【0175】
複数のそれぞれの出力ベクトルを再構築することを、埋め込みベクトルを使用して集合的に実行することができる。デコーディング相互接続モジュールは、埋め込みベクトル及び1つ以上のそれぞれの形質インジケータを受信することができる。複数の入力変異体セグメントについての形質インジケータを使用して、デコーディング相互接続モジュールは、埋め込みベクトルに作用し、複数の入力変異体セグメントの各々についてのそれぞれのデコーダ隠れベクトルを出力することができる。複数の入力変異体セグメントの各々について、配列生成サブモデルのそれぞれのデコーダは、それぞれのデコーダ隠れベクトルに作用して、入力変異体セグメントについてのそれぞれの出力ベクトルを取得することができる。
【0176】
VII.コンピュータシステム
本明細書で言及されるコンピュータシステムのうちのいずれも、任意の好適な数のサブシステムを利用し得る。コンピュータシステム10におけるそのようなサブシステムの実施例を、図9に示す。いくつかの実施形態では、コンピュータシステムが、単一のコンピュータ装置を含み、サブシステムを、コンピュータ装置のコンポーネントとすることができる。他の実施形態では、コンピュータシステムは、各々が内部コンポーネントを有するサブシステムである、複数のコンピュータ装置を含むことができる。コンピュータシステムとして、デスクトップコンピュータ及びラップトップコンピュータ、タブレット、携帯電話、並びに他の携帯デバイスを挙げることができる。いくつかの実施形態では、クラウドインフラストラクチャ(例えば、Amazon Web Services)、グラフィック処理ユニット(GPU)などを使用して、開示された技法を実装することができる。
【0177】
図9に示されるサブシステムは、システムバス75を介して相互接続されている。プリンタ74、キーボード78、記憶デバイス79、ディスプレイアダプタ82に結合されているモニタ76などのような、追加のサブシステムが示されている。I/Oコントローラ71に結合する周辺機器及び入力/出力(I/O)デバイスを、入力/出力(I/O)ポート77(例えば、USB、FireWire(登録商標))などの当該技術分野において知られている任意の数の手段によって、コンピュータシステムに接続することができる。例えば、I/Oポート77又は外部インターフェース81(例えば、Ethernet、Wi-Fiなど)を使用して、コンピュータシステム10を、インターネットなどの広域ネットワーク、マウス入力デバイス、又はスキャナに接続することができる。システムバス75を介した相互接続は、中央プロセッサ73が、各サブシステムと通信すること、及びシステムメモリ72又は記憶デバイス79(例えば、ハードドライブ又は光ディスクなどの固定ディスク)からの複数の命令の実行、及びサブシステム間の情報のやり取りを制御することを可能にする。システムメモリ72及び/又は記憶デバイス79は、コンピュータ可読媒体を具現化し得る。別のサブシステムは、カメラ、マイクロホン、及び加速度計などのような、データ収集デバイス85である。本明細書で言及されるデータのうちの任意のものを、あるコンポーネントから別のコンポーネントに出力することができ、ユーザに対して出力することができる。
【0178】
コンピュータシステムは、例えば外部インターフェース81によって又は内部インターフェースによって互いに接続された複数の同じコンポーネント又はサブシステムを含むことができる。いくつかの実施形態では、コンピュータシステム、サブシステム、又は装置が、ネットワークを介して通信することができる。そのような事例では、あるコンピュータをクライアントと、及び別のコンピュータをサーバとみなすことができ、各々を、同じコンピュータシステムの一部とすることができる。クライアント及びサーバは各々、複数のシステム、サブシステム、又はコンポーネントを含むことができる。
【0179】
実施形態の態様を、ハードウェア(例えば、特定用途向け集積回路又はフィールドプログラマブルゲートアレイ)を使用して、及び/又はモジュール式の若しくは集積された様式で一般にプログラム可能なプロセッサを有するコンピュータソフトウェアを使用して、制御ロジックの形態で実装することができる。本明細書で使用される場合、プロセッサは、シングルコアプロセッサ、同じ集積チップ上のマルチコアプロセッサ、又は単一の回路基板上若しくはネットワーク化された複数の処理ユニットを含む。本明細書に提供される本開示及び教示に基づいて、当業者は、ハードウェア、及びハードウェアとソフトウェアとの組み合わせを使用して、本開示の実施形態を実装するための他の方式及び/又は方法を認識及び理解するであろう。
【0180】
本出願で記載されるソフトウェアコンポーネント又は関数のうちの任意のものを、例えば、Java、C、C++、C#、Objective-C、Swiftなどの任意の好適なコンピュータ言語、又は例えば、従来の技術若しくはオブジェクト指向の技法を使用するPerl若しくはPythonなどのスクリプト言語を使用する、プロセッサによって実行されるソフトウェアコードとして実装してもよい。ソフトウェアコードを、記憶及び/又は伝送のためのコンピュータ可読媒体上に一連の命令又はコマンドとして記憶してもよい。好適な非一時的コンピュータ可読媒体として、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、ハードドライブ若しくはフロッピーディスクなどの磁気媒体、又はコンパクトディスク(CD)若しくはDVD(デジタル多用途ディスク)などの光学媒体、フラッシュメモリなどを挙げることができる。コンピュータ可読媒体は、そのような記憶デバイス又は伝送デバイスの任意の組み合わせであってもよい。
【0181】
そのようなプログラムを、符号化し、インターネットを含む多様なプロトコルに従う有線ネットワーク、光ネットワーク、及び/又は無線ネットワークを介した伝送に適合された搬送波信号を使用して伝送してもよい。したがって、そのようなプログラムで符号化されたデータ信号を使用して、コンピュータ可読媒体を作成してもよい。プログラムコードで符号化されたコンピュータ可読媒体を、互換性のあるデバイスとパッケージ化するか、又は(例えば、インターネットダウンロードを介して)他のデバイスとは別個に提供してもよい。任意のそのようなコンピュータ可読媒体は、単一のコンピュータ製品(例えば、ハードドライブ、CD、又はコンピュータシステム全体)上又はその内部に存在してもよく、及びシステム又はネットワーク内の異なるコンピュータ製品上又はその内部に存在してもよい。コンピュータシステムは、モニタ、プリンタ、又は本明細書で言及される結果のうちのいずれかをユーザに提供するための他の好適なディスプレイを含んでもよい。
【0182】
本明細書に記載される方法のうちの任意のものを、ステップを実行するように構成され得る1つ以上のプロセッサを含むコンピュータシステムを用いて、全体的又は部分的に実行することができる。したがって、実施形態は、本明細書に記載される方法のうちの任意のもののステップを実行し、場合によっては、異なるコンポーネントがそれぞれのステップ又はそれぞれのステップのグループを実行するように構成されたコンピュータシステムを対象とすることができる。番号付けされたステップとして提示されているが、本明細書における方法のステップを、同時に又は異なる順序で実行することができる。追加的に、これらのステップの部分を、他の方法からの他のステップの部分と併用してもよい。また、ステップの全て又は部分は、任意選択であってもよい。追加的に、方法のうちの任意のもののステップのうちの任意のものを、モジュール、ユニット、回路、又はこれらのステップを実行するための他の手段で実行することができる。
【0183】
特定の実施形態の具体的な詳細を、本開示の実施形態の趣旨及び範囲から逸脱することなく、任意の好適な様式で組み合わせてもよい。ただし、本開示の他の実施形態は、各個々の態様、又はこれらの個々の態様の具体的な組み合わせに関する具体的な実施形態を対象としてもよい。
【0184】
本開示の例示的な実施形態の上記の説明は、例示及び説明の目的で提示されている。包括的であること、又は本開示を記載された形態そのものに限定することは意図されておらず、多くの修正及び変更が、上記の教示に鑑みて可能である。
【0185】
「a」、「an」、又は「the」の記述は、それに反するように特段示されない限り、「1つ以上」を意味することが意図されている。「又は」の使用は、それに反するように特段示されない限り、「排他的な又は」ではなく「包含的な又は」を意味することが意図されている。「第1」の構成要素への言及は、第2の構成要素が提供されることを必ずしも必要としない。更に、「第1」又は「第2」の構成要素への言及は、明示的に述べられない限り、言及される構成要素を特定の場所に限定しない。
【0186】
本明細書で言及される全ての特許、特許出願、公報、及び説明は、全ての目的のために参照によりそれらの全体が組み込まれる。いかなるものも、先行技術であるとは認められていない。
【0187】
本明細書には、特定の実施形態に関する追加の情報を含む付属書が添付されている。付属書で使用される他の用語は、(まだ)業界で一般的に使用される用語ではない場合もある。
図1-1】
図1-2】
図2-1】
図2-2】
図2-3】
図3-1】
図3-2】
図3-3】
図3-4】
図3-5】
図4
図5-1】
図5-2】
図6
図7
図8
図9
【国際調査報告】