(58)【調査した分野】(Int.Cl.,DB名)
メモリ内のデータ発見ノードデータ構造にアクセスするステップであって、前記データ発見ノードデータ構造が、複数のデータセットのうちのいずれかに対して実行されるべき複数の処理動作を定義するように構成され、前記データ発見ノードデータ構造が、任意の特定データセットから独立した処理のためのモデルとして構成されるステップと、
データセットを選択するステップと、
プロセッサによって、選択された前記データセットについての処理結果を生成するために、アクセスされた前記データ発見ノードデータ構造を選択された前記データセット内のデータに適用するステップと、
を含み、
前記データ発見ノードデータ構造が、(1)充足基準の仕様、(2)第1の解析アルゴリズムの仕様、(3)第2の解析アルゴリズムの仕様、ならびに(4)前記第1の及び第2の解析アルゴリズムがデータセットに適用されるべき条件の仕様を含み、
前記適用するステップは、前記プロセッサが、(1)指定された前記条件に基づいて、指定された前記解析アルゴリズムのうちのどれを実行するかを決定するステップと、(2)選択された前記データセット内のデータに関して、決定された前記解析アルゴリズムを実行するステップと、(3)決定された前記解析アルゴリズムの前記実行が、指定された前記充足基準の充足をもたらしたかどうかを判断するステップと、(4)指定された前記充足基準が充足したという判断が行われるまで、(i)指定された前記条件に基づいて、指定された前記解析アルゴリズムのうちのどれを実行するかを決定するステップと、(ii)選択された前記データセット内のデータに関して、決定された前記解析アルゴリズムを実行するステップと、(iii)決定された前記解析アルゴリズムの前記実行が、指定された前記充足基準の充足をもたらしたかどうかを判断するステップと、を繰り返すステップと、
を含む、方法。
【発明を実施するための形態】
【0010】
図1は、システム図を示し、同様の参照番号が同様の要素を示す添付図面を参照する。
図1に示されるように、データ取得機器は、取得コンピュータに接続されている。実施形態の例では、取得機器は、フローサイトメータである。ただし、フローサイトメータ以外の機器が、取得機器として使用されてもよいと理解されるべきである。しかしながら、発明者は、本明細書で説明される技術がフローサイトメトリを含む単一細胞技術に関して特に革新的かつ有用であると考えるため、説明のために、本明細書における実施形態の例としてフローサイトメトリが使用されるものとする。
【0011】
解析コンピュータは、インターネットを介して、サブネットを介して、イントラネットを介してなど、ネットワーク接続を通してサーバに接続され、またはインターネットを通してクラウドに接続される。いくつかの実施形態では、取得機器は、取得コンピュータに接続されてもよく、取得機器によって取得されたデータは、データを解析コンピュータに転送後、解析コンピュータ上で解析される。
【0012】
解析コンピュータは、解析ソフトウェアを実行し、解析ソフトウェアは、テストされているサンプルのために取得機器の1つまたは複数のパラメータ(例えば、電圧、流量など)を調整することが可能である。このような解析ソフトウェアは、また、サンプルデータを取得する間初期サンプル情報を表示して、パラメータが正しく設定されているかどうかを評価するためにフィードバックをユーザに提供してもよい。解析ソフトウェアは、取得機器の製造業者に応じて変化してもよい。いくつかの実施形態では、取得コンピュータは、ほとんどのユーザインタフェース項目を含む解析ソフトウェアの簡易バージョンを実行してもよく、サーバもまた、解析ソフトウェアのあるバージョンを含む。この実施形態では、サーバが、取得コンピュータよりも多くの計算リソースを有し得るため、サーバは、重いデータ解析などの処理集約型機能を実行してもよい。
【0013】
解析ソフトウェアは、取得機器によって解析されているサンプルの結果を示すデータ信号を取得機器から受信してもよく、または、解析ソフトウェアは、取得機器によって収集されるデータを表すデータファイルを受信してもよい。いくつかの実施形態では(例えば、取得機器がフローサイトメータであるとき)、解析ソフトウェアによって生成されるデータは、サンプル内の細胞の数、末梢血単核球細胞(PBMC)の数及び頻度、CD4+T細胞の数、CD14細胞の数、CD7+細部の数などのうちのいずれかまたは全てを示してもよい。サンプル解析の結果は、1つまたは複数のフローサイトメトリ標準フォーマットファイル(例えば、FCSまたはCSVファイル)内に含まれてもよい。取得コンピュータは、取得機器によって提供される信号及びデータに基づいて、FCSファイルを作成する。ただし、特に、取得機器がフローサイトメータではない場合は、他のファイルフォーマットが使用されてもよいと理解すべきである。解析ソフトウェアは、取得機器ID、患者ID、取得条件及びパラメータなどのものを示す、サンプルについてのメタデータをさらに生成してもよい。
【0014】
解析コンピュータは、解析コンピュータが、解析サーバまたはサードパーティサーバなどのリモートコンピュータと通信することを可能にするインタフェースも含む。取得されたデータが転送される他のコンピュータの例として、サーバは、フローサイトメトリ解析専用のリモートサーバであってもよい。リモートサーバの実施形態では、解析または取得コンピュータは、ネットワークを介してサーバにアクセスしてもよい。解析または取得コンピュータは、サードパーティコンピュータシステムまたはサーバとも通信してもよい。解析または取得コンピュータは、集合を同定し、臨床のための追跡識別番号を含むように構成されるアルゴリズム、または取得コンピュータによって生成されるデータを解析し、もしくはデータを処理することが可能な任意の他の外部アルゴリズムなどの、サードパーティアルゴリズムを記憶し、実行してもよい。
図1は、解析または取得コンピュータシステムがサードパーティアルゴリズムを記憶及び実行する状況を示しているが、サーバなどのリモートコンピュータは、サードパーティ、即ち「外部」アルゴリズムも実行してもよいと理解されるべきである。取得コンピュータは、必要性及び取得コンピュータによって実行される解析に応じて、複数のリモートコンピュータシステムと通信してもよい。
【0015】
サーバは、プロセッサ及びメモリ、ならびにデータベースなどのデータストレージを備える。非一時的コンピュータ可読記憶媒体(メモリなど)上に存在するプロセッサ実行可能命令は、プロセッサにより実行されて本明細書で説明されるタスクを実行してもよい。データベースは、本明細書で説明されるデータ発見ノードデータ構造を記憶してもよい。取得コンピュータは、同様に、プロセッサ及びメモリを備えてもよく、非一時的コンピュータ可読記憶媒体(取得コンピュータのメモリなど)上に存在するプロセッサ実行可能命令が、取得コンピュータのプロセッサにより実行されて、取得コンピュータのために本明細書で説明されるタスクを実行してもよい。
【0016】
続く説明では、(1)外部ソフトウェアアルゴリズムを呼び出し、取り入れるためのプラグインフレームワーク及びインタフェース、及び(2)データ発見ノードを利用するデータ駆動型発見プロセス、を含むがこれらに限定されない、本明細書で説明される進歩性を有する技術のいくつかの様々な態様について詳しく述べる。
【0017】
アルゴリズムプラグインフレームワーク及びインタフェース
単一細胞アッセイの研究の中で、科学者及びアルゴリズム研究者は、取得機器によって収集されるデータの解析を合理化する有用な解析アルゴリズムを生成し続けている。例えば、いくつかの外部解析アルゴリズムは、細胞集団を同定するように構成される。
【0018】
従来、細胞集団同定は、ゲーティングと呼ばれるプロセスを通して手動で行われる。手動ゲーティングは、概して、細胞集団を同定するために、データポイントのセット(クラスタ)の周囲に円または多角形などの形状を、ユーザが手動で描くことを伴う。しかしながら、生命科学のデータ解析における進歩によって、細胞集団を同定することが可能な自動ゲーティングプログラムが生成された。さらに、プロセッサ実行されるアルゴリズムは、人間によって行われる手動の解析よりも高速かつ客観的に、細胞集団を同定し、または他の解析を行うことができるため、細胞集団同定または任意の他のデータ解析ステップのためにコンピュータプロセッサを使用することによって、人間が作り出すいかなるボトルネックまたはバイアスも除去し得る。例として集団同定アルゴリズムが与えられるが、レポートを生成し、または解析結果を視覚化するための外部アルゴリズム、ならびにSPADE、FlowMeans、及びBioconductorプロジェクトの一部として提供されるアルゴリズムなどの高スループットゲノミクス及びフェノミクスデータ解析といった、取得機器によって収集されるデータを科学者が解析し解釈することを助ける、他の種類のデータ解析アルゴリズムが存在する。
【0019】
集団同定のための外部アルゴリズムに加えて、アルゴリズムプラグインフレームワーク及びインタフェースは、外部サーバまたはリモートコンピュータシステムと通信して、オープンソースデータベースから実験データをダウンロードし、外部データベースから注釈付き実験データをダウンロードし、外部サーバまたはリモートコンピュータシステムが統計値を求めてスキャンし得るようにワークスペースデータをアップロードし、アプリケーションレベルの動作を実行し、または臨床試験のための追跡識別番号を受信してもよい。外部サーバシステムと対話するための能力は、解析ソフトウェアに解析結果の有益なプレ及びポスト処理を提供する。例えば、臨床試験を行う科学者が、試験的な識別番号を必要とする場合、アルゴリズムプラグインフレームワーク及びインタフェースは、外部サーバと通信して、確認のために臨床試験実験結果をアップロードしてもよい。
【0020】
さらに別の実施形態では、解析ソフトウェア内部のアルゴリズムは、特定のプラットフォームにおいて区画化されてもよく、意図するコンテキスト外ではそれらをアクセス不可能にする。これらの内部であるが、その意図するコンテキスト外ではアクセス不可能なアルゴリズムの例(解析ソフトウェアがFlowJoであるとき)は、増殖プラットフォームにおける多項式適合、FlowJoのコンペンセーションエディタにおける+/−ピーク検出、またはFlowJoの細胞周期プラットフォームにおけるガウシアンフィッティングを含んでもよい。本明細書で説明されるアルゴリズムプラグインフレームワーク及びインタフェースは、外部アルゴリズムを解析ソフトウェアに統合するだけでなく、上述した現在の制限されたコンテキスト外の区画化された内部アルゴリズムの使用も可能にする。
【0021】
プラグインシステムは、外部アルゴリズムが製品内で動作することを可能にしてその機能性を拡張するためのAPIを提供する機構である。外部アルゴリズムは、典型的には、結果として生じるCLR/CSVファイル(各行がサンプル内のイベントに対応する)を生成することによって集団を同定するために使用され得るが、レポートまたはテーブルなどの追加的な中間生成物も生成してもよい。実施形態の例では、外部アルゴリズムは、Java言語、またはJavaから呼び出され得る任意の他の言語で実装され得る。外部アルゴリズムに追加するために、開発者は、ワークスペース内に新たな「集団ノード」を作成するためにFlowJo製品によって使用されるJavaインタフェースを実装することとなり、それは、グラフ及び統計値を作成するためにFlowJoの幾何学的にゲーティングされた集団ノードのように操作され得る。
【0022】
図1に示すように、取得コンピュータは、取得機器によって取得されたデータの解析に有用な複数のソフトウェアプログラム及びアルゴリズムを記憶し、実行してもよい。例えば、解析ソフトウェアは、FlowJoなどの単一細胞解析プログラムを含んでもよい。サードパーティアルゴリズムは、自動集団同定プログラムまたは上述した外部サーバ関数などであるがこれらに限定されない、解析ソフトウェアを補完する処理を実行してもよい。取得コンピュータは、解析ソフトウェアの指示において外部アルゴリズムを実行してもよい。いくつかの実施形態では、取得コンピュータは、外部アルゴリズムを実行してもよく、別の実施形態では、
図1に示すサーバなどのリモートコンピュータが、外部アルゴリズムを実行し、ネットワークを介して外部アルゴリズムの処理結果を取得コンピュータに提供してもよい。
【0023】
図2は、解析ソフトウェアの処理セッション内で、外部アルゴリズム、または解析結果のプレ/ポスト処理を呼び出すための例示的なフレームワーク及びインタフェースを示す。本明細書で説明されるフレームワークは、既存の科学データ解析ソフトウェアに基づき構築され得る。例えば、解析ソフトウェアが、フローサイトメトリデータを解析するために生成されたソフトウェアである場合、フレームワークは、フローサイトメータによって集められたデータ内で細胞集団を同定するように外部アルゴリズムに要求してもよい。外部サーバ及び外部アルゴリズムと対話するためのフレームワークは、データ解析ソフトウェア内に含まれてもよい。
【0024】
例えば、フレームワークは、Javaなどのプログラミング言語によって定義されるような、クラス及びそれらの命令シーケンスの協働セットを含んでもよい。Javaは、プログラミング言語の一例として与えられているが、任意の数のプログラミング言語のうちの1つが、本明細書で説明されるプロセス及びフレームワークを実行するプログラミング言語としての役割をしてもよい。複数のプログラミング言語が、本明細書で説明されるシステム及び方法を実現し得るが、Javaは、他のプログラミング言語よりも望ましいものとなるある利点、即ち、C、R、またはウェブベースの計算エンジン言語などの他のプログラミング言語に呼び出しをかけるJavaの能力を有する。科学機器によって収集されるデータの統計解析を実行する多くの外部アルゴリズムは、R言語で書かれている。よって、Rに呼び出しをかけるJavaの能力は、Rで書かれた外部アルゴリズムに解析ソフトウェアを橋渡しする。当然ながら、外部アルゴリズムがRで書かれていない場合、Javaは、外部アルゴリズムのプログラミング言語にも呼び出しをかけてもよい。
【0025】
フレームワークは、現在及び将来のデータ解析アルゴリズムが呼び出される機構にデータ値の入力セットを、解析結果の後続の処理と同様に、イベントクラスタ値、数式、視覚的図形、または幾何学的に定義された境界定義の形式で提供する。言い換えると、フレームワークは、入力データのセットを生成し、入力データを外部アルゴリズムまたは外部サーバに伝達するように2つのインタフェースのうちの1つに要求する。外部アルゴリズムの処理後、フレームワークは、解析結果を外部アルゴリズムまたはサーバから受信し、アルゴリズムの呼び出しまたはプレ/ポスト処理が表され、ファイルに保存される機構を提供する。ファイルに保存された解析結果は、ダウンストリーム統計計算、結果のグラフ化、または他のアルゴリズム(追加的な外部アルゴリズム、後続のプレ/ポスト処理、もしくは解析ソフトウェア内に含まれるアルゴリズムなど)の呼び出しのために解析ソフトウェアと統合され得る。
【0026】
フレームワークは、また、データ解析ソフトウェア自体の外部のアルゴリズムである、統合されたアルゴリズムの呼び出しを管理する。解析ソフトウェアは、生物学者がそれを通してこれらのアルゴリズムと対話し得るインタフェースを提供する。解析ソフトウェアは、生物学者(例えば、解析が実行されるべき特定の集団を選択する)とプラグイン開発者(例えば、入力(例えば、生物学者が選択した集団のデータ値に対応するCSVファイル)としてアルゴリズムが必要とするデータに対する要件、ならびに、解析に続き、プラグインインタフェースがユーザに提示するのに利用可能な出力の場所及びタイプを指定する)の双方によって提供される命令に基づく。インタフェースは、また、解析が常に階層的に正しく、生物学的に関連があり続けるように、解析における更新がそれを通して伝達されるエージェントとしての役割をする。より具体的には、フレームワークは、解析が最初に実行される際に統合済みアルゴリズムを呼び出すだけでなく、データ値の入力セットが変化するといつでも、フレームワークは統合済みアルゴリズムの再実行も行う。したがって、科学者は、データ入力の複数セットに対して迅速に解析を実行することができ、フレームワークは、入力データ値が変化し、またはユーザが実験パラメータを変更したときにはいつでも、ユーザ対話なしに統合済みアルゴリズムを呼び出し、再実行することとなる。例えば、いくつかのデータパラメータを変更することによって、統合済みアルゴリズムによって集団がどのように同定されるかが変更されてもよい。データ入力の変化に気付くと、フレームワークは、統合済みアルゴリズムを呼び出して集団を再同定し、フレームワークは、統合済みアルゴリズムによって生成された解析結果を使用する。統合済みアルゴリズムから解析結果を受信すると、フレームワークは、解析ソフトウェアによって理解されるデータフォーマットで、結果を解析ソフトウェアに提供してもよく、解析ソフトウェアは、統計解析、グラフ化、またはレポート化などの結果に対するダウンストリーム解析を実行してもよい。
【0027】
ワークスペースがさらなる解析のために保存され再度開かれ得るように、フレームワークは、アルゴリズム統合がワークスペースとして保存されることを可能にする。
【0028】
フレームワークは、リモートコンピュータシステムと通信するためのインタフェース、及び外部アルゴリズムと通信するためのインタフェースを含む。それぞれのインタフェースは、外部サーバ上に記憶された外部アルゴリズムまたは関数が、ユーザ対話なしに呼び出され得る手段を提供する。実際には、グラフィカルユーザインタフェースを通してデータ処理を見るユーザには、統計、グラフ、または解析ソフトウェアによって生成される他のレポートなどを通して、外部アルゴリズムによって実行される解析結果のみがユーザに示され得るため、外部アルゴリズムの呼び出しは目に見えない。
【0029】
概して、統合されたアルゴリズムの呼び出しのためのインタフェースは、データ値の入力ファイル、出力先フォルダ、1つまたは複数の実験からのデータセットのXML記述を含むが、これらに限定されない。このXML記述は、生データへのポインタ、プラグイン駆動型解析を含んで実行される全ての解析、データについてのメタ情報、及びロジクル、双指数関数、ハイパーログ、及び双極逆正弦などの、データを処理及び視覚化するために任意選択的に使用されるデータ変換を含んでもよい。XML記述は、解析及び関連する結果に生データを階層的にリンク付けするマークアップによってこの情報を指定するXML文書の形式をとってもよい。
図2Bは、ワークスペースのXML記述の例を示し、
図2Cは、プラグインのXML記述の例を示す。同一データ及び解析アーキテクチャを記憶し得る独自仕様のバイナリファイルなど、XML以外の形式が使用されてもよいことを理解すべきである。さらに、XMLまたは別のフォーマットのいずれにせよ、データセットの記述は、任意のプラグインベースの解析用の入力パラメータに関するメタデータ及び外部アルゴリズムによって生成される任意の派生データへのポインタを含んでもよい。XMLメタ情報が外部アルゴリズムによって使用されるかどうかは、呼び出されるアルゴリズム次第である。外部アルゴリズムインタフェースは、保存され、フレームワークによって後で復元されるアルゴリズム呼び出しについてのステップも定義する。インタフェースは、グラフィック、導出パラメータ、表形式データ、ゲーティングデータ(ゲーティングMLフォーマットなど)、分類結果(CLR)ファイル、XMLデータ、またはコンマ区切り値(CSV)ファイルの形式で統合済みアルゴリズムから解析結果を受信することも可能である。言い換えると、インタフェースは、統合済みアルゴリズムによって生成される中間生成物を管理するように構成される。
【0030】
インタフェースは、外部アルゴリズム及びサーバ関数が、外部アルゴリズムを解析ソフトウェアにプラグインするために遵守しなければならない取り決めを定義している。外部アルゴリズムインタフェース及びプレ/ポスト処理インタフェースのそれぞれが、外部サーバ上でのプレ/ポスト処理とインタフェースするため、または外部アルゴリズムとインタフェースするための取り決めを定義する。別のインタフェース実装ステップが、
図3及び
図4においてより詳細に示されている。
【0031】
図3を参照すると、リモートコンピュータとインタフェースするための実装ステップが示されている。方法は、インタフェースがワークスペースを開くことで開始する。ワークスペースを開くことは、プロセッサがワークスペースのXML及びプレ/ポスト処理インタフェースのXMLを読み出すことを含む。ワークスペースXMLは、各サンプルに関連付けられたメタデータ(取得されたデータ、機器タイプ、パラメータ名など)、及び取得後に追加された、任意のユーザ定義されたサンプル固有のメタデータを含み、一方、プラグインインタフェースに固有のXMLは、プラグインモジュールの実行/更新のために必要な変数、例えば、データベースまたはサーバのURIを保持する。ワークスペースを読み出し、URIを受信した結果、プロセッサは、サーバまたはそこに記憶されているデータストア(例えば、データベース)への接続を確立して、後述のように認証を開始し、クエリを実行し、データベースからのデータ及びワークスペースXMLの修正を取り出す。ワークスペースを開くステップは、プロセッサによって実行されるプレ/ポスト処理インタフェースをさらに含み、データベース(例えば、指定されたデータファイルについてのメタデータ及び解析命令を含む、サンプル追跡用の実験室情報管理システム(LIMS))からの検索に基づいて、XMLワークスペース(解析ソフトウェアへの入力)を増強または修正する。さらに、XML入力は、ゲート、統計値、サンプル名、またはワークスペースXMLに含まれ得る全てのものを追加するように修正されてもよい。入力が、解析ソフトウェアによって定義される定義済みスキーマに従う限り、これらの追加は、解析ソフトウェアにおいて計算及び表示を呼び出し得る。入力の検証及び十分なエラー報告が、インタフェースを通して扱われ、テスト入力に適した検証が、展開において実行される。承認も実行されてもよく、それは、解析ソフトウェアがサーバへのアクセスを有することを確認し、外部サーバがオンラインかどうかを判断し、資格証明書を交換し、または任意の他の承認ステップの形式でもたらされてもよい。XML増強は、プレ/ポスト処理ステップがリモートサーバによって実行されるべきということを反映するようにプロセッサがメタデータを生成することまたは変更することを含んでもよい。
【0032】
次に、方法は、解析ソフトウェア内にワークスペースを保存する。保存ステップは、プロセッサがワークスペース及びプレ/ポスト処理インタフェースの状態を保存することを含む。プラグインは、ワークスペース内のそれ自体のXML表現を更新してその「状態」を保持することとなり、及び/または、XMLをトラバースして、データを抽出し、及び、例えば、データベースを指定された統計値で更新するなどのアクションを実行してもよい。このステップの間、プレ/ポスト処理インタフェースは、とられた解析アクションのSQL出力またはログなどの、追加的な中間生成物を生成してもよく、プレ/ポスト処理インタフェースは、外部システムと通信する。この通信中に、インタフェースは、入力データを外部システムに提供し、収集されMIFlowCyt規格に従って注釈がつけられたデータをダウンロードする、臨床トラッカーから追跡識別番号を受信する、または任意の他のプレ/ポスト処理ステップなど、データを外部システムから受信する。プレ/ポスト処理インタフェースは、サーバURLを参照してこの通信を行ってもよい。
【0033】
外部サーバとの通信が完了した後、プロセッサは、セッションを終了し、プレ/ポスト処理インタフェースは、データベース接続などのコンピュータリソースを解放する。
【0034】
図4を参照すると、外部アルゴリズムとインタフェースするための実装ステップが示されている。方法は、外部集団ノードを作成することによって開始し、それは、外部アルゴリズムインタフェースのためのラッパーとして定義され得る。この作成ステップ中に、プロセッサは、パラメータの設定、動作変数の設定、ファイルの命名など、外部アルゴリズムに関連するオプションでユーザにプロンプトし得るが、このユーザプロンプトステップは、任意選択であり、呼び出される外部アルゴリズムに依存してもよい。
【0035】
次に、プロセッサは、外部アルゴリズムによって実行される計算を呼び出すために、XML表現を生成することによってエンジン要求を構成する。XML表現は、どのアルゴリズムを実行するかまたはどの視覚化を生成するか、及び例えば、ファイルパス、パラメータ数、クラスタ数、次元削減用の変数、色選択、視覚化の種類、保存用画像タイプなどの関連する入力及び引数を表す。
【0036】
要求を構成した後、プロセッサは、外部アルゴリズムを呼び出す。外部アルゴリズムを呼び出すことは、外部アルゴリズムにFCSファイル、FCSファイルと共に含まれるXML(イベントの数、サンプルファイル名、及び集団名を含む)、及び外部アルゴリズムがその結果を保存すべき出力フォルダを提供することを含む。それに応じて、外部アルゴリズムは、その処理及び計算を実行する。外部アルゴリズムが、要求された処理及び計算を実行した後、解析ソフトウェアインタフェースは、結果を受信し、それらを解析ソフトウェアに統合する。これらの結果は、CSVファイル、CLRファイル、ゲーティングMLファイル、またはFCSファイルの形式でもたらされてもよい。CSVまたはCLRファイルをインポートするとき、CSVまたはCLRの各行が、FCSファイル内のイベントに対応し、列番号が、クラスタ番号に対応する。さらに、外部アルゴリズムインタフェースは、導出パラメータを作成し、解析ソフトウェアは、導出パラメータに基づいて自動的にゲーティングして亜集団を作成する。結果を受信後、プロセッサは、アルゴリズムへの入力を修正してもよい。一実施形態では、プロセッサは、所与の出力ファイルに記憶されたデータを参照することによって、外部アルゴリズムの結果を受信する。
【0037】
外部アルゴリズムから結果を受信した後、プロセッサは、ファイルシステムにワークスペースを保存し、解析ソフトウェアワークスペースを復元する。プロセッサは、次いで、解析ソフトウェアの指示で、追加のダウンストリーム解析を実行してもよい。
【0038】
このようにして、外部サーバ上に記憶された外部アルゴリズム及び関数は、解析ソフトウェアに完全に統合されなくとも、解析ソフトウェアに利用可能である。解析ソフトウェアのユーザは、主要なワークフローの改変またはコマンドラインの知識なしに、無数のより多くの解析オプション及び機能性を得る。その代わりに、ユーザは、解析ソフトウェアのグラフィカルユーザインタフェースを使用して、サーバ上に記憶された外部アルゴリズムまたは外部関数をシームレスに呼び出し得る。
【0039】
データ発見ノードアーキテクチャ及びプロセス
解析ソフトウェア内で、「ノード」は、幾何学ベースのツールを用いて幾何学的クラスタを定義するステップ、または取得機器によって取得されるデータに統計解析を適用するステップなど、解析ステップ全体を表す。このような「ノード」は、処理ステップ、または入力、フルセットもしくはサブセットもしくはイベントレベルの生データ、及び、細胞サブセットの幾何学的定義、または数学的モデル(例えば、細胞周期における細胞のパーセンテージ)などの出力を用いた計算を表す。言い換えると、ノードは、解析ソフトウェアが、集団同定、統計計算、数学関数、幾何学的ゲーティング、結果提示、結果増強などの解析計算を実行するように解析ソフトウェアに命令することによって作成されるデータ構造である。さらに、ノードデータ構造は、解析機能に入力するデータの仕様、及びCSVファイル、ゲーティングMLファイルなど、結果を提示する方法を含む。データ構造は、さらに、データ入力のタイプ次第であってもよい。
【0040】
ユーザが、データ解析アプリケーション内の「データ発見ノード」(DDN)フレームワークを通してデータセットに対するデータ解析を指定し、実行することができるように、本明細書で説明される技術は、上述したノードの概念を拡張する。ここで、DDNフレームワークは、データ解析ソフトウェア自体に既に存在し得るいかなるインテリジェンスも越えて、幅広いナレッジベースへのアクセスをデータ解析に提供する。例えば、DDNは、また、上記で開示されたプラグインインタフェース及びフレームワークを用いて解析ソフトウェアにプラグインされる外部アルゴリズムから行われ得る決定をカプセル化することができる。アルゴリズムベースの決定は、主観的なバイアスを有する個々の解析者からデータ駆動型アルゴリズムに意思決定をシフトすることによって、解析の主観性を除去する。本明細書で説明されるデータ発見ノードアーキテクチャ及びプロセスは、また、一方向性ノードを少なくとも以下の4つの目標を達成するアクティブノードに変換する。1)アクティブノードは、繰り返される再現可能な解析が、サンプル、グループ、及び研究間の比較を提供することを可能にする(即ち、解析者の主観的バイアスに影響されない)。2)アクティブノードは、ドラックアンドドロップ機構を通して、複雑な解析及びレポート化への障壁を下げる。3)アクティブノードは、入力データ変更を更新するために生きた状態を保つ。4)ノードが、解析においてスタックされ、コマンドラインモードで実行され得るため、アクティブノードは、自動化を容易にする。
【0041】
図5Aは、アクティブノードアーキテクチャを表す。実施形態の例によるDDNフレームワークは、以下のコンポーネント、ソフトウェア、データ構造、アルゴリズム、及びネットワークを介してアクセス可能なデータベースを含む。上述したように、データ解析アプリケーション内のDDNフレームワークは、本来、ノードの各アプリケーションに基づき構築されたナレッジベースにユーザがアクセスする方法である。よって、ユーザは、ユーザインタフェースを介してジェスチャを行って、完了されるべき解析についてのDDNを作成し、どのタイプの解析が完了されるべきかを指示する。DDN(ワークスペース内で「ノード」として物理的に表される)のエンドユーザインスタンスは、ナレッジを含まないが、むしろ、それによってユーザは、自分が解析しているものより大きなコンテンツ(例えば、高齢者における参照CD3+パーセンテージ)にプラグインすることが可能となる。例えば、
a.ユーザは、ゲートノードとしてT細胞集団を同定するためにCD3+ゲートを作成する。
b.ノードは、2つの結論を有するユーザインタフェースにおいて、ユーザによりDDNとして割り当てられる(ローカルクライアントにおいて、即ち、「これをDDNにする」)。
i.以下の集団及びサンプル情報が、ナレッジベースの物理メモリに書き込まれる。
1.「サンプル情報」
a.FCS(生)ファイルに含まれるメタデータ、例えば、どの機器で、どの取得ソフトウェアによって
b.サンプルコンテキスト(細胞タイプ、種)が、DDNナレッジに送信する。
2.DDN実行パラメータ。以下にその概略を示す。
3.生物学的結果情報−解析の統計値及び数値結果
ii.DDNが、反復数n>1の場合、DDNは、「自分のデータに基づいて、このCD3+頻度は、前の観測より低い2つの標準偏差である」などの、任意のフラグをユーザに返す。
c.よって、ナレッジベースは、参照を提供し、DDNは、当面の解析者と、DDNパラメータの前述の例(
図5Bを参照)によって確立された現在のパターンに合致する、全ての以前の解析者のデータとの間に双方向の対話を提供する。DDNは、この交換を「駆動する」コンポーネント、即ち、(「生」データファイルにアクセスするプロセッサとは別々の)ホストされたネットワークを有効にするユーザ対向ノードである。
【0042】
図5A及び5Bに示されるように、入力データが、DDNに提供され、DDNは、結果を生成する解析ステップを実行する。DDNによって生成される、結果となるデータは、DDNにフィードバックされてもよく、または結果となるデータは、入力データを枝刈りすること、入力データからノイズを除去すること、または入力データのパラメータを変更することなどによって、入力データを変更する。結果となるデータが、多少なりとも入力データに影響を及ぼすとき、DDNは、新たなデータセットで同一の解析ステップを適用してもよく、または、DDNは、新たなデータセットに基づいて異なる解析ステップを適用してもよい。このようにして、DDNは、最初の反復の後、「データ駆動型」と考えられてもよい。
【0043】
さらに、結果となるデータは、ダウンストリーム処理とさらなる関係を有してもよい。例えば、DDNは、集団同定アルゴリズムを表してもよく、結果となるデータは、決定的でない、または望ましくない結果を生じ得る。ノードは、結果となるデータを解析することができ、結果となるデータの解析に基づいて、DDNは、集団同定アルゴリズムのパラメータを変更して入力データ内の集団をより良好に同定することができる。別の例では、結果となるデータは、同定される表現型(例えば、CD8+)が、罹患率または治療効果とは全く相関性を有しないと判断してもよい。結果となるデータによって、罹患率または治療効果との相関性が見つからない場合、DDNまたはDDNを訓練する科学者は、今後の解析についてこの表現型を無視するようにDDNに命令してもよい。このようにして、DDNは、参照される集団同定アルゴリズムを用いて、集団を最も正確に同定するように最適化する。上記の実施例によって分かるように、データ及びアルゴリズム駆動型の決定は、DDNによって行われる。DDNが受信するデータが多くなればなるほど、かつDDNが処理するデータが多くなればなるほど、DDNはより多くを学習する。このデータ駆動型の方法は、以下でより詳細に説明される。
【0044】
フレームワークが攻撃にあまり影響されないように、実施者は、DDNフレームワークにセキュリティまたはキュレーションレイヤを含めるように選択してもよいことにも留意すべきである。これによって、悪い、または訓練されていない行為者がナレッジベースを汚染すること(例えば、100人の人が1%の誤ったCD3+頻度をゲーティングすること、及びその悪いデータを提出すること)を防止するのを助け得る。
【0045】
図6は、DDNによって実行されるデータ解析フローについてのライフサイクルを示す。
図6によって示されるプロセスでは、四角で示される方法ステップは、プロセッサによって実行されるアクションステップを表し、ひし形で示される方法ステップは、プロセッサによって実行されるテストステップまたは判断ステップを表し、楕円形で表される方法ステップは、テストステップの可能性のある結果を表す。
【0046】
高レベルで、
図6に表される方法は、3つのフェーズ、第1のDDNサイクル、次のn回DDNサイクルフェーズ、及び完了フェーズを含む。第1のDDNサイクルフェーズは、1回だけ実行されるが、次のn回DDNサイクルは、充足基準が満たされるまで反復し続けてもよい。充足基準が満たされた後にのみ、方法は、完了フェーズに入ることとなる。
【0047】
DDN関数を定義及び制御するデータオブジェクトの種類は、ここでは、
図6で示される方法がどのように動作するかをより良く理解するために説明されるものとする。これらのデータオブジェクトは、動作変数、一時オブジェクト、ポインタ、メタデータ、及び生のリストモードデータを含む。
【0048】
第1に、DDNは、動作変数データオブジェクトを含む。動作変数は、ユーザまたは解析ソフトウェアのいずれかによって設定される変数であり、1)充足変数閾値、2)メタデータルール、及び3)解析ソフトウェアアルゴリズムまたは指定データについて実行される動作の仕様を含む。充足変数は、DDNサイクルが完了すると考えるために充足されるべき、使用によって設定される閾値であってもよい。メタデータルールは、入力によって充足されるべき基準を定義する。例えば、メタデータルールは、入力データが生データのメタデータ内にCD4パラメータを示すということを指定してもよい。解析ソフトウェアアルゴリズムまたは指定された動作は、外部アルゴリズム、解析ソフトウェア内に含まれる数学関数、またはFlowJoの多変量グラフ化、FlowJoのレポート生成、幾何平均生成、集団同定、または解析ソフトウェアもしくはプラグインされた外部アルゴリズムによって提供される任意の他の関数などの、解析ソフトウェア内に含まれる任意の他の関数を含んでもよい。
【0049】
図7は、DDNを作成し、動作変数を設定及び定義するために使用されるユーザインタフェースを示す。最初に、ユーザは、ファイルを選択し、発見するためのジェスチャをする。ファイルは、取得機器から収集されたデータのセットであってもよく、取得コンピュータ内のディスクドライブに保存されていてもよい。このジェスチャは、ユーザが選択されたファイルにDDNを適用したいということを解析ソフトウェアに通知する。ジェスチャは、ユーザがファイルを右クリックすること、キーボードのショートカットを使用すること、グラフィカルユーザインタフェース内のアイコンをクリックすること、またはプロセッサによって理解される任意の他のジェスチャを含んでもよい。発見のためのジェスチャの後、ユーザは、新規のDDNを訓練するか、またはデータベースもしくは他のファイル記憶コンテナに保存されているDDNを適用するかのいずれかを選択し得る。ユーザが、データベースからDDNを呼び出すことを選択する場合、取得コンピュータは、DDNデータ構造を記憶しているデータベースに呼び出しをかけ、保存済みのDDNのリストを提示し、ユーザがDDNのうちの1つを解析用に選択できるようにする(図示せず)。ユーザが、新規のDDNを訓練することを選択する場合、取得コンピュータは、グラフィカルユーザインタフェースを通して、DDNを定義することとなる動作変数のリストを提示する。
【0050】
図7は、選択用の例示的な動作変数のセットを示しているが、本開示は、
図7に示される動作変数に限定されない。動作変数は、パラメータ、特徴、反復変数、及び範囲変数などのセットにグループ化されてもよいが、より多くの動作変数のグループが定義され、ユーザインタフェース内に提示されてもよい。例えば、ユーザは、前方散乱光(FSC)、側方散乱光(SSC)、蛍光1(fl1)、蛍光2(fl2)、蛍光3(fl3)、蛍光nなどであるがこれらに限定されないパラメータから選択してもよい。パラメータ選択は、単一細胞解析において重要な役割を果たし、DDNは、それが適用されるデータの種類、即ち「実行パラメータ」に加えて、それ自体の動作についてのメタデータを含む。選択されるパラメータの例は、以下のものを含んでもよい。
a.細胞表現型が定義されたパラメータ。例としてフローサイトメトリを用いると、散乱パラメータは、サイズ及び粒度の相対的な測定値であり、例えば血液中の主要な細胞サブセットを同定するのに有用であり、一方、蛍光パラメータは、生体分子の測定値である。このように、パラメータは、本来、相互交換不可能であり、DDNについて選択されたレベルで使用されるパラメータ及びその階層は、解析の再現性を容易にする生物学的に関連のある情報である。
b.集団を同定するために使用される任意のアルゴリズムについての種類及び入力変数に関するパラメータ、例えば、ゲーティング及び解析情報(頂点、隣接集団の位置、ゲートタイプ、集団特性(凸状、希少など)、集団名、ゲートが描かれたパラメータ、親ゲート(オントロジー)、集団を同定するために使用されるアルゴリズム)。
c.一連のアルゴリズム及び計算についての階層型解析の種類の数(及び、したがって、動作の次数)
【0051】
このようにして、研究者は、CD8+T細胞の集団を指定し、それは、CD3+の子であり、生きている、及びリンパ球の幾何学的に定義されたゲートである、CD8蛍光パラメータと対比するCD4に対して実行されるk−meansクラスタリングアルゴリズム(ここで、k=3が入力変数であった)によって同定される。DDNは、この情報をナレッジベースへ及びナレッジベースから送信することを可能にする。
【0052】
ユーザインタフェースは、同様にこれらのパラメータの名前を変更する能力をユーザに与える。ユーザは、また、DDNによって処理されるべきデータの量を制限するために、これらのサイトメータプリセットパラメータのうちのいずれかを除外してもよい。DDNは、解析するためのパラメータの選択、解析するための特徴(ピーク、谷、または範囲など)、反復するかどうか、及びどの範囲で解析するかを受信する。これらの、及び潜在的に他の動作変数を選択した後、コンピュータは、新規DDNを作成し、それはまた、DDNデータベースに保存されることとなる。作成されたDDNは、データを解析し、結果、または解析ソフトウェア内に含まれるか、もしくはプラグインインタフェース及びフレームワークを通して解析ソフトウェアにアクセス可能な任意の他の関数を生成する準備ができる。
【0053】
DDNをセットアップするために、プロセッサは、入力データの選択を受信し、それは、イベントのセット、または等価性のいくらかの暗黙の感覚を有するファイルのセット(例えば、複数の時点にわたって取り込まれたCD3測定値)である。入力データは、単一のサンプルまたはサンプルのグループであってもよい。入力データの選択後、プロセッサは、入力データに応じて利用可能な解析の種類を判断してもよい。一旦DDNデータベースがセットアップされると、第1のステップは、「専門家」に、参照セットを作成するためにサンプル情報及び実行パラメータの両方でナレッジベースにシード値を与えさせることである。上記の例を続けると、高齢者の患者からのCD3+データが、専門家によって定義される。非専門家は、「新規」サンプルに対してDDNを作成し、DDNは、サンプル及び実行パラメータを比較して、それが、専門家主導の解析を再作成できるかどうかを検査する。合致が存在すると、それは、生物学的な結果情報−現在の測定値対ナレッジベースの比較を行う。ナレッジベース内に情報を構築することによってDDNの「訓練」が、使用とともに生じ、したがって、ナレッジベースのCD3+部分への各クエリが、新たな生物学的結果情報を既知の範囲のプールへ保管する。この2段階アプローチは、(1)解析が、適用され実行され得ること、及び(2)参照データのナレッジベースと比較され得ることを検証する。
【0054】
言い換えると、DDNが計算及び実行し得るものは、入力データに依存する。一例では、CD4イベントがロードされたメタデータ内に存在するかどうかを、プロセッサが判断して、プロセスが、選択されたデータに対してCD4集団同定アルゴリズムを実行し得るかどうかを判断してもよい。
【0055】
図7は、パラメータとして蛍光1、ピーク特徴、固定値の反復変数2、及び範囲変数として2〜98のパーセンタイルという、例示的なユーザ選択を示す。ユーザが動作変数を設定した後、ユーザインタフェースは、選択されたファイル下の作成済みデータ発見ノードを表示する。ユーザは、将来の参照用にデータ発見ノードの名前を変更してもよいが、例示のために、
図7では、単に「Discovery Node」という名前の、作成済みデータ発見ノードを示す。データ発見ノードについてのこれらの例示的な選択は、ゲーティングツリーと同等であり、ゲーティングツリーもまた、
図7の右下の角に示されている。したがって、
図7に示される例示的な動作変数の選択は、ゲーティングツリーと同等である。
・Comp−APC−Ax700−A subset これは、通常手動で定義されるサブセットである。この例では、DDNは、上記で概説したそのパラメータによって、ナレッジベースからの情報をアルゴリズム的に使用してこの集団を同定し、ピーク検出(集団同定のための別のアルゴリズム的方法)を実行し、次いで、その順序で、子の亜集団に対して統計値の計算を呼び出す。
〇ピーク1
■幾何平均:CD3(Comp−APC−Ax700−A subset) ユーザは、解析アプリケーションツールを用いてComp−APC−Ax700−Aサブセット集団の幾何平均を計算している。
図7の右下にある図は、この解析の階層及びユーザへの表示を示している。
■中央値CD3(Comp−APC−Ax700−A subset) 上記幾何平均についてと同様であるが、この場合は中央値についてである。
〇ピーク2
■幾何平均:CD3(Comp−APC−Ax700−A subset)
■中央値CD3(Comp−APC−Ax700−A subset)
【0056】
再び
図6を参照すると、動作変数に加えて、DDNは、最初の計算後に一時データオブジェクトを生成する。一時データオブジェクトは、DDN進行オブジェクトを表す。一時データオブジェクトは、計算の反復数及び充足変数を少なくとも含み得る。計算の反復数は、DDNによって実行される追加計算毎にインクリメントし、充足変数は、次のN回DDNサイクルフェーズのサイクル中の充足変数の状態を示す。例えば、充足変数は、充足変数閾値が満たされたか、または充足変数閾値を超えたかを示してもよい。充足変数閾値と各反復において作成されるDDN作成の一時データオブジェクトとの比較を通して、これらのデータオブジェクトは、DDNがステートフルに保持されることを可能にする。
【0057】
ポインタは、一意な識別子であり、DDNがそのシーケンスについてアクセスするワークスペース内の1つまたは複数のノードを指し示す。それについては以下でさらに説明される。ポインタは、メタデータ及び生のリストモードデータを含むファイルの位置を指し示し、それは、DDNの動作にとっても重要である。
【0058】
DDNにとって重要なメタデータは、2つの異なるタイプの参照ノートからもたらされる。第1に、メタデータは、データの特定のサブセットを得るために専門家によって行われる決定によってもたらされてもよく、それは、概して、専門家によって定義されるゲートの形式である。データのサブセットは、階層型ゲートによってもたらされてもよい。特定の例では、前回のゲートのXML階層は、DDNデータ構造により使用するためのメタデータにおいて表されるコンテキスト情報を提供する。専門家の決定の代わりに、メタデータは、生物学的に有意義である染色名(「CD3−FITC」)についてのパラメータを含む、親FCSファイルからのキーワードメタデータを含んでもよい。メタデータは、生データに関連付けられ、生データに関連付けられたメタデータは、解析されるべき生データのソースであるFCSファイルのヘッダ及びノード名も含んでもよい。
【0059】
最後に、生のリストモードデータは、イベント/細胞毎に収集されたn個のパラメータについての生のイベント/細胞レベルデータを含む。
【0060】
図6に示される方法は、上述された全てのデータオブジェクトを使用する。DDN法/ライフサイクルは、第1のDDNサイクルフェーズによって開始する。第1のDDNサイクルフェーズでは、プロセッサは、動作変数をメモリにロードする。続いて、プロセッサは、上述したメタデータをロードする。プロセッサがDDNフローを通して解析されるべきファイルをロードする前に、プロセッサは、メタデータ及び動作変数をロードし、動作変数は、テスト用のルール及び変数を定義する。
【0061】
動作変数及びメタデータのロード後、プロセッサは、メタデータルール動作変数(複数可)に対してメタデータをテストして、メタデータが、DDNの基準を満たすかどうかを判断する。例えば、メタデータルール動作変数は、ユーザによって設定されるキーワードメタデータ、FCSファイルによって設定される表現型メタデータ、染色識別メタデータ、または取得機器によって生成されるファイル内に含まれる任意の他のメタデータのいずれかを通して、CD4細胞が存在することを示すメタデータパラメータを指定する。
【0062】
動作値に対するメタデータのテストは、緩やかなモード、中程度モード、及び厳密モードなどの複数のモードを有してもよい。
【0063】
緩やかなモードは、メタデータ要件を全く有しなくてもよい。緩やかなモードでは、DDNは、メタデータの値に関わらず実行されることになる。例えば、緩やかなモードでは、DDNは、提供されるリストモード生データ中の2点間の極小値を計算し、次いでDDNは、生データをメモリ内にロードさせ、計算を呼び出し、ユーザに表示されるべきワークスペースに統計値を追加することによって完了することとなる。
【0064】
中程度モードでは、合致するメタデータの閾値がユーザによって設定され、例えば、DDNについての6個のパラメータ中の3個が設定される場合、それがデータスペース内の細胞集団を同定するのに十分なパラメータを有しているため、DDNを実行する。
【0065】
厳密モードでは、DDNの実行を開始するために、全てのメタデータ要件が満たされなければならず、プロセッサは、生データをメモリ内にロードせず、DDN方法が停止し、それ以上の計算は実行されない。
【0066】
メタデータは、メタデータルール動作値の基準を満たすか、動作値によって設定される基準を満たさないかのいずれかである。メタデータが動作値の基準を満たさない場合、プロセッサは、生データをメモリ内にロードせず、DDN方法が停止し、それ以上の計算は実行されない。メタデータが動作値の基準を満たす場合、プロセッサは、生データをメモリ内にロードする。メモリ内にロードされる生データは、生取得データ、別のノードからのデータ、1つもしくは複数のゲートからのデータ、または解析ソフトウェアにアクセス可能な任意の他の生データの形式でもたらされてもよい。
【0067】
生データのロード後、プロセッサは、動作変数によって指定される計算またはアルゴリズムを実行する。例えば、プロセッサは、本明細書で説明されるプラグインアーキテクチャ及びフレームワークを用いて外部アルゴリズムを実行して、生データ内の1つまたは複数の集団を同定してもよい。さらに、プロセッサは、上述したDDN一時オブジェクトを作成する。DDN一時オブジェクトを作成することは、プロセッサが反復変数を開始番号に設定すること、及び実行された計算またはアルゴリズムの結果に基づいて充足値を定義することを伴う。DDN一時オブジェクトの作成後、第1のDDNサイクルフェーズは完了し、プロセッサは、次のn回DDNサイクルフェーズの実行を開始する。
【0068】
次のn回DDNサイクルフェーズにおいて、フェーズは、DDN一時オブジェクトをロードすること、及びDDN一時オブジェクトの充足値が充足閾値もしくは動作変数によって設定される充足基準を満たすか、または超えるかを判断することによって開始する。DDN一時オブジェクトを充足閾値と比較することは、プロセッサが、反復変数をDDNの充足変数と比較することを含んでもよい。例えば、充足変数が、5回反復するようにDDNに命令し、一時オブジェクトの反復変数が5より小さい場合、充足変数は満たされておらず、DDNは再び反復することとなる。別の例として、プロセッサは、DDN一時オブジェクトまたは任意の他の動作変数が次の計算のための「指示」を指定したかどうかを判断してもよい。例えば、DDN一時オブジェクトによって指定される指示は、メモリ内の生データのサブセットのみが次の反復において使用されるべきであることを示してもよい。別の例として、充足値は、カテゴリ内のイベントのパーセンテージを定義することなどによって、精度を示す値を含んでもよく、プロセッサは、精度の数値を充足基準と比較してもよい。精度の数値の例は、散乱ゲートの推定純度及び回収率の3カラーフローの解析を含んでもよい。ここでは、純度及び回収率の最良の組み合わせに到達するまで、散乱ゲートが再定義され得る。純度効果及び回収率効果の値が90%を超えるまで、最適化ループは、全てのサンプルに適用されるゲートを縮小及び拡大する。
【0069】
DDN一時オブジェクトの充足変数が、充足閾値もしくは充足基準を満たすか、または超える場合、プロセッサは、完了フェーズを実行する。
【0070】
DDN一時オブジェクトの充足変数が、充足閾値もしくは充足基準を満たさないか、または超えない場合、プロセッサは、メモリにロードされた生データのサブセット、またはメモリにロードされた生データのフルセットを、一時オブジェクトが次の反復用に必要とするかどうかを判断する。上記を振り返って、動作変数は、データのサブセットまたはデータのフルセットに対して計算またはアルゴリズムを実行するかどうかを示してもよい。例えば、動作変数は、データのセットが、外部アルゴリズムを使用してゲーティングされるべきであり、ダウンストリーム数学計算が、ゲーティングされたデータに対してのみ実行されるべきであることを示していてもよい。データまたは生のリストモードデータのメタデータを解析してどの計算またはアルゴリズムを適用するかを判断するように、メタデータがプロセッサに命令してもよいことに留意すべきである。メタデータは、指定された計算またはアルゴリズムの実行前にプロセッサによって実行されるべき分岐または決定木を呼び出してもよい。例えば、生データがCD4イベントを示唆するようにプロセッサが生データを解析する場合、プロセッサは、CD4集団同定アルゴリズムを適用してもよいが、生データがCD8イベントを示唆するようにプロセッサが生データを解析する場合、プロセッサは、CD8集団同定アルゴリズムを適用してもよい。
【0071】
動作変数が、データのフルセットを指定する場合、プロセッサは、指定された計算またはアルゴリズムを生データのフルセットに対して実行し、プロセッサは、反復変数をインクリメントすること、及びデータのフルセットに対して実行された計算またはアルゴリズムの結果に基づいて充足値を再定義することによって、一時オブジェクトを更新する。これらのフェーズの間、データのフルセットがメモリ内に残っていてもよい。一時オブジェクトの更新後、プロセッサは、新たな一時オブジェクト値に基づいて次のn回DDNサイクルを繰り返す。
【0072】
動作変数が、データのサブセットを指定する場合、プロセッサは、指定された計算またはアルゴリズムを生データの指定されたサブセットに対して実行し、プロセッサは、反復変数をインクリメントすること、及びデータのサブセットに対して実行された計算またはアルゴリズムの結果に基づいて充足値を再定義することによって一時オブジェクトを更新する。データの指定されたサブセット内に含まれないデータは、メモリから解放され、その他の場所に記憶されてもよい。一時オブジェクトの更新後、プロセッサは、新たな一時オブジェクト値に基づいて次のn回DDNサイクルを繰り返す。
【0073】
次のn回DDNサイクルフェーズは、充足閾値もしくは基準を満たすかまたは超えるまで続く。一旦満たすかまたはと、プロセッサは、完了フェーズへと続き、完了フェーズでは、プロセッサは、動作変数によって指定される出力タイプを判断する。反復オプションでは、ユーザは、DDN実行パラメータとして記憶される、反復数を設定してもよい。この判断に基づいて、プロセッサは、ワークスペースにおけるアクションをとり、DDNフローの結果をワークスペースファイルに書き込む。例えば、プロセッサは、結果及びとられるアクションに応じて複数の視覚化のうちの1つを提示してもよく、またはプロセッサは、ワークスペースファイル内の新たな集団もしくは統計値を定義してもよい。
【0074】
完了フェーズで発生する、ワークスペースでとられるアクションは、新たな入力データでDDNを再呼び出しすることを伴ってもよい。例えば、完了フェーズ中に生成される出力は、新たな入力データセットであってもよい。入力データセットが変化すると、DDNは、再度処理を呼び出し実行してもよい。したがって、入力データセットが変化したときにはいつでも、DDNは、その必要な処理を実行してもよい。
【0075】
図8をここで参照すると、任意の実験、臨床試験、調査、研究プロジェクトなどにおいて、専門家の数は制限される。即ち、ある人が研究分野、トピック、細胞表現型、科学的特性などについてより多くを知っているほど、それらの専門家の存在はより少なく、専門家の時間は制限される。一方、高度な技能と知識を有し得るが、専門家が所有する豊富な知識に欠ける解析者は、より一般的かつ豊富である。専門家の不足及び解析者の豊富さに起因して、専門家は、概して、実験の運用などのいくつかのタスクを解析者に委任し、専門家は、解析者の作業成果物を監督する。一方、専門家は、自分がレビューするあらゆる実験解析から全ての解析ステップをレビューする時間が単純に不足しているため、従来の方法では、専門家が、幾何学的ゲートがどのように適用されるかなど、実験及び解析のそれぞれの個々のステップを見ることができなかった。
【0076】
専門家活用の従来の方法とは対照的に、
図8は、解析者が、専門的に訓練された解析フローを呼び出し、取得されたデータのセットに展開し得るように、専門家によりDDNを訓練するプロセスを示している。上述のように、専門家は、DDNの動作データ構造を設定することによって、及び保存された一時オブジェクトを通してDDNにより得られるナレッジを使用することによって、訓練をDDNデータ構造にもたらし得る。階層型ゲーティングの形式でのような専門家の決定は、DDNのメタデータ内に保存され、表され得る。
図8は、専門家が自分自身の専門技術及び経験を用いてデータ発見ノードを訓練することを示す。訓練プロセスは、
図6に示されるステップのうちのいくつか、または全てを含んでもよい。専門的に訓練されたDDNは、解析フローの一部、または解析フロー全体を表してもよい。例えば、専門的に訓練されたDDNは、専門家の知識に基づく的確な幾何学的ゲーティング技術を適用してもよい。代替的に、DDNは、集団同定用の外部発見アルゴリズムに呼び出しをかける解析ステップを含んでもよく、専門的に訓練されたDDNは、専門家によって提供される発見プロセスのために特定のパラメータを提供してもよい。専門家がDDNを訓練し、フローステップを指定し、集団同定についての制限を指定し、任意の数学的モデルを指定しているため、DDNは、解析者が解析にもたらし得るいかなるバイアスも除去する。本明細書で論じるDDNフレームワーク及びプロセスでは、解析者のバイアスは除去され、DDNを用いて行われる全ての実験は、同じように行われることとなり、それによって均一な結果がもたらされる。
【0077】
図8Bは、専門家がどのようにDDNを訓練し得るかについての例を示している。この例では、専門家は、CD4ゲートが幅広いほど、良好な解析結果を生じることに気が付いていてもよい。専門家は、コンピュータ上のユーザインタフェースを用いて、自身のDDNにおいてCD4ゲートの定義を広げてもよく、それは、専門家においてCD4集団を検査すること、解析においてより多くのCD4+細胞を含むように範囲ゲートを編集することによって行われる。DDNの調整後、調整済みのDDNは、データベース内の保存されたものを取得する。解析者は、DDNが異なるCD4ゲート定義を有することを知ることなく、調整済みのDDNを呼び出してもよい。調整済みのDDNを呼び出すことによって、調整済みDDNによって定義される解析フロー全体が、解析ソフトウェアの単一セッション内で発生することとなる。調整済みDDNは、調整済みの方法に従って結果を生成してもよい。この方法の多くの利益のうち、実質的な利益は、解析者が異なるアクションを全く行わなくても、調整済み解析方法が専門家によって完全に検証されているということが分かることである。
【0078】
別の利益として、DDNは、グループまたは個人間で共有されてもよい。T細胞の専門家が、NK細胞の専門家によって作成され最適化されたDDNを取り出して、NK細胞についての解析を実行してもよい。このように、専門的技術が、専門家の間で共有されてもよく、実験が、多数の表現型に対して効率的に実行されてもよい。
【0079】
アクティブノードの主な利益のうちの1つは、ノードが、特定のデータセットから分離され、データ駆動型であるということである。データが解析フローを駆動するため、利用可能になる解析のタイプは、入力データの選択に応じて異なることとなる。言い換えると、DDNが計算及び実行し得るものは、入力データ次第である。概して、入力データは、科学データを表すイベントのセット、または等価性の暗黙の感覚を有するファイルのセットである。例えば、入力データは、複数時点にわたって取り込まれたCD3測定値であってもよい。別の例として、入力データは、取得機器によって取り込まれた生データであってもよい。さらに別の例では、入力データは、解析ソフトウェアまたは外部アルゴリズムによって生成される結果となるデータであってもよい。
【0080】
DDNのメタデータは、また、制約、分岐、決定木、自己最適化、またはリアルタイムでの反復を適用するかどうかを指定してもよく、それは、ユーザによって指定され、DDN実行パラメータとして記憶される。入力解析ステップは、DDNが解析ステップ後にフィードバックされる結果データを受信するときに何度も発生してもよい。分岐し、制約を適用し、決定木を適用するかどうかなどは、DDNのメタデータまたは充足変数内で設定されてもよい。
【0081】
DDNが制約を適用すると、DDNは、データの範囲を絞る。例えば、絞られるべき入力データが、単一のパラメータ分布であった場合、制約は、1から100の範囲に及ぶイベントなどの範囲であり得る。範囲を絞ることによって、DDNは、デブリであるか、または著しいノイズを付加し得る、極端なビン内の細胞を除外することができる。DDNのコンテキストにおける別の制約の適用は、低白血球数またはHIV T細胞の逆位などの、サブセットの頻度または2つの表現型の比率を計算するためにノイズを除去することであり、患者のT細胞型の比率が「反転」する。例えば、制約は、制約されたデータのサブセットに対してのみ計算を実行するように動作変数を設定することによって適用されてもよい。
【0082】
DDNが分岐を適用すると、結果が後続の実行ステップに影響を及ぼすワークフローにおいて、DDNはポイントを生成する。簡単な例として、DDNがCD3+サブセットを見つけようとしているが、DDNがCD3+イベントが存在しないと判断する場合、その情報は、プロセス内で使用され、したがって適応的にダウンストリーム解析をリダイレクトし得る。この例では、DDNは、CD3+細胞を探索するために集団同定アルゴリズムを適用してもよい。DDNは、CD3+細胞が全く見つからなかったと識別するクラスタ集団結果を受信してもよい。DDNは、
図5のフィードバックループを表す集団同定アルゴリズムの結果を解析してもよく、CD3+細胞についてのレポートを生成するステップが無用であると判断してもよい。したがって、DDNは、その代わりに、新たな集団を同定するように集団同定アルゴリズムに要求してもよい。上述のHIV逆位の例では、DDNが、DDNによってロードされたメタデータを使用してHIV逆位の状況を検出する場合、DDNは、より綿密なT細胞数のレポートまたはT細胞数が正常範囲内であったとというレポートを行うように、解析ソフトウェアに命令してもよい。分岐ステートメントの使用は、セッション中の処理を変更し、それによって、適応的実行及びインメモリデータの両方を活用することが可能となる。動作変数は、完了フェーズ中でこの種の分岐を指定してもよい。代替的に、メタデータは、データのフルセットまたはサブセットのいずれかに適用される、指定された計算またはアルゴリズムを変更する固有の分岐を含んでもよい。
【0083】
DDNは、特定の成果を見つけるための処理フロー全体の表現である、決定木を適用してもよい。例えば、
図9は、特定の集団を見つけるための決定木の例を示しており、これはイベントまたは次数削減を伴う。
図9に関するいくつかのコンテキストについて、サンプルデータセット内の特定の種類の異常を検出するためのいくつかの専門的なパネルが、既に存在している。これらのパネルが表す特定表現型の組み合わせは、マーカーを含むデータから取り出され得る。DDNは、このロジックのためのコンテナとして供給され得る。この構成は、パネルが主として不必要となる場所にポイントが到達するように、パネルベースの解析からアルゴリズム型解析への飛躍を可能にする。複数のパネルをテストするよりもむしろ、1つが、1つのチューブ内への関連するマーカーの全てを含んでもよく、それは、このようなテストから生じる多数のデータパラメータを通してナビゲートするために、DDNの高度な処理能力が使用され得ることを意味する。
【0084】
図9を参照すると、入力データは、ゲートまたはファイルの集合であってもよい。
図9から分かるように、DDNは、CD45+SSCデータが利用可能かどうかを判断してもよい。yesの場合、DDNは、データを解析して、突き出した「不鮮明な」CD45のピークがあるかどうかを判断する。順番に、DDNは、以下の比較及び解析を実行する。
a.
図9における2つの分岐は、第1に解析が完了され得るかどうかを検査するために、DDNが実行する検証のプロセスを示す。(DDN実行パラメータとの比較、この場合、サンプルがSSC及びCD45パラメータを含むか?)
b.そうであれば、ナレッジベースからの専門家のゲートが、SSC及びCD45パラメータによって同定される集団に適用される。
c.ピーク検出(集団同定)アルゴリズムは、(既にゲーティングされたCD45+集団に対して)CD45の不鮮明なピークがあるかどうかを見るためだけに、CD45パラメータを検査して実行される。
i.ピークが存在する場合、この場合は急性単球白血病(AML)の芽細胞を同定するように、別の専門家の一連の階層型ゲートが適用される。
d.ともかく、CD19+細胞は、リンパ球上のCD19+頻度が異常に高い(DDN作成後に専門家によって定義されるような2つの標準偏差よりも大きい)かどうか検査するためにナレッジベースと比較されるDDN適用された集団定義によって同定される。CD19頻度が、リンパ球上で異常に高い場合、DDNは、Kappa/Lambda、CD10、CD22などのようなB細胞固有情報についての解析を適用することとなる。
【0085】
あらゆる場合に、DDNは、検証を実行し(実行される解析であり得る)、解析フェーズを実行する(例えば、これらの専門家が定義した幾何学的ゲートを適用する、またはピーク検出を実行する)、生物学的結果と比較し、繰り返してもよい。このようにして、DDNは、解析を指示するためにその3つの情報タイプを活用する。
【0086】
図9における非限定的な例から見られ得るように、DDNは、決定木内の各点おける判断結果に基づいて、処理を変更し得る。処理の変更は、ユーザ呼び出し後、例えば、検証基準が満たされないときに、DDNのメタデータ及び動作変数によって表されてもよい。さらに従来の方法とは対照的に、DDNは、解析ソフトウェアの単一セッション内で全てのこれらの決定及び結果を処理するため、
図9に表される決定木は、人間による主観的なバイアスを除去する。
【0087】
DDNは、また、最適化技術を用いていくつかの解析「パス」にわたって結果を精密化してもよい。最適化の一例が、解析ソフトウェアが細胞分裂周期のフェーズ内の細胞数の推定を計算する、細胞周期適合解析である。分裂周期における正確な細胞数は、計算において見つかった数を反復して精密化するために最も良く見つけられる。精密化及び最適化は、複数のパスを必要とし、DDNは、正確な結果を計算するのに必要な「パス」の数についての制限をユーザが設定することを可能にする。制限は、反復数であってもよく、閾値デルタを使用してもよい。それによって、計算における正確性の改善が、改善閾値を超えなければならず、さもなければプロセスは終了する。細胞周期適合解析は、同定技術がもはや改善閾値デルタを超えるまで同定アルゴリズムが反復して表現型を決定し得る、集団同定に拡大され得る。プロセッサは、最適化技術に基づいてDDNメタデータを変更してもよい。
【0088】
さらに、DDNは、反復を用いて、各ステップ後に次数またはパラメータ範囲を削減させながら処理を繰り返してもよい。例えば、DDNは、データ範囲の最小値または最大値から始まって解析することによってデータの分布における全てのピーク(最大値)を見つけてもよい。第1のピークが見つかると、DDNが2番目以降の最大ピークなど、より多くのピークを見つけることができるように、DDNはデータセットからピークを除去する。最終的に1つのピークのみが残ることとなり、DDNが最後のピークを見つけた後、反復が停止する。反復は、充足変数内に含まれる反復変数によって定義されてもよい。
【0089】
最後に、DDNは、他の類似のDDNから学習される訓練及びナレッジを活用してもよい。DDNが、専門家によって作成されると、DDNは、類似のDDNデータ構造についてのデータベースに問い合わせするように構成される。DDNは、そのメタデータ内の類似の名前または類似の項目を探索することによってこの問い合わせを行ってもよい。例えば、DDNが、それをCD4同定ノードとして同定するメタ情報を有する場合、DDNは、類似のまたは同一のメタデータを有するDDNデータベースに保存されている他のDDNを探索してもよい。DDNは、任意の意味論的方法を通して類似のDDNを見つけてもよい。類似のDDNを見つけると、新たに訓練されたDDNは、以前に作成されたDDNによって得られるナレッジ及び訓練をDDNが受信することを可能にする、データベースに保存された類似のDDNから情報を得てもよい。例えば、類似のDDNが、幾何学的ゲート、即ちゲートの最小/最大範囲、ゲートについてのパーセンタイル、または臨床的に有意義な結果を生成することを助ける数学的関係を専門的に定義していることを、新たに作成されたDDNが見つけてもよい。各DDNは、データに適用された回数を他のDDNデータ構造に伝達してもよい。上述したように、取得されたデータにDDNがより多く適用されるほど、DDNが生成する結果はより良好である。したがって、より多くのデータに適用されているDDNは、範囲、パーセンタイル、ゲート、数学的関係、パラメータの枝刈り、または任意の他の重要なナレッジを、他の類似のデータ構造に伝達してもよく、その結果、類似のデータ構造は、「より古い」DDNの訓練を活用し得る。DDNは、呼び出しを通して、かつ、データベース内の他の類似のDDNデータ構造との通信をも通して学習し、したがって、最適な、例えば、集団同定をもたらすために、専門家のネットワーク及び反復型実験を活用する。さらに別の例では、DDNは、やり方を変更し、または取得機器によってデータを収集するやり方への変更を提案してもよい。
【0090】
DDNは、コンピュータのメモリ内で、及びメモリに記憶された入力データに対して動作する。ユーザがDDNを使用するジェスチャをすると、DDNは、必要な入力データをメモリに集め、メモリ内の入力データに対してデータ処理を実行する。DDNを反復し、制約を適用し、決定を行い、分岐または最適化を行うにつれて、データは削減され枝刈りされ得る。DDNが多くのインテリジェンスを得るにつれて、DDNは、入力データに対して最初のプレ処理を行い、その結果、メモリに記憶されるデータ量が最小化される。メタデータレベルで発生する、データのプレ処理を行うことによって、DDNが訓練され続けるにつれてコンピュータの性能が向上する。さらに、主観的にバイアスされた手動の幾何学的ゲーティングのステップを除去することによって、以前の実験方法よりも高速にユーザに結果が提示される。取得コンピュータ、解析コンピュータ、またはサーバは、追加的な処理を実行してDDNの特徴全てを実行してもよいが、DDNの使用で効率は向上する。
【0091】
DDNは、また、ユーザに結果を提示するための、解析ソフトウェア内に含まれるテーブルエディタまたはレイアウトエディタを活用してもよい。いくつかのコンテキストにおいて、DDNは、解析フロー全体をカプセル化してもよく、その結果、任意の他のステップが解析ソフトウェアを通して実験結果とともに提示されることなく、解析者などのユーザが、単にDDNを呼び出し得る。このようにして、DDNは、実験全体を含み得る。
【0092】
前述の観点から、本発明の複数の利点が実現され達成されることが分かる。
【0093】
実施形態は、本発明の原理、及び多様な実施形態において、かつ考えられる特定の用途に適している多様な修正を用いて、それにより当業者が本発明を最もよく利用可能にするためのその実際の適用を最もよく説明するために選択され説明された。多様な修正は、本発明の範囲から逸脱することなく本明細書で説明され例示される構築及び方法において行われ得るため、前述の説明に含まれ、または添付図面に示される全ての事項は、限定ではなく、例示として解釈されるものとすることを意図している。