(57)【特許請求の範囲】
【請求項１】
ゲノム情報を機密保護する方法であって、
ゲノムデータ源からゲノム配列を受信するステップと、
前記ゲノム配列を参照するためのプロキシ患者識別情報を生成するステップと、
管理された計算パイプラインに前記ゲノム配列を提供するステップであって、前記計算パイプラインが、前記ゲノム配列内のフィーチャを検出するために前記ゲノム配列を処理するステップと、
前記管理された計算パイプラインから、検出された前記フィーチャを取得するステップと、
ホストされた計算モジュールを使用して、前記検出されたフィーチャをアノテーションするステップであり、前記検出されたフィーチャ及びアノテーションは共に、中間結果を形成する、ステップと、
前記中間結果を処理して情報科学生成物を生成するように適応したユーザにより特定されたプログラムコードを実行するための要求を、前記ホストされた計算モジュールの実行マネージャにて受信するステップと、
前記ユーザにより特定されたプログラムを個々の計算に分解するステップと、
それぞれの隔離されたアドレス空間を使用して各計算を行うステップと、
を含み、前記ゲノム配列が配列解読装置から受信される、方法。
【請求項２】
前記ホストされた計算モジュールの実行の監査可能なシーケンスに従って、前記検出されたフィーチャ、アノテーションされた前記フィーチャ、及び前記プロキシ患者識別情報の少なくとも１つをデータベースに記憶するステップを更に含む、請求項１に記載の方法。
【請求項３】
前記ホストされた計算モジュールが、臨床的関連に従って、前記検出されたフィーチャをアノテーションする、請求項１に記載の方法。
【請求項４】
前記管理された計算パイプラインに前記ゲノム配列を提供する前に、前記ゲノム配列を参照ゲノム配列に対して整列させるステップを更に含む、請求項１に記載の方法。
【請求項５】
前記ホストされた計算モジュールを提供する前記ステップにおいて、前記ホストされた計算モジュールが、
仮想化コンテナを備えるプログラム実行モジュールと、
ユーザを認証し、ユーザ認証に従ってアクセス制御を提供するためのセキュリティモジュールと
を備える、請求項１に記載の方法。
【請求項６】
前記管理された計算パイプラインに前記ゲノム配列を提供する前記ステップにおいて、前記管理された計算パイプラインが、ユーザ認証とロールベースのアクセス制御との一方によって機密保護される、請求項１に記載の方法。
【請求項７】
臨床分析のために、少なくとも１つのアノテーションされたフィーチャと、関連の前記プロキシ患者識別情報とを提示するステップ
を更に含む、請求項１に記載の方法。
【請求項８】
ゲノム情報科学データを提供するための装置であって、
ゲノムデータ源からゲノム配列を受信する受信機モジュールと、
前記ゲノム配列を参照するためのプロキシ患者識別情報を生成する識別情報発生器と、
管理された計算パイプラインに前記ゲノム配列を提供するための通信バスであって、前記計算パイプラインが、前記ゲノム配列内のフィーチャを検出するために前記ゲノム配列を処理する、通信バスと、
を備え、
前記通信バスが、前記管理された計算パイプラインから、検出された前記フィーチャを取得し、前記検出されたフィーチャを、ホストされた計算モジュールに提供し、
前記ホストされた計算モジュールが、前記検出されたフィーチャをアノテーションし、前記検出されたフィーチャ及びアノテーションは共に、中間結果を形成し、
前記ホストされた計算モジュールの実行マネージャが、前記中間結果を処理して情報科学生成物を生成するように適応したユーザにより特定されたプログラムコードを実行するための要求を受信し、
前記ユーザにより特定されたプログラムは、個々の計算に分解され、
各計算が、それぞれの隔離されたアドレス空間を使用して行われ、
前記ゲノムデータ源が配列解読装置である、装置。
【請求項９】
前記ホストされた計算モジュールの実行の監査可能なシーケンスに従って、前記検出されたフィーチャ、アノテーションされた前記フィーチャ、及び前記プロキシ患者識別情報の少なくとも１つをデータベースに記憶するための非一時的なコンピュータ可読記憶媒体を更に備える、請求項８に記載の装置。
【請求項１０】
前記ホストされた計算モジュールが、臨床的関連に従って、前記検出されたフィーチャをアノテーションする、請求項８に記載の装置。
【請求項１１】
前記管理された計算パイプラインに前記ゲノム配列を提供する前に、前記ゲノム配列を参照ゲノム配列に対して整列させるモジュールを更に備える、請求項８に記載の装置。
【請求項１２】
前記ホストされた計算モジュールが、
仮想化コンテナを備えるプログラム実行モジュールと、
ユーザを認証して、前記ユーザ認証に従ってアクセス制御を提供するためのセキュリティモジュールと
を備える、請求項８に記載の装置。
【請求項１３】
前記管理された計算パイプラインが、ユーザ認証とロールベースのアクセス制御との一方によって機密保護される、請求項８に記載の装置。
【請求項１４】
臨床分析のために、少なくとも１つのアノテーションされたフィーチャと、関連の前記プロキシ患者識別情報とを提示するためのユーザインターフェースを更に備える、請求項８に記載の装置。
【請求項１５】
計算を行うための方法であって、
管理される計算パイプラインで実行するためのプログラムを受信するステップと、
前記プログラムの前記実行のための実行コンテキストを作成するステップと、
前記実行コンテキスト内で仮想機械を起動して、前記プログラムを実行するステップと、
配列解読装置からゲノム配列及び個人識別可能な情報を受信し、前記プログラムによって、前記ゲノム配列の検出されたフィーチャをアノテーションして、中間結果を形成するステップと、
前記中間結果を、前記管理された計算パイプラインから送信するステップと、
を含み、
前記プログラムの前記実行に関連付けられる個人識別可能な情報が、前記実行コンテキスト内に排他的に記憶される、
方法。
【請求項１６】
アップロードされたプログラムから、実行可能な画像を作成するステップと、前記実行可能な画像を、非一時的なコンピュータ可読記憶媒体に保存するステップとを更に含む、請求項１５に記載の方法。
【請求項１７】
前記非一時的なコンピュータ可読記憶媒体での前記仮想機械の実行に関連付けられる状態情報を記憶するステップを更に含む、請求項１６に記載の方法。
【請求項１８】
前記実行コンテキストが仮想化コンテナである、請求項１５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
[0001]  本出願は、本出願の同時係属出願である２０１４年７月１４日出願の米国仮特許出願第６２／０２４，０１２号、本出願の同時係属出願である２０１４年５月２日出願の米国仮特許出願第６１／９８７，８８７号の利益を主張する。これらの出願の開示全体を、本明細書にその全体が記載されているかのように、参照により本明細書に援用する。
【０００２】
[0002]  本発明は、全般的には、ゲノム情報の送達に関し、より詳細には、ホストされたサービスを使用するゲノム情報の安全な送達に関する。
【背景技術】
【０００３】
[0003]  ゲノムシーケンシングシステムの各世代毎に、未だかつてない量の分子情報が、臨床診断及び治療計画に利用可能になっている。これは特に腫瘍学で当て嵌まり、ここで、高いスループットの分子プロファイリングが、診断の個人化、療法選択、及び反応評価に向けた重要な推進因子となる。従って、患者ＤＮＡの配列データを使用して情報科学データを生成及び提供するための決定支援システムが、臨床的に重要なツールとなり得る。
【０００４】
[0004]  臨床決定を下すためにゲノム情報が使用されるとき、ゲノム情報は典型的には線形で使用され、ここで、１組の標準的な解析ステップが順次に行われて、生のゲノム配列を変換して、特定の１組の情報科学生成物、例えばバイオマーカ、遺伝的変異体、又は他の患者特有のフィーチャを生み出す。次いで、この１組のゲノム情報は、ただ１つの研究において１人の患者に関して、又は１つの臨床上の問題に答える目的で、特定的に処理される。従って、従来のゲノム情報科学データは、複数の臨床オプションを利用する機会、又は他の患者のゲノム情報を含めた集団ベースのコホートのコンテキストで患者特有のデータを評価する機会を提供することなく生成される。
【０００５】
[0005]  従来のゲノム情報科学システムに関してあまり満たされていない要件の１つは、ゲノム情報セキュリティ及びプライバシを提供する必要性である。患者を識別するために使用され得るゲノム情報又は任意の情報は、政府及び業界の規制を受ける。更に、研究及び臨床環境におけるものを含め、患者識別情報を所有する施設及び個人は、データセキュリティ又はプライバシが侵害された場合に患者に通知することを要求される。その結果、ゲノムデータの所有者は、患者特有のゲノム情報を共有したがらない。
【０００６】
[0006]  従来のシステム及び方法は、十分な粒度及びコンテキスト的洗練性でゲノム情報を保護するには能力が限られている。例えば、図１に示されるように、患者特有のゲノム情報を含む従来のデータ公開は、研究者、臨床医、及び研究者や臨床医の加盟機関の適切な信任状提出に焦点を当てる。個人又は施設がアクセス権を与えられると、その生の形態でのゲノム情報、及び情報を保護する責任が、受け取った側に移される。この手法は、最も一般的なものであるが、セキュリティの観点から幾つかの重大な欠点を有する。例えば、これは、後続の情報受取人が意図的でないプライバシ漏洩を実際に引き起こし得るときに、推移的信頼関係による後続の情報配布又は普及でセキュリティが維持され得ると仮定する。
【０００７】
[0007]  また、この手法は、大きな研究のためのデータ全てが中央化されるというその制限にも関わらず、情報アクセスの個々のインスタンスに関する任意の詳細な監査情報を提供しない。この手法では、情報の使用を司るセキュリティ又はプライバシポリシーは動的に変えることができず又は単純に施行されず、しばしば、ポリシーを施行するために受取人自身が信頼されなければならない。
【０００８】
[0008]  別の従来の方法は、信頼できるデータ記憶装置を介して情報への安全なアクセスを可能にするためのアプリケーションプログラミングインターフェース（ＡＰＩ: application programming interface）を提供する。この手法は、２つの大きな欠点を有する。受取人が自身の認証を必要とされる場合、異なる受取人を区別して、場合によっては、それらの受取人のアクセスに異なるポリシーを適用することが可能である。この方法は、粒度の細かいアクセスを提供することができる；即ち、受取人は、特定のタスクに必要とされるデータのみを求めることができる。開示される又は開示される可能性がある情報が、計量及び監査され得る。また、この監査レベルは、漏れの原因となり得る箇所が識別されるようにする。
【０００９】
[0009]  他方、この手法は、依然として、機密データを信頼できない環境に返す。これがどこで問題となり得るかを見るために、単純な例を考える：即ち、ゲノム識別子のリストを仮定して、特定の変異体を有するゲノムの数を決定する。ＡＰＩが識別子によって変異体を単純に返すと仮定する。これらの環境下では、信頼できないコードが、おそらく表現型特性に基づいて選択されたリスト内の各ゲノムに関して個々の変異体を学習する。それらの関連性が損なわれ、それによりセキュリティを弱めることがある。
【発明の概要】
【発明が解決しようとする課題】
【００１０】
[0010]  本概要は、様々な概念を簡略化された形で紹介するためのものであり、それらの概念は、発明を実施するための形態の項で以下に更に説明する。この概要は、特許請求される主題の重要な特徴又は本質的な特徴を識別又は除外することは意図されておらず、特許請求される主題の範囲の決定を補助するものとして使用されることも意図されていない。
【課題を解決するための手段】
【００１１】
[0011]  本発明の実施形態は、ゲノムデータを記憶及び解析するための安全なフレームワークのための方法及び装置に関する。本発明の実施形態は、機密情報に対して、及び機密情報に操作を加える解析に対して持続的な統括を適用して、機密情報とその解析との間の対話を管理する。
【００１２】
[0012]  一態様では、本発明の実施形態は、ゲノム情報を機密保護する方法に関する。この方法は、ゲノムデータ源からゲノム配列を受信するステップと、ゲノム配列を参照するためのプロキシ患者識別情報を生成するステップと、管理された計算パイプラインにゲノム配列を提供するステップと、管理された計算パイプラインから、検出されたフィーチャを取得するステップと、ホストされた計算モジュールを使用して、検出されたフィーチャをアノテーションするステップとを含む。計算パイプラインが、ゲノム配列内のフィーチャを検出するためにゲノム配列を処理するように構成される。
【００１３】
[0013]  一実施形態では、ゲノム配列は、配列解読装置から受信される。一実施形態では、この方法は、ホストされた計算モジュールの実行の監査可能なシーケンスに従って、検出されたフィーチャ、アノテーションされたフィーチャ、及びプロキシ識別情報の少なくとも１つをデータベースに記憶するステップを更に含む。一実施形態では、ホストされた計算モジュールは、臨床参照に従って、検出されたフィーチャをアノテーションするように構成される。一実施形態では、この方法は、管理された計算パイプラインにゲノム配列を提供する前に、ゲノム配列を参照ゲノム配列に対して整列させるステップを更に含む。
【００１４】
[0014]  一実施形態では、ホストされた計算モジュールを提供するステップは、仮想化コンテナを備えるプログラム実行モジュールと、ユーザを認証して、ユーザ認証に従ってアクセス制御を提供するためのセキュリティモジュールとを有するホストされた計算モジュールを提供するステップを含む。一実施形態では、管理された計算パイプラインにゲノム配列を提供するステップは、ユーザ認証とロールベースのアクセス制御との一方によって機密保護される管理された計算パイプラインを提供するステップを含む。一実施形態では、この方法は、臨床分析のために、少なくとも１つのアノテーションされたフィーチャと、関連の患者プロキシ識別情報とを提示するステップを更に含む。
【００１５】
[0015]  別の態様では、本発明の実施形態は、ゲノム情報を提供するための装置に関する。この装置は、受信機モジュールと、識別情報発生器と、通信バスと、ホストされた計算モジュールとを含む。受信機モジュールは、ゲノムデータ源からゲノム配列を受信するように構成される。識別情報発生器は、ゲノム配列を参照するためのプロキシ患者識別情報を生成するように構成される。通信デバイスは、管理された計算パイプラインにゲノム配列を提供し、計算パイプラインは、ゲノム配列内のフィーチャを検出するためにゲノム配列を処理するように構成される。通信バスは、管理された計算パイプラインから、検出されたフィーチャを取得し、検出されたフィーチャを、ホストされた計算モジュールに提供するように更に構成される。ホストされた計算モジュールが、検出されたフィーチャをアノテーションするように構成される。
【００１６】
[0016]  一実施形態では、ゲノムデータ源は、配列解読装置である。一実施形態では、装置は、ホストされた計算モジュールの実行の監査可能なシーケンスに従って、検出されたフィーチャ、アノテーションされたフィーチャ、及びプロキシ識別情報の少なくとも１つをデータベースに記憶するための非一時的なコンピュータ可読記憶媒体を更に含む。一実施形態では、ホストされた計算モジュールは、臨床参照に従って、検出されたフィーチャをアノテーションするように構成される。
【００１７】
[0017]  一実施形態では、装置は、管理された計算パイプラインにゲノム配列を提供する前に、ゲノム配列を参照ゲノム配列に対して整列させるように構成されたモジュールを更に含む。一実施形態では、ホストされた計算モジュールは、仮想化コンテナを備えるプログラム実行モジュールと、ユーザを認証して、ユーザ認証に従ってアクセス制御を提供するためのセキュリティモジュールとを含む。一実施形態では、管理された計算パイプラインは、ユーザ認証とロールベースのアクセス制御との一方によって機密保護される。一実施形態では、装置は、臨床分析のために、少なくとも１つのアノテーションされたフィーチャと、関連の患者プロキシ識別情報とを提示するためのユーザインターフェースを更に含む。
【００１８】
[0018]  更に別の態様では、本発明の実施形態は、計算を実施するための方法に関する。この方法は、管理される計算パイプラインで実行するためのプログラムを受信するステップと、プログラムの実行のための実行コンテキストを作成するステップと、実行コンテキスト内で仮想機械を起動して、プログラムを実行するステップと、実行の結果を、管理された計算パイプラインから送信するステップとを含み、プログラムの実行に関連付けられる個人識別可能な情報が、実行コンテキスト内に排他的に記憶される。
【００１９】
[0019]  一実施形態では、方法は、アップロードされたプログラムから、実行可能な画像を作成するステップと、実行可能な画像を、非一時的なコンピュータ可読記憶媒体に保存するステップとを更に含む。仮想機械の実行に関連する状態情報も、非一時的なコンピュータ可読記憶媒体に記憶され得る。一実施形態では、実行コンテキストは、仮想化コンテナである。
【００２０】
[0020]  本発明の非限定的な実施形態を特徴付けるこれら及び他の特徴及び利点は、以下の詳細な説明を読み、添付図面を見れば明らかであろう。上述の全般的な説明と以下の詳細な説明とはどちらも例示に過ぎず、特許請求される非限定的な実施形態を制約するものではないことを理解されたい。
【００２１】
[0021]  以下の各図を参照して、非限定的であり非包括的な実施形態を説明する。
【図面の簡単な説明】
【００２２】
【図１】[0022]  ゲノム情報にアクセスするための従来のシステムのブロック図である。
【図２】[0023]  本発明による情報科学データを生成するためのマルチステージ計算システムのブロック図である。
【図３】[0024]  本発明の一実施形態を使用するゲノム配列データの処理の一例を示す図である。
【図４】[0025]  本発明によるホストされた計算モジュールの一例を示す図である。
【図５】[0026]  本発明による計算を実施するための方法の流れ図である。
【図６】[0027]  本発明の一実施形態を使用して実装された保有者適合性検出のための単純な計算ネットワークを示す図である。
【発明を実施するための形態】
【００２３】
[0028]  図面中、様々な図を通して、同じ参照符号は、対応する部分を一般に表す。図面は、必ずしも縮尺通りではなく、操作の原理及び概念に重点が置かれている。
【００２４】
[0029]  添付図面を参照して、様々な実施形態をより完全に以下に述べる。図面は、本明細書の一部を成し、特定の例示的実施形態を示す。しかし、実施形態は、多くの異なる形態で実装されてよく、本明細書に記載される実施形態に限定されるものと解釈されるべきでない。これらの実施形態は、本開示が完璧且つ完全になるように提供され、実施形態の範囲を当業者に完全に示す。実施形態は、方法、システム、又はデバイスとして実施され得る。従って、実施形態は、ハードウェア実装形態、完全にソフトウェアの実装形態、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実装形態の形を取り得る。従って、以下の詳細な説明は、限定の意味合いで解釈されるべきではない。
【００２５】
[0030]  本明細書における「一実施形態」又は「実施形態」への言及は、実施形態に関連して述べられる特定の特徴、構造、又は特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書における様々な箇所に現れる語句「一実施形態では」は、必ずしも全てが同じ実施形態に言及しているわけではない。
【００２６】
[0031]  以下の説明の幾つかの部分は、コンピュータメモリに記憶された非一時的な信号に対する操作の記号的な表現によって提示される。これらの説明及び表現は、データ処理分野の当業者によって、自分の研究の本質を他の当業者に最も効果的に伝えるために使用される手段である。そのような操作は、典型的には、物理量の物理的操作を必要とする。通常、必須ではないが、これらの量は、記憶、転送、結合、比較、及び他の操作を実施され得る電気、磁気、又は光信号の形態を取る。時として、主に一般的な使用のために、これらの信号を、ビット、値、要素、シンボル、言葉、用語、数等として表すことが好都合である。更に、時として、一般性を失うことなく、物理量の物理的操作を必要とするステップの特定の構成をモジュール又はコードデバイスとして表すことも好都合である。
【００２７】
[0032]  しかし、これら及び同様の用語は全て、適切な物理量に関連付けられるべきであり、それらの量に適用される好都合な標識に過ぎない。以下の論述から明らかであるように特に示さない限り、明細書を通して、「処理」、「計算」、「算出」、「決定」、又は「表示」等の用語を利用する論述は、コンピュータシステムメモリ若しくはレジスタ又は他のそのような情報記憶、伝送、若しくは表示デバイス内で物理的（電子的）な量として表されるデータを操作及び変換するコンピュータシステム又は同様の電子計算デバイスの作用及びプロセスを表すことが理解される。
【００２８】
[0033]  本発明の特定の態様は、プロセスステップ及び命令を含み、プロセスステップ及び命令は、ソフトウェア、ファームウェア、又はハードウェアとして具現化され得て、ソフトウェアとして具現化されるときには、ダウンロードされ得て、様々なオペレーティングシステムによって使用される様々なプラットフォームに常駐し、それらのプラットフォームから操作される。
【００２９】
[0034]  また、本発明は、本明細書における操作を実施するための装置に関する。この装置は、所要の目的のために特別に構成されてよく、又はコンピュータに記憶されているコンピュータプログラムによって選択的に活動化及び再構成される汎用コンピュータを備えていてもよい。そのようなコンピュータプログラムは、コンピュータ可読記憶媒体に記憶され得て、そのような記憶媒体は、限定はしないが、例えば任意のタイプのディスク、例えばフロッピディスク、光ディスク、ＣＤ−ＲＯＭ、磁気光ディスク、読み出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、磁気若しくは光カード、特定用途向け集積回路（ＡＳＩＣ）、又は、電子命令を記憶するのに適した任意のタイプの媒体であり、それぞれコンピュータシステムバスに結合される。更に、本明細書で言及されるコンピュータは、ただ１つのプロセッサを含んでいても、計算能力を向上させるために複数のプロセッサ設計を採用するアーキテクチャでもよい。
【００３０】
[0035]  本明細書で提示されるプロセス及びディスプレイは、本来的に、任意の特定のコンピュータ又は他の装置に関係付けられない。様々な汎用システムが、本明細書における教示によるプログラムと共に使用されてもよく、又は所要の方法ステップを実施するためにより特殊化された装置を構成するのに好都合であることが分かっていることもある。様々なこれらのシステムに関する所要の構造は、以下の説明から明らかであろう。更に、本発明は、任意の特定のプログラミング言語を参照して述べられてはいない。本明細書で述べる本発明の教示を実施するために様々なプログラミング言語が使用され得て、特定の言語への以下の任意の言及は、本発明の実施可能性及びベストモードを開示するために提供されることを理解されよう。
【００３１】
[0036]  更に、本明細書で使用される言語は、基本的には読みやすさ及び説明のために選択されており、本発明の主題を限定する又は主題の範囲を定めるようには選択されていないことがある。従って、本発明の開示は、特許請求の範囲に記載される本発明の範囲の例示であり、限定ではないものと意図される。
【００３２】
[0037]  一実施形態によれば、図２に示されるように、ゲノム配列の研究又は臨床研究のための情報科学データを生成するためのマルチステージ計算システム２００が提供される。計算システムは、４つのステージ２１０、２２０、２３０、及び２４０を含み、各ステージに、１つ又は複数のセキュリティ及びプライバシ保全手段（本明細書では以後、保護手段と呼ぶ）が設けられ得る。
【００３３】
[0038]  ステージＩ（２１０）において、ゲノムデータの生の配列がゲノムシーケンサ（図示せず）から受信され得て、受信されたゲノム配列は、データベース２１２に記憶され得る。生の整列されていないゲノム配列読取情報のセットが、配列解読機で生成され、システムに移送され得る。これらの読取情報はまだ整列されていない、即ち実質的にランダムな順序であるので、読取情報は、セキュリティの観点から等価である。従って、適切な保護手段は、生の読取情報データの保護、及びサーバへの安全な伝送を対象とする。
【００３４】
[0039]  本発明の一実施形態によれば、保護手段は、読取情報の暗号化を含むことができる。例えば、読取情報の暗号化は、対称鍵を用いて実施され得る。保護手段は、更に、読取情報が受信されて後続の処理のために取り込まれるコンピュータの公開鍵を用いた対称鍵の暗号化を含むことができる。暗号化された後、読取情報データは、取込点２１１にアップロードされ、解読され、データベース２１２に記憶され得る。
【００３５】
[0040]  次に、ステージＩＩ（２２０）で、計算パイプラインモジュールは、ステージＩ（２１０）で受信された生のゲノム配列を更に処理し、それらを１組のアノテーションされた変異体に変換するように提供され得る。ここで、パイプラインモジュールは、１つ又は複数のコンピュータプロセッサによって提供され得て、それらのコンピュータプロセッサが、一連のデータ処理命令を実行し、それにより一連のパイプラインプロセッサを形成する。１つのパイプラインプロセッサの出力が、次のプロセッサに入力される。パイプラインモジュールの命令セットは、並列に、又は時分割多重方式で実行され得る。即ち、パイプラインプロセッサは、複数の並列のパイプラインとして配置され得る。
【００３６】
[0041]  図３に示されるように、且つ図２に関連して、このステージでは、生の読取情報は、１組の命令３０２を有する参照ゲノム配列に整列され得る。パイプラインプロセッサ３０２の出力は、パイプラインプロセッサ３０３に提供され得て、パイプラインプロセッサ３０３は、整列された読み取られた配列を対にすることができる。後続のパイプラインプロセッサ３０４は、対にされた配列を、例えば参照ゲノム配列に対してソートすることができる。ソートされた配列は、パイプラインプロセッサ３０５によって単一の配列にマージされ得て、配列の重複排除がパイプラインプロセッサ３０６によって実施され得る。
【００３７】
[0042]  パイプラインプロセッサの出力は、より多くの患者情報を露呈する形でゲノム配列を編成することがあり、攻撃者にとってより有用となり得る。しかし、このステージではデータボリュームが大きいままであり得、従って、少量のデータ漏洩を受けてもあまり問題はないことがある。
【００３８】
[0043]  更に、ステージＩＩ（図２での２２０）で、整列命令セットが全ての読取情報を含むことができるので、（パイプラインプロセッサによって行われる）各整列プロセスは、全ての読取情報への等しいアクセス権を付与され得て、暗号化操作によってプロセスを遅くすることがない。即ち、本発明の一実施形態によるパイプラインプロセッサに適用される保護手段は、ユーザの認証、ロールベースのアクセス制御、セキュリティ監査等の従来のセキュリティ技法を含む。
【００３９】
[0044]  一実施形態によれば、パイプラインプロセッサが、ユーザ対話なしでゲノム配列を処理することができる場合（即ちデータ処理命令セットの自動実行）、ユーザの認証及び認可が保護手段から省かれ得る。
【００４０】
[0045]  別の実施形態によれば、パイプラインプロセッサ３０８及び３０９は、ユーザ対話又は入力を必要とし得る。例えば、パイプラインプロセッサ３０８は、前のパイプラインプロセッサ３０７から出力されたゲノムフィーチャ、即ち変異体をアノテーションする。ゲノムフィーチャは、dbSNP、COSMIC、ClinVar、及びdbNSFP等の複数のアノテーションデータベース（図２には補助バイオデータベース２２２として示される）の任意のものから検索されたアノテーション情報によってアノテーションされ得る。そのようなデータベースのうちの１つのデータベースの選択は、デフォルト設定であり得て、即ちユーザ入力を伴わず、又は選択は、ユーザに任され、望まれる情報の種類及び詳細レベルに基づいてユーザ入力に従って成され得る。
【００４１】
[0046]  別の例として、パイプラインプロセッサ３０９は、パイプラインプロセッサ３０８によってアノテーションされたゲノムフィーチャをユーザが解釈する助けとなり得る。識別されたゲノムフィーチャ、及び提供される刊行物又は利用可能な医療知識からの情報に基づいて、臨床医は、ゲノムフィーチャ及びアノテーションの臨床的関連を解釈して、患者に対する治療方針を決定することができる。その結果、治療は、患者のゲノム、トランスクリプトーム、及び臨床プロファイルに基づいて患者に個人化され得る。
【００４２】
[0047]  一実施形態によれば、このステージ、即ちステージＩＩ（図２での２２０）の最終出力は、アノテーションされた１組の変異体でよく、これらは、非常にプライベートなものであり得て、変異体の相対的な感度に応じて異なるセキュリティポリシーを受けることがある。このデータに対して操作を実行するとき、本発明の実施形態は、操作のリクエスタ、要求の目的、及びこの要求を行うためにユーザが認証されているかどうかを追跡する。幾つかの実施形態では、以下に更に詳細に論じられるように、操作を実施するソフトウェアは、安全な環境で実行され得て、それにより、機密データへのそれらの操作のアクセスがより注意深く制御され得て、不正アクセスを行うことができる可能性が妨げられ得る。
【００４３】
[0048]  一実施形態によれば、疾患等の表現型に関係付けられる変異体は、本発明の保護手段の一部として、より厳しいアクセスポリシーを必要とし得る。
【００４４】
[0049]  本発明の別の実施形態によれば、各パイプラインプロセッサによって出力されるフィーチャに関するゲノム配列を参照するためのプロキシ識別情報が生成され得る。従って、各パイプラインプロセッサは、患者識別情報なしで操作され得る。
【００４５】
[0050]  次に、ステージＩＩＩ（図２での２３０）で、ホストされた計算モジュール２３８が提供されて、ステージＩＩ（２２３）から出力されたゲノムフィーチャ及び配列情報（中間結果）を受信し、中間結果は、データベース２３８に記憶され得る。一実施形態によれば、ホストされた計算モジュールは、受信された中間結果に対して第三者プログラムコードが実行されるようにして、本発明による保護手段の下で情報科学生成物を更に生成する。第三者プログラムコードは、ユーザ選択又はユーザ作成されたプログラムコードをソースコード又はバイナリ形式で含むことができる。
【００４６】
[0051]  前のステージで計算が行われており、これらの計算の結果をユーザに露呈する必要は必ずしもない；計算の結果は、後でアクセスできるようにデータベースに記憶され得る。他方、この段階で、機密情報がエンドユーザに露呈され得る。これは、ユーザが認証されること、及び所与のモジュールの出力へのユーザのアクセスを司る任意のポリシーがチェックされることを必要とする。
【００４７】
[0052]  本発明の様々な実施形態による上述したゲノムＡＰＩモデルは、特に、副作用として情報を露呈し得る計算が、ＡＰＩの背後で実施され、信頼できないクライアント側コードの到達範囲外であるとき、従来のダイレクトアクセスモデルの不備の多くに対処する。しかし、全てのそのような計算を隠すＡＰＩを設計するのは難しく、従って、信頼できないコードが幾らかの中間生成物にアクセスでき、厳密に隠す必要がある量よりも多くの情報を露呈することは避けられない。
【００４８】
[0053]  本発明の様々な実施形態は、信頼できる境界内で汎用計算機能を提供することによって、この問題に対処する。信頼できる環境への計算の移動は、開示される情報に対するはるかに的確な制御を可能にする。なぜなら、信頼できないコードには、最終結果によって露呈される情報しか見えなくなるからである。中間結果は、信頼できる境界内に残る。しかし、信頼できる環境内で任意のコードが実行されるようにすることは、脅威モデルを変える。即ち、悪意のある又は不正なコードが機密データを損なう可能性があり、予期しない形で機密データを露呈する。
【００４９】
[0054]  本発明の更なる実施形態は、様々な技法を単独で又は組み合わせて利用して、これらの脅威を緩和する。幾つかの実施形態は、外来コードが所轄当局によって署名され、コードローディング又は実行のための条件としてその署名がチェックされることを必要とする。幾つかの実施形態は、外来コードを実行することによってアクセスされた情報を追跡する。幾つかの実施形態は、サンドボックス化された環境内で外来コードを実行し、この環境は、外来コードが任意の記憶装置又はネットワーク位置にアクセスするのを防ぎ、システムが機密データの露出を制限できるようにする。幾つかの実施形態は、外来コードがデータにアクセスするための粒度の細かいＡＰＩを提供し、監査機能を改良し、所与の計算によって損なわれ得る個人情報の量を最小限に抑える。
【００５０】
[0055]  本発明の実施形態に対する実行のために書かれるプログラムは、データアクセスのために例えばＲＥＳＴ  ＡＰＩを使用して機密環境又は機密でない環境で開発され得る。機密データをホストする各サーバは、典型的には、その独自の意味的に適切なＡＰＩを提供する。プログラムは、それらが適切に動作することを保証するために、安全でないＨＴＴＰ接続を介して、例えば公開されているデータを使用して試験され得る。
【００５１】
[0056]  一実施形態によれば、図４に示されるように、ホストされた計算モジュール４００は、サンドボックス化された又はホストされた実行環境４１０を含むことができる。ホストされた実行環境４１０は、例えばLinux（登録商標）コンテナメカニズム（ｌｘｃ: Linux（登録商標） containers mechanism）を使用して、コンピュータ仮想化システム内に提供され得る。ユーザ作成されたプログラムが仮想化コンテナにロードされるとき、仮想化された計算資源の実行可能な画像が作成され、画像リポジトリ（図示せず）に記憶される。実行時、実行可能な画像がリポジトリから検索され得る。
【００５２】
[0057]  図４に示されるように、ステップ（１）で、ユーザ作成された信頼できないプログラム４１２を実行するための要求４２２が、実行マネージャ４２０によって受信される。この図には示されていないが、要求４２２は、実行を要求するユーザがポリシーによってその実行を許可されていることを保証する認証及び認可ステージを最初にパスしていると仮定される。認証及び認可された要求４２２に応答して、実行マネージャ４２０は、ホストされた実行環境４１０に命令して、ユーザ作成されたコードをロードさせ、ユーザ特有の実行ポリシーについて更にチェックさせる。このポリシーは、例えば関係当局からのデジタル署名の必要性等、コード自体に対して条件を課すことができる。
【００５３】
[0058]  ステップ（２）で、実行マネージャ４２０は、プログラム４１２の実行のインスタンスのための実行コンテキストを作成する。実行コンテキストは、ホストされた実行モジュール４００が、信頼できないプログラム４１２のメモリアドレス空間（そこでは情報が脆弱になり得る）に機密情報を配置せずに、機密情報を実行インスタンスに関連付けることを可能にすることができる。例えば、プログラムは、その最初の引数として、一時的なゲノムＩＤを渡されることがあり、実行コンテキストが、実際の識別子に対するそのマッピングを記憶する。
【００５４】
[0059]  プログラム実行は、ステップ（３）で開始することができ、実行マネージャ４２０が、仮想機械インスタンスを開始し、必要なパラメータで進む。プログラム４１２が動作するとき、ステップ（４）で示されるように、ＨＴＴＰ  ＡＰＩを介してデータ記憶装置４４０にデータを要求することが許可される。ホストされたコンテナの内部でプログラムが走っているので、ネットワーク資源へのプログラムのアクセスは、信頼できるエンドポイントのみに制限され得る。これらのコールがデータ記憶装置４４０に達する前に、幾つかのプロセスが提供され得る。
【００５５】
[0060]  １．要求は、場合によっては、実行コンテキストに記憶されている情報を使用して変換される。例えば、このステップで、システムは、パラメータとしてプログラムに与えられる一時的な識別子がデータ記憶装置内の実際の識別子にどのようにマッピングするかを決定し得る。実行コンテキストに関する情報も、要求の一部としてデータ記憶装置に渡され得る。
【００５６】
[0061]  ２．プレーンＨＴＴＰによって形成され得る要求は、クライアントとサーバとの両方での証明書を用いてＨＴＴＰＳに変更される。これは、認定されたシステムのみが、信頼できるデータ記憶装置４４０と対話することができることを保証し、鍵情報を第三者プログラムのアドレス空間に入れないようにする。要求を認証するためにポリシーが適用される。これらのポリシーは、機密データへのアクセスに対するより粒度の細かい制御を提供する。なぜなら、それらのポリシーは、計算が始まる前ではなく、計算が進行するときに適用され得るからである。一般に、プログラムが行う要求のセットは、予め決定され得ない。
【００５７】
[0062]  ３．要求の宛先が書き換えられ得る。例えば、ある要求が幾つかの異なるサーバによって満足され得る場合、プロキシは、その要求を最も適切なサーバに送ることができる。
【００５８】
[0063]  ４．要求は、ログを取られ、後の監査のために提供され得る。
【００５９】
[0064]  要求の結果は、再び実行コンテキストでの情報を用いて変換された後に、信頼できないコード４１２のアドレス空間に返される。プログラムが終了するとき、その出力は、実行マネージャ４２０によって捕捉され得て（ステップ６）、監査され得て（ステップ７）、元のリクエスタに再び返され得る（ステップ８）。
【００６０】
[0065]  一実施形態によれば、監査は、後で検証され得るようにデジタル署名される。ホストされた計算モジュール４００が既知の仮想機械での仮想化に依存するので、且つモジュール４００が全ての状態情報を記憶、署名、及びタグ付けするので、後の時点又は異なる位置で計算を完全に生成し直してこれらの監査を確認することが可能である。
【００６１】
[0066]  図５に示されるように、本発明の実施形態は、計算を行うための方法を提供する。プログラムが開発されて試験されると、プログラムは、管理される環境内での実行のためにアップロードされ得る（ステップ５００）。開発者は、典型的にはアップロード前に認定され（即ち認証され）、アップロードプロセスは、アップロードされたプログラムの実行を司るポリシー及び条件をアップローダが設定できるようにするオプションを含んでいてよい。
【００６２】
[0067]  アップロードされた後、実行可能な画像が、アップロードされたプログラムから作成され、実行時に検索できるようにリポジトリに保存され得る。隔離及びセキュリティを提供するために、実行される画像は、仮想化コンテナ、例えば、Docker (http://docker.io)、即ちLinux（登録商標）コンテナメカニズム（ｌｘｃ）に基づく仮想化システムで実行される。
【００６３】
[0068]  実施形態が要求を受信してプログラムを実行するとき、実行コンテキストが、実行プログラムのその特定のインスタンスと共に使用するために作成される（ステップ５０４）。実行コンテキストは、本発明のシステムが、信頼できないプログラムのアドレス空間（そこでは情報が脆弱になり得る）に機密情報を置かずに、機密情報を実行中のインスタンスと関連付けることを可能にする。例えば、プログラムは、その最初の引数として、一時的なゲノムＩＤを渡されることがあり、実行コンテキストが、実際の識別子に対するそのマッピングを記憶する。
【００６４】
[0069]  プログラムが実行され（ステップ５０８）、仮想機械インスタンスを起動し、必要なパラメータで進む。プログラムが動作するとき、プログラムは、例えばＨＴＴＰ  ＡＰＩを使用してデータ記憶装置にデータを要求し得る。プログラムはコンテナ内で走っているので、ネットワーク資源へのプログラムのアクセスは、信頼できるエンドポイントのみに制限され得る。しかし、これらのコールがデータ記憶装置に達する前に、幾つかの追加のステップが行われ得る：
・要求は、実行コンテキストに記憶されている情報を使用して変換され得る。例えば、システムは、パラメータとしてプログラムに与えられる一時的な識別子がデータ記憶装置内の実際の識別子にどのようにマッピングするかを決定し得る。実行コンテキストに関する情報も、要求の一部としてデータ記憶装置に渡され得る。
・要求は、プレーンＨＴＴＰによって生成されている場合、クライアントとサーバとの両方での証明書を用いてＨＴＴＰＳに変更され得る。これは、認定されたシステムのみが、信頼できるデータ記憶装置と対話することができることを保証し、鍵情報を第三者プログラムのアドレス空間に入れないようにする。
・要求を認証するためにポリシーが適用される。これらのポリシーは、機密データへのアクセスに対するより粒度の細かい制御を提供する。なぜなら、それらのポリシーは、計算が始まる前ではなく、計算が進行するときに適用されるからである。
・要求の宛先が書き換えられ得る。例えば、要求が幾つかの異なるサーバによって満足され得る場合、プロキシは、最も適切なサーバ、例えば必要な情報転送量が最小のサーバに要求を送り得る。
・要求のログが取られる。
【００６５】
[0070]  要求の結果は、再び実行コンテキストでの情報を用いて変換された後に、信頼できないコードのアドレス空間に返される（ステップ５１２）。プログラムが終了するとき、その出力は、捕捉され、監査され、元のリクエスタに返され得る。監査は、後で検証され得るようにデジタル署名され得る。
【００６６】
[0071]  実行システムが既知の仮想機械での仮想化を使用するので、且つシステムが全ての状態情報を記憶、署名、及びタグ付けするので、後の時点又は異なる位置で計算を生成し直してこれらの監査を確認することが可能である。
【００６７】
[0072]  このモデルでは、情報を露呈し得る計算がサンドボックス化され、中間生成物へのアクセスを制限する。しかし、より複雑な計算は、複数のステージからなることがあり、それらのステージは、セキュリティを改良して情報漏れを減少させるために更に隔離され得る。
【００６８】
[0073]  例えば、２名の被験者の遺伝性疾患保有者適合性を評価する単純な計算を考える。表現型識別子によって２名の被験者を探索し、変異体の有無をチェックし、両方の被験者が保有者であるかどうか判断する単一のプログラムを作成することが可能である。最悪の場合、この単一のプログラムは、個人識別可能な情報を漏らすことがある。
【００６９】
[0074]  しかし、図６に示されるように、このプログラムを３つの別個のプログラムのネットワークに変換することが可能であり、これらのプログラムは、本発明の一実施形態を使用して、隔離して実行される各プログラムがゲノム型と表現型との関連付けを成すことができないように実行され得る。図６で、３つの異なる計算はそれぞれ、隔離されたアドレス空間に分離され、計算ネットワークとしてつながれている。
【００７０】
[0075]  計算の選択６００は、２名の被験者を、おそらく表現型基準に基づいて選択する。これらの識別子はそれぞれ、各プログラムのアドレス空間の外で、システムによってゲノム識別子にマッピングされる。
【００７１】
[0076]  次いで、各ゲノムは、スクリーンプロセス６０４、６０４’で個々に評価され、このスクリーンプロセス６０４、６０４’は、特定の変異体の存在をチェックし、結合プロセス６０８にブール値を渡し、結合プロセス６０８は、論理ＡＮＤを行って、保有者適合性を決定する。
【００７２】
[0077]  明らかなように、このネットワークによって行われる計算は、単一のプログラムによって計算されるものと同じであるが、場合によっては解放され得る個人識別可能な情報の量が大幅に減少される。
【００７３】
[0078]  本発明の実施形態は、図６に示されるもの等、計算ネットワークをユーザが指定するためのメカニズムを含むことがある。ネットワークが指定されると、システムは、モジュール間の必要な変換、ライフサイクル管理、中間生成物の記憶及び移送、並びに最終結果の返信を処理する。
【００７４】
[0079]  同一の技法が、本発明を具現化するシステム上で実行できるように他のプログラムを変換するために当業者によって利用されてもよく、プログラムをそれらの個々の計算に分解し、各計算が、独自の隔離されたアドレス空間を有する。
【００７５】
[0080]  幾つかの環境において、ゲノムＡＰＩモデルは、十分な保護を提供し得る。オブジェクトリレーショナルモデル（ＯＲＭ: object-relational model）を使用するフレームワークを開発するとき、モジュールは、安全なＡＰＩと対話するように自然に適合され得る。ＯＲＭは、Ruby on RailsやDjango等のウェブサービスフレームワークを使用する開発者が、自動生成されたモデルオブジェクトと対話できるようにし、それらのモデルオブジェクトのクラスは、データベーステーブルに対応し、それらのオブジェクトインスタンスは、そのテーブル内の列に対応する。多くのウェブフレームワークは、開発者が、ローカルオブジェクトの場合と全く同様に、遠隔サーバに記憶されたモデルオブジェクトとＲＥＳＴ  ＡＰＩを介してトランスペアレントに対話できるようにする。
【００７６】
[0081]  オブジェクト／ＲＥＳＴマッピングの一例として、通常はpatient.rsid(1933437)等のデータベース記録を検索するステートメントをＵＲＬに翻訳することが可能であり、ここで、ゲノムＩＤは、ローカルデータベース内の患者オブジェクトと関連付けられ、経路は、オブジェクト／ＲＥＳＴマッピング層によって自動的に構成される。また、要求は、要求を形成するコードが識別及び監査されるようにする認証メカニズムと結合され得る。
【００７７】
[0082]  ＡＰＩレベルでの統合は、モジュールが以下のようであるときに適切である。
・トランザクション中に認証される必要がない信頼できるソースからのものであるとき；
・望ましくない挙動に関して既に解析されているとき；
・機密データへのアクセスに関する完全性の証明を必要としないとき；
・モジュールによって検索される機密情報が他のコンポーネントによって損なわれ得ないことを保証することができる信頼できる環境内で実行されるとき；
・互いに安全に中間生成物を渡すことができるとき。
【００７８】
[0083]  これらの条件の１つ又は複数が成り立たない場合、上述されたサンドボックス化技法を個々のモジュールレベルで適用することによって、何らかの保護が提供され得る。このタイプのモジュールレベルサンドボックス化を実施するための手法は、以下のことを含む：
・サンドボックス化されたモジュールが、制御装置コードによって直接呼び出され得る。望まれる場合には、モジュール自体が、上述したようにオブジェクト／ＲＥＳＴマッピングを使用することができ、アダプタは、仮想化コンテナ内に従属物として投入されている。この手法は、他のモデルオブジェクトに対する多くの依存関係が存在しない場合、又は必要なパラメータが、サンドボックス化されたモジュールにパラメータとして渡され得る場合によく機能し得る。
・間接レベルを追加することによって（インスタンス変数及び方法アクセスを、それらの項目を返すＲＥＳＴコールにマッピングするのではなく）、オブジェクトマッピングは、それらの要求をコマンドに変換して、サンドボックス化されたモデルを実行し、所要のパラメータで進むことができる。
【００７９】
[0084]  この統合ストラテジを使用して、システムは、第三者コードを安全に取り扱うことや、コード完全性を暗号的に検証すること等が可能である。しかし、このシステムは、中間生成物の受渡しには対処せず、中間生成物は、ウェブアプリケーションに依然として返され、その環境内で信頼されなければならない。
【００８０】
[0085]  中間生成物を渡すリスクを緩和するために、ホストされた計算フレームワーク内で計算ネットワーク全体が実行され得る。この手法、即ち上述したものの上位集合は、計算ネットワークを指定し、必要なモジュール全てをロードし、次いで、信頼できる環境内でネットワークの実行を命令することを含む。また、この手法は、１つの処理ステージから他の処理ステージにデータを移動させる目的でのみ成されるウェブアプリケーションへの反復的な往復を回避するので、性能を向上し得る。
【００８１】
[0086]  例えば、本開示の実施形態による方法、システム、及びコンピュータプログラム製品のブロック図及び／又は操作実施例を参照して、本開示の実施形態を上述した。ブロックに示される機能／作用は、任意の流れ図に示される順序以外で行われてもよい。例えば、連続的に示される２つのブロックが、実際には実質的に同時に実行されてよく、又はブロックは、時として、関連の機能／作用によっては逆順に実行されてもよい。更に、任意の流れ図に示されるブロック全てが実施及び／又は実行される必要はない。例えば、所与の流れ図が、機能／作用を含む５つのブロックを有する場合、５つのブロックのうちの３つのみが実施及び／又は実行されることがあり得る。この実施例では、５つのブロックのうちの上記３つの任意のものが実施及び／又は実行され得る。
【００８２】
[0087]  本明細書で提供される１つ又は複数の実施形態の説明及び例示は、特許請求される本開示の範囲を限定又は制限することを何ら意図されていない。本出願に提供される実施形態、実施例、及び詳細は、占有範囲を示し、特許請求される実施形態のベストモードを当業者が作成して使用できるようにするのに十分とみなされる。特許請求される実施形態は、本出願で提供される任意の実施形態、実施例、又は詳細に限定されるものと解釈されるべきではない。組み合わせて図示及び説明されるか、個別に図示及び説明されるかに関わらず、様々な（構造的及び方法的）特徴は、特定の１組の特徴を備える実施形態を生み出すために選択的に含まれる又は省略されることが意図される。本出願の説明及び例示を検討すれば、当業者は、本出願で具現化される全般的な発明概念のより広範な態様の精神に入る変形形態、修正形態、及び代替実施形態を想到し得て、それらは、特許請求される実施形態のより広範な範囲から逸脱しない。
【図１】
0006640836.tif 000002
【図２】
0006640836.tif 000003
【図３】
0006640836.tif 000004
【図４】
0006640836.tif 000005
【図５】
0006640836.tif 000006
【図６】
0006640836.tif 000007