(57)【要約】  3次元ユークリッドボロノイダイヤグラム(3D Euclidean Voronoi diagram)を演算するためのシステム及び方法が開示される。一部実施例に対して、各3次元客体の集合がアクセス(access)されるが、ここでそれぞれの3次元客体は数学的に定義される。次に、3次元客体のそれぞれと連関するボロノイ領域(Voronoi region)が演算され、これにより各3次元客体の集合の完全なユークリッドボロノイダイヤグラムが導き出される。一部実施例で、各3次元客体は各球体(sphere)であって、これらそれぞれは中心及び半径により定義される。他の実施例に対して、3次元客体は各コンベックス(convex)客体であって、これらそれぞれは数学的に定義可能である(例えば、シリンダ(cylinder)、スピアロシリンダ(spherocylinder)等)。ボロノイダイヤグラムを演算するために数値的(numerical)アプローチ法を用いることを提案した従来のアプローチ法と異なり、本開示はユークリッドボロノイダイヤグラムを演算するために数学的アプローチ法を採用することによって、ユークリッドボロノイダイヤグラムの演算において効率を改善する。
2007536664.tif 000002
【特許請求の範囲】
【請求項１】
３次元客体の集合にアクセスし、前記アクセスしたそれぞれの３次元客体を数学的に定義するコンピュータ読み出し可能コードと、
それぞれの３次元客体と連関するボロノイ領域を数学的に計算するコンピュータ読み出し可能コードと、
を備えることを特徴とするコンピュータ読み出し可能媒体。
【請求項２】
球体の集合を照会するコンピュータ読み出し可能コードをさらに備えることを特徴とする請求項１に記載のコンピュータ読み出し可能媒体。
【請求項３】
それぞれの球体は中心及び半径により定義されることを特徴とする請求項１に記載のコンピュータ読み出し可能媒体。
【請求項４】
最初のバーテックスを見出し、前記最初のバーテックスは前記照会された球体の集合からの球体と連関するコンピュータ読み出し可能コードと、
前記最初のバーテックスより発散するエッジを生成し、前記エッジは数学的に定義されるコンピュータ読み出し可能コードと、
前記生成されたエッジから空白正接球体を計算して、前記生成されたエッジの末端バーテックスを定義するコンピュータ読み出し可能コードと、
をさらに備えることを特徴とする請求項２に記載のコンピュータ読み出し可能媒体。
【請求項５】
円錐曲線により定義されるエッジを生成するコンピュータ読み出し可能コードをさらに備えることを特徴とする請求項４に記載のコンピュータ読み出し可能媒体。
【請求項６】
球体の集合を照会する手段を備えることを特徴とする請求項１に記載のコンピュータ読み出し可能媒体。
【請求項７】
最初のバーテックスを見出し、前記最初のバーテックスは前記照会された球体の集合からの球体と連関する手段と、
前記最初のバーテックスより発散するエッジを生成し、前記エッジは数学的に定義される手段と、
前記生成されたエッジから空白正接球体を計算して、前記生成されたエッジの末端バーテックス定義する手段と、
をさらに備えることを特徴とする請求項２に記載のコンピュータ読み出し可能媒体。
【請求項８】
３次元客体の集合にアクセスするように構成され、前記アクセスされた集合のそれぞれの３次元客体は数学的に定義されるロジックと、
それぞれの３次元客体と連関するボロノイ領域を数学的に計算するように構成されるロジックと、
を備えることを特徴とするシステム。
【請求項９】
球体の集合を照会するように構成されるロジックを備えることを特徴とする請求項８に記載のシステム。
【請求項１０】
最初のバーテックスを見出し、前記最初のバーテックスは前記照会された球体の集合からの球体と連関するロジックと、
前記最初のバーテックスより発散するエッジを生成するように構成され、前記エッジは円錐曲線により数学的に定義されるロジックと、
前記生成されたエッジから空白正接球体を計算して、前記生成されたエッジの末端バーテックスを定義するように構成されるロジックと、
をさらに備えることを特徴とする請求項９に記載のシステム。
【請求項１１】
前記３次元客体の集合はコンベックス客体を備えることを特徴とする請求項８に記載のシステム。
【請求項１２】
前記コンベックス客体は球体を備えることを特徴とする請求項１１に記載のシステム。
【請求項１３】
前記コンベックス客体は非球形（non-spherical）客体を備えることを特徴とする請求項１１に記載のシステム。
【請求項１４】
前記非球形客体はスピアロシリンダ（sphero-cylinder）を備えることを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記非球形客体はシリンダ（cylinder）を備えることを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記非球形客体は楕円体（ellipsoid）を備えることを特徴とする請求項１３に記載のシステム。
【請求項１７】
前記３次元客体の集合は比コンベックス客体を備えることを特徴とする請求項８に記載のシステム。
【請求項１８】
３次元客体の集合にアクセスし、前記アクセスされた集合のそれぞれの３次元客体は数学的に定義される段階と、
それぞれの３次元客体と連関するボロノイ領域を数学的に計算する段階と、
を備えることを特徴とする方法。
【請求項１９】
前記３次元客体の集合にアクセスする段階は、球体の集合を照会する段階を備えることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記それぞれの３次元客体と連関するボロノイ領域を数学的に計算する段階は、
最初のバーテックスを見出し、前記最初のバーテックスは前記照会された球体の集合からの球体と連関する段階と、
前記最初のバーテックスより発散するエッジを生成し、前記エッジは数学的に定義される段階と、
前記生成されたエッジから空白正接球体を計算して、前記生成されたエッジの末端バーテックス定義する段階と、
を備えることを特徴とする請求項１９に記載の方法。
【請求項２１】
前記最初のバーテックスを見出す段階は、
伝えられた位置に４つの点を位置させ、前記４つの点は４面体を定義し、前記４面体は前記球体に内接する段階と、
前記４つの点を入力する段階と、
を備えることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記エッジを生成する段階は、円錐曲線により定義されるエッジを生成する段階を備えることを特徴とする請求項２０に記載の方法。
【請求項２３】
前記それぞれの３次元客体と連関するボロノイ領域を数学的に計算する段階は、
最初のバーテックスを見出し、前記最初のバーテックスは前記照会された球体の集合からの球体と連関する段階と、
前記最初のバーテックス辞典（dictionary）に格納する段階と、
前記最初のバーテックスより発散するエッジを生成し、それぞれのエッジは円錐曲線により数学的に定義され、前記円錐曲線は有理２次ベジエ方程式により定義可能な段階と、
生成されたエッジから空白正接球体を計算して、前記生成されたエッジの末端バーテックスを定義する段階と、
前記定義された末端バーテックスが前記辞典に存在するかどうかを決定する段階と、
を備えることを特徴とする請求項１９に記載の方法。
【請求項２４】
前記それぞれの３次元客体と連関するボロノイ領域を数学的に計算する段階は、
前記定義された末端バーテックスが前記辞典に存在するものと決定することに応答して、前記辞典の前記末端バーテックスを用いて前記エッジを完成する段階と、
をさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２５】
前記それぞれの３次元客体と連関するボロノイ領域を数学的に計算する段階は、
前記定義された末端バーテックスが前記辞典に存在しないものと決定することに応答して、
前記定義された末端バーテックスが前記辞典に格納する段階と、
前記定義された末端バーテックスより発散するエッジを生成する段階と、
前記生成されたエッジを前記エッジスタックにプッシュする段階と、
をさらに備えることを特徴とする請求項２３に記載の方法。
【請求項２６】
タンパク質構造を特徴化する方法であって、
タンパク質の高分子構造（macromolecular structure）を有するデータベースにアクセスし、前記高分子構造は球体の集合で表現される段階と、
前記データベースから前記タンパク質の高分子構造を照会する段階と、
前記球体の集合からユークリッドボロノイダイヤグラムを数学的に計算する段階と、
を備えることを特徴とする方法。
【請求項２７】
前記数学的に計算されたユークリッドボロノイダイヤグラムを用いて前記タンパク質の高分子構造の幾何情報（geometry）を決定する段階をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記数学的に計算されたユークリッドボロノイダイヤグラムを用いて前記タンパク質のホールディングメカニズム（folding mechanism）を決定する段階と、
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項２９】
前記タンパク質と連関するタンパク質相互間（inter-protein）インターフェースを決定する段階と、
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項３０】
前記タンパク質と連関する分子量（molecular weight）を決定し、前記分子量は前記数学的に計算されたユークリッドボロノイダイヤグラムから決定される段階と、
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項３１】
前記タンパク質と連関する重心を決定し、前記重心は前記数学的に計算されたユークリッドボロノイダイヤグラムから決定される段階と、
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項３２】
前記タンパク質と連関する密度を決定し、前記密度は前記数学的に計算されたユークリッドボロノイダイヤグラムから決定される段階と、
をさらに備えることを特徴とする請求項２６に記載の方法。
【請求項３３】
タンパク質構造を特徴化するシステムであって、
タンパク質の高分子構造（macromolecular structure）を有するデータベースにアクセスし、前記高分子構造は球体の集合で表現される手段と、
前記データベースから前記タンパク質の高分子構造を照会する手段と、
前記球体の集合からユークリッドボロノイダイヤグラムを数学的に計算する手段と、
を備えることを特徴とするシステム。
【請求項３４】
タンパク質構造を特徴化するシステムであって、前記システムはコンピュータ読み出し可能媒体に格納され、
タンパク質の高分子構造（macromolecular structure）を有するデータベースにアクセスするように構成され、前記高分子構造は球体の集合で表現されるロジックと、
前記データベースから前記タンパク質の高分子構造を照会するように構成されるロジックと、
前記球体の集合からユークリッドボロノイダイヤグラムを数学的に計算するように構成されるロジックと、
を備えることを特徴とするシステム。
【請求項３５】
タンパク質構造を特徴化する装置であって、
タンパク質の高分子構造（macromolecular structure）を有するデータベースにアクセスし、前記高分子構造は球体の集合で表現され、
前記データベースから前記タンパク質の高分子構造を照会し、
前記球体の集合からユークリッドボロノイダイヤグラムを数学的に計算するように構成されることを特徴とする装置。
【請求項３６】
結晶構造を分析する方法であって、
結晶の核形成点を含むテセレーション（tesselation）を受信する段階と、
前記受信されたテセレーションより球体のユークリッドボロノイダイヤグラムを数学的に計算する段階と、
を備えることを特徴とする方法。
【請求項３７】
前記数学的に計算された球体のユークリッドボロノイダイヤグラムから結晶成長パターンを決定する段階をさらに備えることを特徴とする請求項３６に記載の方法。
【請求項３８】
前記ユークリッドボロノイダイヤグラムを数学的に計算する段階は、エッジ追跡アルゴリズムを採用して前記球体のユークリッドボロノイダイヤグラムを計算する段階とを備えることを特徴とする請求項３６に記載の方法。
【請求項３９】
前記ユークリッドボロノイダイヤグラムを数学的に計算する段階は、領域拡張アルゴリズムを採用して前記球体のユークリッドボロノイダイヤグラムを計算する段階を備えることを特徴とする請求項３６に記載の方法。
【請求項４０】
結晶成長を分析するシステムであって、
結晶の核形成点を含むテセレーションを受信する手段と、
前記受信されたテセレーションから球体のユークリッドボロノイダイヤグラムを数学的に計算する手段と、
を備えることを特徴とするシステム。
【請求項４１】
結晶成長を分析するシステムであって、前記システムはコンピュータ読み出し可能媒体に格納され、
結晶の核形成点を含むテセレーションを受信するように構成されるロジックと、
前記受信されたテセレーションから球体のユークリッドボロノイダイヤグラムを数学的に計算するように構成されるロジックと、
を備えることを特徴とするシステム。
【請求項４２】
結晶成長を分析する装置であって、
結晶の核形成点を含むテセレーションを受信し、
前記受信されたテセレーションから球体のユークリッドボロノイダイヤグラムを数学的に計算するように構成されることを特徴とする装置。
【請求項４３】
固体間の表面相互作用を予測する方法であって、
球体の第１集合を有するデータベースにアクセスし、前記球体の第１集合はタンパク質を示す段階と、
前記タンパク質に対してユークリッドボロノイダイヤグラムを数学的に計算する段階と、
前記タンパク質に対して前記数学的に計算されたユークリッドボロノイダイヤグラムを用いる第１インターフェースを計算する段階と、
球体の第２集合にアクセスし、前記球体の第２集合はリガンドを示す段階と、
前記リガンドに対してユークリッドボロノイダイヤグラムを数学的に計算する段階と、
前記リガンドに対して前記数学的に計算されたユークリッドボロノイダイヤグラムを用いる第２インターフェースを計算する段階と、
前記第１インターフェースと前記第２インターフェースが相補的（ｃｏｍｐｌｅｍｅｎｔａｒｙ）であるかどうかを決定する段階と、
を備えることを特徴とする方法。
【請求項４４】
前記第１インターフェースと前記第２インターフェースからタンパク質−リガンドインターフェースを決定する段階をさらに備えることを特徴とする請求項４３に記載の方法。
【請求項４５】
前記数学的に計算されたユークリッドボロノイダイヤグラムを用いる前記タンパク質の表面位相情報（topology）を決定する段階と、
前記数学的に計算されたユークリッドボロノイダイヤグラムを用いる前記リガンドの表面位相情報を決定する段階と、
をさらに備えることを特徴とする請求項４３に記載の方法。
【請求項４６】
前記決定された表面をレンダリング（rendering）する段階と、
前記レンダリングされた表面をディスプレイ（display）する段階と、
をさらに備えることを特徴とする請求項４５に記載の方法。
【請求項４７】
前記決定された表面をブレンディング（blending）する段階と、
前記ブレンディングされた表面をディスプレイする段階と、
をさらに備えることを特徴とする請求項４５に記載の方法。
【請求項４８】
前記決定された表面をメッシング（meshing）する段階と、
前記メッシングされた表面をディスプレイする段階と、
をさらに備えることを特徴とする請求項４５に記載の方法。
【請求項４９】
固体間の表面相互作用を予測する方法であって、
球体の集合を有するデータベースにアクセスし、前記球体の集合はタンパク質を示す段階と、
前記球体の集合に対してユークリッドボロノイダイヤグラムを数学的に計算する段階と、
前記球体の集合の前記数学的に計算されたユークリッドボロノイダイヤグラムを用いるインターフェースを計算する段階と、
を備えることを特徴とする方法。
【請求項５０】
前記数学的に計算されたユークリッドボロノイダイヤグラムを用いる前記タンパク質のポケット（pocket）を決定する段階と、
前記決定されたポケットとインターフェースを構成するようになる相補的構造を予測する段階と、
をさらに備えることを特徴とする請求項４９に記載の方法。
【請求項５１】
固体間の表面相互作用を予測するシステムであって、
球体の集合を有するデータベースにアクセスし、前記球体の集合はタンパク質を示す手段と、
前記球体の集合に対してユークリッドボロノイダイヤグラムを数学的に計算する手段と、
前記球体の集合の前記数学的に計算されたユークリッドボロノイダイヤグラムを用いるインターフェースを計算する手段と、
を備えることを特徴とするシステム。
【請求項５２】
固体間の表面相互作用を予測するシステムであって、前記システムはコンピュータ読み出し可能媒体に格納され、
球体の集合を有するデータベースにアクセスするように構成され、前記球体の集合はタンパク質を示すロジックと、
前記球体の集合に対してユークリッドボロノイダイヤグラムを数学的に計算するように構成されるロジックと、
前記球体の集合の前記数学的に計算されたユークリッドボロノイダイヤグラムを用いるインターフェースを計算するように構成されるロジックと、
を備えることを特徴とするシステム。
【請求項５３】
固体の間の表面相互作用を予測する装置であって、
球体の集合を有するデータベースにアクセスし、前記球体の集合はタンパク質を示し、
前記球体の集合に対してユークリッドボロノイダイヤグラムを数学的に計算し、
前記球体の集合の前記数学的に計算されたユークリッドボロノイダイヤグラムを用いるインターフェースを計算するように構成されることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、2004年5月4日に出願された「球体のユークリッドボロノイダイヤグラム(Euclidean Voronoi Diagram of Spheres)」という名称の米国仮特許出願番号第60/567,860号(代理人管理番号292203-8010)の利益を主張する。本出願はまた、2004年5月6日に出願された「球体のユークリッドボロノイダイヤグラム(Euclidean Voronoi Diagram of Spheres)」という名称の米国仮特許出願番号第60/568,784号(代理人管理番号292203-8020)の利益も主張する。これら仮特許出願は両方とも全体としてここに参照として編入される。
【０００２】
本開示は一般に幾何学に関するもので、特にボロノイダイヤグラム(Voronoi diagram)に関するものである。
【背景技術】
【０００３】
ボロノイダイヤグラムは、計算幾何学(computational geometry)を含む科学及び工学の多様な分野で中心主題のうちの一つとして知られてきた。その本来の記述的(descriptive)かつ操作的な(manipulative)性質によって、ボロノイダイヤグラム及びこれを変形したものは、ティッセンポリゴン(Thiessen polygon)、中央軸変換(medial axis transformation: MAT)、対称軸変換(symmetric axis transformation: SAT)、骨格線(skeleton)、近接性地図(proximity map)、ディリシュレテセレーション(Dirichlit tessellation)、細線化(thinning)又は他の多様な名称を通じて知られてきた。
【０００４】
点集合(point set)に対する普通のボロノイダイヤグラム(「点集合ボロノイダイヤグラム(point-set Voronoi Diagram)」とも呼ばれる)は広く研究され、その性質は当業者によく知られている。２次元(2D)及びさらに高い次数の分析が、点集合ボロノイダイヤグラム上で行われてきた。点集合ボロノイダイヤグラムはVD(P)と呼ばれる。
【０００５】
VD(P)の一例を図１に示す。図１に示すように、VD(P)は点105a…105c(これらの集合を105とする)を有する。それぞれの点の間には、エッジ(edge) 115a…115c (これらの集合を115とする)が存在する。それぞれのエッジ115は対応する２つの点105を連結する線分の垂直二等分線である。例えば、エッジ115aは点105aと点105bを連結する線分に対する垂直二等分線、エッジ115bは点105bと点105cとの間の垂直二等分線等である。
【０００６】
図１に示すように、VD(P)はバーテックス(vertex) 110a…110c (これらの集合を110とする)も有する。これらバーテックス110は3つの点105から同一の距離である点を示す。その点において、エッジ115はバーテックス110でなくなるものと見えることがあり、他には、2つのエッジ115が互いに合ってバーテックス110を形成するものと見えることもある。知られている通り、エッジ115及びバーテックス110はポリゴン(polygon) 120a…120c (これらの集合を120とする)を定義し、それぞれのポリゴン120は対応する点105を含む。その点において、ポリゴン120はその対応点105に対するボロノイ領域とみなされる。従って、ポリゴン120のネットワークはVD(P)を示す。
【０００７】
VD(P)と関連した各分析方法は、円集合(circle set)のボロノイダイヤグラムを分析して特徴化(characterize)するために拡張されてきた。このような円集合ボロノイダイヤグラム(circle-set Voronoi diagram)はここでVD(C)と呼ばれる。また、各円の中心から計算するより、各円の円周から円のユークリッドボロノイダイヤグラムが計算される、より複雑なアプローチ法が開発された。このようなユークリッドボロノイダイヤグラムはEVD(C)と呼ばれる。
【０００８】
EVD(C)の一例を図２に示す。図２に示すように、EVD(C)は、対応する中心205により定義される複数の円210を含む。エッジ215は対応する２つの円210の中心を単純に二等分するのではなく、エッジ215上のそれぞれの点が対応する円210の円周上で最も近い点から同一の距離を有するようになる。従って、エッジ215上のそれぞれの点は、対応する一方の円の円周上の最も近い点に対して、対応する他方の円に対するのと同一のユークリッド距離(Euclidean distance)を有する。各バーテックス220は2つを超える個数の最も近い隣接する各円210から同一の距離である点を示す。
【０００９】
同一のサイズの各円に対し、EVD(C)と各円の中心に対するVD(P)は事実上区別することができない。しかし、図２に示すように、サイズが同一でない各円210に対し、EVD(C)の各エッジ215は双曲線関数により表現される。これら双曲線関数は多様な既発表論文に記述されている。これら論文では、２次元EVD(C)の位相学的側面(topology)及び幾何学的側面が分析されている。例えば、キム(Kim)などによる2つの論文は、EVD(C)の計算を詳細に記載した。即ち、2001年にコンピュータエイディッドジオメトリックデザイン(Computer Aided Geometric Design)、第18巻、第541-562頁と第563-585頁にそれぞれ発表された「点集合のボロノイダイヤグラムから円集合のボロノイダイヤグラム: I.位相学(Voronoi Diagram of a Circle Set from Voronoi Diagram of a Point Set: I. Topology)」及び「点集合のボロノイダイヤグラムから円集合のボロノイダイヤグラム: II.幾何学(Voronoi Diagram of a Circle Set from Voronoi Diagram of a Point Set: II. Geometry)」である。キムなどの発表により立証されているように、EVD(C)の計算はよく知られているので、EVD(C)のこれ以上の論議はここでは省略する。
【００１０】
一方ではVD(P)及びEVD(C)を分析する方法を拡張し、３次元(3D)球体集合ボロノイダイヤグラムを計算する試みがなされてきた。これら球体集合ボロノイダイヤグラムはEVD(S)と呼ばれる。例えば、ハンス-マーティンウィル(Hans-Martin Will)はその1999年の学術論文(（分子生物学における応用のための加法的加重ボロノイセルの計算「Computation of Additively-Weighted Voronoi Cells for Applications in Molecular Biology」）、スイス連邦技術院「Swiss Federal Institute of Technology」、チューリッヒ)で、EVD(S)背後の数学を非常に詳細に説明した。その学術論文でウィルはEVD(S)を加法的加重ボロノイセル(additively-weighted Voronoi cells: AWVC)と呼んだ。そのモデルの背後の詳細な数学を提供するのに加えて、ウィルは単一ボロノイ領域に対するAWVCの計算を具現するための例題アルゴリズムを提供した。
【００１１】
ルチニコフ(Luchnikov)などによる1999年の論文(「非球体粒子のシステムにおける虚空のボロノイドロネー分析(Voronoi-Delaunay Analysis of Voids in Systems of Nonspherical Particles)」、Physical Review E、第59巻、ナンバー 6、1999年6月)で、多様な３次元モデルに対する単一ボロノイ領域の計算が提示された。しかし、そのアプローチ法として、ルチニコフは相対的に面倒で非効率的な数値的(numerical)アプローチ法を用いるアイディアを提示した。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従って、業界のこのような技術にもかかわらず、依然として、３次元で完全なユークリッドボロノイダイヤグラムを計算することができる適切なアルゴリズム及び安定的に実行されるコード(code)が不足している。これに対し、３次元で完全なユークリッドボロノイダイヤグラムを計算することは複雑で難しいため、大多数はその代わりに、業界でよく知られている普通のVD(P)、パワーダイヤグラム(power diagram)又はアルファ(α)-シェープ(alpha-shape)アルゴリズムを用いてきた。従って、より実用的なソリューション(solution)に対する要望が業界に存在する。
【課題を解決するための手段】
【００１３】
この発明に係るコンピュータ読み出し可能媒体は、３次元客体の集合にアクセスし、前記アクセスしたそれぞれの３次元客体を数学的に定義するコンピュータ読み出し可能コードと、それぞれの３次元客体と連関するボロノイ領域を数学的に計算するコンピュータ読み出し可能コードと、を備える。この発明のその他の特徴は以下に明らかにする。
【発明の効果】
【００１４】
この発明により、ユークリッドボロノイダイヤグラムを計算するために数学的アプローチ法を採用することによって、ユークリッドボロノイダイヤグラムの計算において効率を改善することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態について詳細に説明する。図面と連係して幾つかの実施の形態があるが、本発明は、ここで開示される各実施の形態に制限されるものではない。むしろ、全ての代案、改造及び均等物が含まれる。
【００１６】
前記のように、ボロノイダイヤグラムは、生物学分野から材料科学分野に至る多様なシステムを特徴化することができる点で有用である。点集合ボロノイダイヤグラム(VD(P))及び円集合ボロノイダイヤグラム(VD(C))は以前から研究されてきたが、３次元ボロノイダイヤグラムを計算するための確実かつ効率的なアプローチ法に対する要求が依然として存在する。
【００１７】
本開示は３次元ボロノイダイヤグラムを計算するためのシステム及び方法を提供する。特に、３次元空間は数学的に定義可能な３次元客体を含む。例えば、３次元空間は球体集合を含み得るが、集合内のそれぞれの球体は中心座標と半径により数学的に定義される。これら球体集合ユークリッドボロノイダイヤグラム(EVD(S))は生物学的環境(例えば、RNA(ribonucleic acid)、DNA(deoxyribonucleic acid)、タンパク質等)又は材料科学で知られている他の環境をシミュレート(simulate)するために用いられ得る。他の数学的に定義可能な３次元集合はスピアロシリンダ又はシリンダを含み得る。例として、EVD(S)について以下に詳細に説明する。しかし、「X」が数学的に定義できる限り、類似するアプローチ法をEVD(X)を計算するために用いることができる。
【００１８】
３次元客体の集合にアクセスし、それぞれの３次元客体と連関したボロノイ領域を数学的に計算することにより、EVD(S)を計算することができる。アクセスされた集合内のそれぞれの３次元客体は数学的に定義される。従って、ボロノイダイヤグラムを数値的(numerical)方法を用いて計算する既存のアプローチ法とは異なり、ここで開示されたアプローチ法は完全なボロノイダイヤグラムを数学的に計算し、計算の効率性を改善するものである。
【００１９】
EVD(S)の説明を助けるために、以下の各用語が本開示に渡って一貫して提供され、用いられる。しかし、これら用語は本開示を制限せず、例示的なものである。ここで、図10Aを参照する際に、生成子(generator)(又は核形成点(nucleation point))がe4、e5及びe6により定義される領域下に位置する場合、その生成子とインターフェース(interface)するそれぞれの面は「オンフェース(on face)」と呼ばれる。また、オンフェースにより境界付けられた領域は「生成子のボロノイ領域」と呼ばれる。オンフェース上の各エッジは「オンエッジ(on-edges)」と呼ばれる。従って、例えば、図10Aの具体的な例において、エッジ(e4、e5及びe6)はオンエッジとみなされ得る。図10Aの例において、V1-V2で定義されるエッジは生成子のボロノイ領域が拡張されることによって収縮する。この収縮するエッジは「放射エッジ(radiating-edge)」と呼ばれる。その他のエッジ(例えば、図10Aのe1、e2及びe3)は「オフエッジ(off-edge)」と呼ばれる。
【００２０】
それぞれのボロノイ面は2つの隣接するボロノイセル(cell)間の境界に位置する。そして、それぞれのボロノイエッジは2つのボロノイ面間の境界に位置する。また、それぞれのボロノイバーテックスは少なくとも3つのボロノイエッジの交点に位置する。
【００２１】
このように定義した場合、例題データ構造はボロノイセルを含むが、これはボロノイセルだけでなくそのボロノイセルと連関した生成子球体(sphere)も定義するボロノイ面を含む。従って、例題データ構造は各ボロノイ面を含み得るが、これらはボロノイ面の各側面上の対応する2つのボロノイセルと連関する。例題データ構造は各エッジをさらに含むが、これらそれぞれは2つのバーテックス、3つの部分エッジ(partial edges)(下記で論議される)及びエッジ方程式と連関する。2つのバーテックスはエッジの各末端を定義し、それぞれの部分エッジはエッジと連関する対応面(corresponding face)を示す。エッジ方程式は有理二次ベジエ方程式(rational quadratic Bezier equation)であるが、これは円錐曲線を示すための一つの方法である。例題データ構造は各バーテックスをさらに含むが、これらはそれぞれ4つ(又はそれ以上)の隣接(incident)エッジ、位置(例えば、(X,Y,Z)又は他の知られている座標)及び正接する(tangent)球体の半径と連関する。
【００２２】
例として例題データ構造について説明したが、当業者であれば、所望の処理アルゴリズム性能によって、ボロノイセルと関連する多様な情報を追加又は除外することができる。
図3は、球体集合の完全な３次元ユークリッドボロノイダイヤグラムを計算するためのエッジ追跡アルゴリズムの一実施の形態を示すフローチャートである。このような球体集合に対するユークリッドボロノイダイヤグラムはEVD(S)と呼ばれる。エッジ追跡アルゴリズムの説明をより明瞭にするために、下記の各用語が採用される。
【００２３】
B={b1,b2,…,bn}を、biが３次元球形のボール(ball)である生成子の集合とする。従って、bi=(ci,ri)であるが、ここでci=(xi,yi,zi)はボールの中心に対するデカルト座標を示し、riはボールの半径を示す。いかなるボールも他のボール内に完全に含まれないと仮定される。領域VR(bi)がそれぞれのボールbiと連関するが、これはボールbiに対するボロノイ領域と呼ばれ、ここでVR(bi)={p|dist(p,ci)-ri≦dist(p,cj)-rj、i≠j}である。次に、EVD(B)={VR(b1)、VR(b2)、…,VR(bn)}は、集合Bに対するユークリッドボロノイダイヤグラムと呼ばれ、この時の距離は普通のユークリッド距離で計算される。
【００２４】
普通のボロノイダイヤグラムと類似し、Bのコンベックスハル(convex hull)の境界上にあるボールに対応する部分のボロノイ領域は境界付けられない。他の部分のボロノイ領域は境界面の集合により境界付けられるが、これらはボロノイ面と呼ばれる。それぞれのボロノイ面は2つの隣接するボールにより定義され、球体集合ボロノイダイヤグラムに対し、それぞれのボロノイ面は双曲面で表現される。
【００２５】
一つのボロノイ面は他のボロノイ面と会ってボロノイエッジを形成する。ボロノイエッジの交点はボロノイバーテックスと呼ばれる。ここで、バーテックスの次数(degree)が4であると仮定した場合、4つのボールに正接する(tangent)球体が存在する。この正接球体はバーテックスに中心をおき、空白(empty)であるが、これは他のいかなるボールも空白正接球体内に交差しないことを意味する。
【００２６】
4つの生成子ボールbi(i=1,2,3,4)が与えられれば、正接球体は連立2次方程式を解くことにより計算できるが、この方程式は4つのボールから同一の距離の点の公式化(explicit formulation)により得られる。この場合、0、1又は2つの解を含み得る。
【００２７】
特殊な(degenerate)場合でなければ、エッジは、取り囲む3つのボールの面から同一の距離の点の軌跡と定義される。従って、ボロノイエッジは3つの2次方程式の解であり、ボロノイエッジは平面的かつ円錐曲線である。このような円錐曲線は、5つのパラメータで定義される有理2次ベジエ曲線で数学的に表すことができる。これらパラメータは2つの終端点(end points)、両終端での接ベクトル(tangent vectors)、そして曲線が通過する一点を含む。また、EVD(S)に対し、2つの終端はボロノイバーテックスである。ボロノイバーテックスでの接ベクトルは、バーテックスから出発してエッジを定義する3つのボールの中心で終わる3つのベクトルと等角(equiangular)をなすベクトルとして得られる。曲線が通過する点は、3つのボールの中心を通過する平面Pを定義することにより発見され得る。3つのボールとPの交線はP上の3つの各円に帰結し、この平面上で曲線が通過する点はこれら3つの各円に接する円の中心点である。これはアポロニオスの10番目の問題(Apollonius 10th Problem)として知られており、このような問題に対する解決策は当業者によく知られている。
【００２８】
エッジが円形又は楕円形である場合は問題が生じ得る。例えば、さらに小さなボールが2つの大きなボール間に位置し、これら3つのボールの中心点が同一線上にある時、これは円形のエッジに帰結する。もし中央のさらに小さなボールが同一線から若干逸脱すれば(即ち、他の2つのボールの中心と同一線上ではなければ)、これは楕円形のエッジに帰結する。これら状況は2つのカテゴリー(category)に帰結するが、これらはエッジ連結(edge-connected)カテゴリー及びエッジ分断(edge-disconnected)カテゴリーと呼ばれる。エッジ追跡アルゴリズムはエッジ連結カテゴリーを収容することができる。しかし、エッジ分断カテゴリーに対しては、まずさらに大きなボールに対するエッジグラフを構成することが優先され、次にさらに小さなボールに対する他のエッジグラフを構成する。
【００２９】
ボロノイ面は2つの位相学的に隣接するボールbi及びbj間に、|p-ci|-ri=|p-cj|-rjである曲面である。従って、ボロノイ面は双曲面であり、陰関数式(implicit equation)は数学的に計算できる。ボロノイ面の主要な用途はボロノイ領域の体積及び境界面積の計算である。付加的に、ボロノイ面は３次元構造の幾何及び位相情報の視角化(visualization)を増進するために用いられ得る。
【００３０】
ボロノイ面の計算を単純にするために、座標変換を行うことが好ましい。例えば、さらに大きなボールが原点に位置し、さらに小さなボールが陽のZ軸上に位置するように2つのボールを変換することによって、2つのボール間のボロノイ面はXY-平面に対して一価関数(single-valued function)となる。同様に、有理2次ベジエ関数である面の境界も同じように変換できる。座標変換は当業者に知られているので、このような座標変換の論議はここでは省略する。
【００３１】
ボロノイダイヤグラムがボロノイバーテックス、ボロノイエッジ及びボロノイ面で構成されているとすれば、このようなボロノイダイヤグラムは図3を参照して示されるようなエッジ追跡アルゴリズムを用いて計算できる。図3に示すように、本実施の形態に係る処理過程(process)は球体の集合を照会すること(305)から始まる。ここで、球体の集合は、タンパク質、DNA、RNA又は多様な他の分子上の原子である。これに限らず、球体の集合は、結晶成長のための核形成点であってもよい。
【００３２】
EVD(S)はまた、例えば半導体研究において薄膜の層間のインターフェースを分析するために用いられることもある。このような応用に対し、基板上に原子が堆積される時、EVD(S)は多様な堆積層に対してそれらの相互作用に関する情報を提供することができる。
【００３３】
他の応用例としては、例えば分子動的シミュレーション(molecular dynamic simulation)又はアブイニシオシミュレーション(ab initio simulation)のようなコンピュータシミュレーションから得られるモデルデータを用いる結晶構造分析がある。EVD(S)はまた、結晶体(grain)境界での現象を分析するために用いられることもある。このように、EVD(S)は様々な粒子間の幾何学的研究のために用いられ得る。
【００３４】
球体の集合を読み込めば(305)、処理過程は最初のバーテックス(initial vertex)を見出す(310)段階に続く。次いで、最初のバーテックスはバーテックスインデックス辞典(vertex index dictionary: VIDIC)に格納される(315)。また、VIDICは単にEVD(S)の各バーテックスを目録化(catalog)するデータベースであるが、これは図3の処理過程の終了とともに完成される。
【００３５】
最初のバーテックスを見出して(310)、VIDICに格納(315)した後に、処理過程は最初のバーテックスから発散されるエッジを生成する(320)。これらエッジは有理2次ベジエ曲線(又は他の円錐曲線)で表現され得る。ベジエ曲線は、この技術分野において知られているので、ベジエ曲線に対するこれ以上の論議はここでは省略する。次いで、生成されたエッジはエッジスタックにプッシュ(push)される(325)。ただし、エッジ方程式は必ずしも計算される必要はなく、エッジ及び面に対する方程式は必要な時にのみ計算される。知られている通り、EVD(S)の位相情報が得られさえすれば、この計算は容易に行われ得る。
【００３６】
エッジスタックから一つのエッジがポップ(pop)され(330)、ポップされたエッジから空白正接球体が計算されることによって(335)、ポップされたエッジと連関した末端バーテックス(end vertex)を定義する。定義された末端バーテックスはVIDIC内の各バーテックスと比較され(340)、処理過程は定義された末端バーテックスが既にVIDIC内にあるかどうかを判断する(345)。一つのポップされたエッジに対し、複数の空白正接球体が計算できるという点が認識され得る。このような状況に対し、ポップされたエッジの開始バーテックスに対して角距離(angular distance)で最も近い正接球体が選択される。角距離は開始バーテックスから空白正接球体の中心まで測定される。
【００３７】
定義された末端バーテックスがVIDICで発見されなければ、本処理過程は定義された末端バーテックスをVIDICに格納し(350)、定義された末端バーテックスから発散するエッジを追加で生成する(355)。次いで、新たに生成されたエッジはエッジスタックにプッシュされ(325)、続く処理のためにキューイング(queueing)される。次いで、本処理過程はエッジスタックから次のエッジをポップすること(330)で繰り返される。
【００３８】
しかし、もし定義された末端バーテックスが既にVIDIC内にあれば、処理過程は前で定義された末端バーテックスを用いてポップされたエッジを完成(finalize)する(360)。換言すれば、末端バーテックスがVIDICに既に存在すれば、処理過程はVIDICのそのバーテックスをポップされたエッジの末端バーテックスになるようにすることによって、ポップされたエッジを完全にする。ポップされたエッジを完成(360)すれば、処理過程はさらに、エッジスタックが空いたかどうかを決定する(365)。エッジスタックが空いていれば、処理過程は終了する。しかし、エッジスタックが空いていなければ、処理過程はエッジスタックから他のエッジをポップし(330)、処理過程はエッジスタックが空くまで繰り返される。
エッジスタックが空けば、全てのエッジが計算されることによってEVD(S)が完成される。それぞれのボロノイ領域の面は、有理2次ベジエ曲線であるエッジで囲まれた双曲面で再構成できる。ただし、各面は必ずしも計算される必要がない。
【００３９】
図4A〜4Gは完全なEVD(S)を計算するための領域拡張アルゴリズムの一実施の形態を示すフローチャートである。球体集合に対する特定の領域拡張アルゴリズムが図4A〜4Gに示されているが、このようなアルゴリズムはテセレーション(tessellation)の構成要素が数学的に定義できる限り、いかなる３次元表面にも拡張され得る。
【００４０】
図3で用いられた命名法を採用する。さらに、biはVR(bi)に対する生成子と呼ばれる。そして、特定の時点に中心にある点から始めて結局、完全な(full)サイズまで拡張するようになる生成子が与えられる時、この生成子は拡張生成子(expanding generator)と呼ばれる。また、拡張されている対応するボロノイ領域は拡張領域(expanding region)と呼ばれる。前記のように、拡張領域の境界上の各ボロノイバーテックスは各オンバーテックス(on-vertices)と呼ばれ、拡張領域上の各ボロノイエッジは各オンエッジと呼ばれ、拡張領域上の各ボロノイ面は各オンフェースと呼ばれる。拡張領域上にない各ボロノイバーテックスは各オフバーテックス(off-vertices)と呼ばれ、各オンバーテックスを有していない各ボロノイエッジは各オフエッジと呼ばれ、各オンエッジを有していない各ボロノイ面は各オフフェースと呼ばれる。さらに、両方の各ボロノイバーテックスに各オンバーテックスを有する各ボロノイエッジは、そのエッジ自体がオンエッジでなければ、各放射エッジ(radiating edge)と呼ばれる。一つのオンエッジと一つ以上の放射エッジを有する面は放射面(radiating face)と呼ばれる。バーテックス球体(vertex sphere)はボロノイバーテックスを定義する生成子に正接する球体である。従って、バーテックス球体の中心はバーテックス自体である。
【００４１】
各球体の中心に対する普通のボロノイダイヤグラムが出発点として用いられれば、それぞれのボロノイ領域は多面体(polyhedron)として示され得るが、これは必ずしも球体集合テセレーションに対する正しいボロノイ領域になるのではない。この出発点からそれぞれの球体が成長する時(又は拡張される時)に対応する領域もこれに相応して拡張される。各バーテックス、各エッジ、各面及び各領域の間で位相情報及び幾何情報が維持されれば、全ての生成子に対する各ボロノイ領域が計算されるまでこの処理過程を生成子ごとに繰り返すことにより、完全なボロノイダイヤグラムが計算できる。このような処理過程はここで領域拡張過程又は領域拡張アルゴリズムと呼ばれる。
【００４２】
拡張生成子のサイズが増加するに伴って、拡張領域の体積も相応して増加する。従って、領域拡張の間にそれぞれのオンバーテックスは、バーテックスと連関した放射エッジに沿って最初の拡張領域から遠くなる。同様に、それぞれのオンエッジは対応する放射面に沿って最初の拡張領域から遠くなる。拡張生成子の十分に小さな各拡張に対し、ダイヤグラムの位相構造は変わらない。しかし、このような小さな拡張に対し、領域と関連する各バーテックス、各エッジ及び各面の幾何学は変更され得る。
【００４３】
拡張過程の間に、十分な拡張があれば位相学的構造変化が生じ得る。例えば、オンバーテックスが放射エッジに沿って移動する時、放射エッジの対応オフバーテックスに会う。その時点で、放射エッジは収縮して点に退化し、消滅する。このような位相構造での変化は、ここでイベントと呼ばれる。領域拡張過程に関連する多様なイベントについては、後に図10A〜10Dを参照して論議する。
【００４４】
各ボロノイ領域が星状（star-shaped）であるので、各面の交線は面の内部で発生するのではなく、面の境界で発生する。従って、各バーテックスと各エッジのみを考慮することによって、拡張過程の間の位相学的変化が検知できる。また、各オンバーテックスと各オンエッジがそれぞれ放射エッジ及び放射面に沿って移動するように制限されるため、各放射面上の各エッジは拡張を特徴化するのに十分であり得る。イベントは移動する各オンバーテックス又は各オンエッジに起因した位相学上の変化を示すので、領域拡張の間に次のイベントが放射面上のエッジで発生する。しかし、拡張する生成子のサイズが十分に大きければ、各オンエッジ以外の全てのエッジがイベントと連関し得る。生成子の各球体が所定のサイズを有するので、通常イベントの部分集合のみが実現できる。また、各オンバーテックス及び各オンエッジはいかなる関連状態も有しない。
【００４５】
上記のような領域拡張の概要を与えられた上で、領域拡張アルゴリズムの一実施の形態について図4A〜4Gを参照して説明する。まず、図4Aに示すように、球体の集合を照会(402)する。このように球体集合を照会(402)すれば、照会された各球体の中心を用いて、一般的なボロノイダイヤグラムが計算される(404)。点集合ボロノイダイヤグラムの計算は、この発明の属する業界においてよく知られているので、一般的なボロノイダイヤグラムを計算する(404)処理過程の記述はここでは省略する。最終のEVD(S)はテセレーションのそれぞれの点に対して計算されるので、アルゴリズムは次いでテセレーションの点の個数を反映する全てのカウンタを初期化する(406)。
【００４６】
本来の球体集合データに対してEVD(S)を計算するよりはむしろ、全ての球体を収縮させて球体集合で最も小さな球体が点に減るようにする。換言すれば、集合内で最も小さな球体の半径が決定され、次いで球体集合の全ての各球体からその半径を差し引く。全ての球体の半径を集合で最も小さな球体の半径だけ減少させることによって、計算は単純化される。
【００４７】
カウンタの初期化(406)後に、アルゴリズムは照会された集合内の全ての球体がそれらそれぞれの放射面を境界付けるエッジに対して分析されたかどうかを決定する(408)。換言すれば、アルゴリズムは全ての球体が(ここで記述されるような)球体拡張過程を経たかどうか、そして球体拡張過程から導き出される必要な計算が行われたかどうかを決定する。もし全ての球体に対して領域拡張がなされていれば、これは照会された球体集合に対してEVD(S)が完全に計算されたことを指示するものである。従って、全ての球体が分析されていれば、処理過程は終了する。しかし、全ての球体が分析されていなければ、アルゴリズムは次の未分析(unanalyzed)球体を照会する(410)。
【００４８】
次の未分析球体を選択すれば(410)、アルゴリズムは選択された球体の各放射面を境界付ける全てのエッジを検索する(412)。次いで、検索されたエッジはエッジスタックに挿入される(414)。処理過程は図4Bに続く(416)。
【００４９】
図4Bに示すように、アルゴリズムは次にエッジスタックの全てのエッジに対してイベント時点及びイベント類型が計算されたかどうかを決定する(420)。換言すれば、アルゴリズムはループ(loop)に対する脱出条件(exit condition)が満たされたかをチェックして確認する。もしエッジスタックの全てのエッジに対してイベント時点及びイベント類型が計算されていなければ、アルゴリズムはエッジスタックから一つのエッジにアクセスする(422)。次に、アルゴリズムはアクセスされたエッジと連関するイベント類型を計算し(424)、また、アクセスされたエッジと連関するイベント時点を計算する(426)。イベント類型及びイベント時点は後で図10A〜10Dを参照してさらに詳細に論議する。
【００５０】
エッジのイベント類型とイベント時点の両方とも計算されれば(424,426)、アルゴリズムは次にエッジのイベント時点が拡張生成子の対応する半径より小さいかどうかを決定する(428)。イベント時点はイベントが発生する時の拡張生成子の半径である。もしエッジのイベント時点が拡張生成子の対応する半径より小さくなければ、処理過程は戻って再びエッジスタックの全てのエッジに対するイベント類型及びイベント時点が計算されたかどうかを決定する(420)。一方、エッジのイベント時点が拡張生成子の対応する半径より小さければ、アルゴリズムはイベントキューにデータをプッシュする(430)。データは、イベント類型、イベント時点及び他の関連情報のようなエッジと関連した情報を含むことができる。イベントキューはイベント時点をキー(key)として用いる優先順位キュー(priority queue)である。イベントキューにデータをプッシュすれば、(430)、処理過程は戻って再びエッジスタックの全てのエッジに対してイベント類型及びイベント時点が計算されたかどうかを決定する(420)。エッジスタックの全てのエッジに対してイベント類型及びイベント時点が計算されたと決定されれば、処理過程は図4Cに続く(432)。
【００５１】
図4Cに示すように、全てのベント時点及びイベント類型が計算されれば、アルゴリズムは次にイベントキューが空いたかどうかを決定する(440)。イベントキューが空いていれば処理過程は図4Aに戻り、アルゴリズムは再び全ての球体がそれらそれぞれの球体の各放射面を境界付けるエッジに対して分析されたかどうかを決定する(408)。しかし、イベントキューが空いていなければ、アルゴリズムはイベントキューから、最も小さな値のイベント時点を有する次に使用可能な当面したイベント(immediate event)をポップする(442)。
【００５２】
ポップされたデータを用いて、アルゴリズムはイベント類型が単一末端イベント(one-end event)であるかどうかを決定する(444)。もしアルゴリズムがイベント類型が単一末端イベントであると決定すれば(444)、処理過程は単一末端イベントを扱うサブルーチン(subroutine)に続く(450)。単一末端イベントサブルーチン(450)の一実施の形態は図4D及び10Aを参照してさらに詳細に記述する。
【００５３】
一方、イベント類型が単一末端イベントでなければ、アルゴリズムはさらにイベント類型が両末端イベント(two-end event)であるかどうかを決定する(446)。もしアルゴリズムがイベント類型が両末端イベントであると決定すれば(446)、処理過程は両末端イベントを扱うサブルーチンに続く(460)。両末端イベントサブルーチン(460)の一実施の形態は図4E及び10Bを参照してさらに詳細に記述する。
【００５４】
もしイベント類型が両末端イベントでもなければ、アルゴリズムはさらにイベント類型が中間イベント(mid-event)であるかどうかを決定する(448)。もしアルゴリズムがイベント類型が中間イベントであると決定すれば(448)、処理過程は中間イベントを扱うサブルーチンに続く(470)。中間イベントサブルーチン(470)の一実施の形態は図4F及び10Cを参照してさらに詳細に記述する。
【００５５】
最後に、イベント類型が中間イベントでもなければ、処理過程は分割イベント(split event)を扱うサブルーチンに続く(480)。分割イベントサブルーチン(480)の一実施の形態は図4G及び10Dを参照してさらに詳細に記述する。
【００５６】
前記のように、図4Dは単一末端イベントサブルーチン(450)のフローチャートである。単一末端イベントは図10Aを参照して示される。図10Aにおいて、エッジe4、e5及びe6が各オンエッジとみなされ、e1、e2及びe3が各オフエッジとみなされれば、バーテックスV1がバーテックスV2側に移動することによって、V1とV2との間のエッジを放射エッジとする。図10Aに示すように、単一末端イベントが行えば、V1はV2と重なり、各エッジe1、e2、e3、e4、e5及びe6は一つの点で集まる。イベント以後に、新たなオンフェースf1が生まれ、従って、f1を定義する3つの新たなオンエッジと3つの新たなオンバーテックスが生まれる。
【００５７】
従って、単一末端イベントサブルーチン(450)は、関連イベントエッジを除去する段階(451)、新たなオンフェースを定義する3つの新たなオンエッジを生成する段階(452)、そして新たなオンフェースを生成する段階(453)を含む。これに対応して、単一末端イベントサブルーチン(450)は、イベントエッジの両方の末端バーテックスを除去すること(454)、新たに生成されたオンフェースと連関する3つの新たなバーテックス(V3、V4及びV5)を生成すること(455)、新たな各放射面を境界付ける全てのエッジをエッジスタックに挿入すること(457)も含む。各エッジをエッジスタックに挿入すれば(457)サブルーチンは図4Bに抜け出るが、そこでアルゴリズムは再びエッジスタックの全てのエッジに対するイベント時点及びイベント類型が計算されたかどうかを決定する(420)。
【００５８】
前記のように、図4Eは両末端イベントサブルーチン(460)のフローチャートである。両末端イベントは図10Bを参照して示される。図10Bにおいて、エッジe1、e3及びe6は頁の外に延長されて出て、エッジe2、e4及びe5は頁の内側に延長されて入るとする。もしV1及びV3が各オンバーテックスであれば、これら2つのバーテックスはV2に向かって移動し、両末端イベントが起こればV1及びV3の両方ともV2と重なる。その時点で、全てのエッジe1、e2、e3、e4、e5及びe6は一つの点で集まる。イベント後に(V1-V2及びV2-V3により定義される)2つの放射エッジが同時になくなる。従って、面f1もなくなり(V4-V5により定義される)新たなエッジが示される。頁の外に延長されて出るエッジe1、e3及びe6はバーテックスV5で集まり、頁の内側に延長されて入るエッジe2、e4及びe5はバーテックスV4で集まる。
【００５９】
従って、両末端イベントサブルーチン(460)はオフバーテックスから第1エッジを除去する段階(461)、オフバーテックスから第2エッジを除去する段階(462a)、オフバーテックスから第3エッジを除去する段階(462b)及び除去されたエッジにより境界付けられる面f1を除去する段階(463)を含むものと見られ得る。相応して、両末端イベントサブルーチン(460)はまた、新たな各放射面を定義する新たなオンエッジを生成する段階(464)及び新たな各放射面を境界付けるエッジをエッジスタックに挿入する段階(465)を含む。新たな各エッジをエッジスタックに挿入すれば(465)、サブルーチンは図4Bに抜け出て、そこでアルゴリズムは再びエッジスタックの全てのエッジに対するイベント時点及びイベント類型が計算されたかどうかを決定する(420)。
前記のように、図4Fは中間イベントサブルーチン(470)のフローチャートである。中間イベントは図10Cを参照して示される。図10Cに示すように、中間イベント間に各バーテックスV1及びV2が会う。従って、中間イベントが起こる時、各バーテックスV1及びV2は単一なバーテックスに重なり、面f1は無くなる。イベント時点に、エッジe1’、e1”、e2’、e2”は単一な点に集まる。イベント後、2つのエッジe1’及びe1”は単一なエッジe1に進化し、2つのエッジe2’及びe2”は単一なエッジe2に進化する。従って、2つのオンフェースは単一なオンフェースに重なる。
【００６０】
従って、中間イベントサブルーチン(470)は、イベントエッジにより境界付けられる放射面を除去する段階(471)及び対応するオンエッジを除去する段階(472)を含む。従って、中間イベントサブルーチン(470)は、2つのオンフェースを単一な新たなオンフェースに併合する段階(473)及び対応するエッジの対を2つの新たなオンエッジに併合する段階(474)も含む。中間イベントでは新たな各放射エッジが生まれないので、いかなる追加の情報もエッジスタックに追加されない。従って、中間イベントサブルーチン(470)が終了すれば、サブルーチンは図4Bに抜け出て、アルゴリズムは再びエッジスタックのエッジに対して全てのベント時点及びイベント類型が計算されたかどうかを決定する(420)。
【００６１】
EVD(S)のエッジグラフは、2つの大きな球体の間にある小さな球体のような一部特殊な場合に対して、分断されていることがある。この場合も中間イベントの拡張により扱われる得る。中間イベントが起こる時、e1’及びe2’により境界付けられた面及びe1”及びe2”により境界付けられた面が同一の面から来たものであれば、エッジグラフは分断されている。従って、これは、2つの面が同一であるかどうかをチェックすることによって、又はe1、e1”、e2’などにより形成されるエッジループが連結されているかどうかをチェックすることによって検知できる。
【００６２】
前記のように、図4Gは分割イベントサブルーチン(480)のフローチャートである。分割イベントは図10Dを参照して示される。分割イベントで、イベントエッジはなくならず、むしろ2つのエッジに分割される。それぞれの分割されたエッジはイベント類型及びイベント時点がテストされなければならない新たなエッジであるとみなされる。従って、分割イベントが起こる時にeSはe5と一つの点で会う。イベント後に面f1は2つの別途の各面f1及びf1”に分割される。同様に、エッジeSはエッジeS’及びeS”に分割され、エッジe5はエッジe5’及びe5”に分割される。結局、2つの新たなエッジeA及びeBが生まれ、新たな面を定義する。
【００６３】
このように定義されることによって、分割イベントサブルーチン(480)は、イベントエッジを2つの新たな放射エッジに分割する段階(481)及びオンエッジを2つの分割された各オンエッジに分割する段階(482)を含む。従って、分割イベントサブルーチン(480)は、分割された各オンエッジの間に2つの新たなオンエッジを生成する段階(483)及び新たなオンフェースを生成する段階(484)も含む。次いで、新たな放射エッジはエッジスタックに挿入され(485)、サブルーチンは図4Bに抜け出るが、そこでアルゴリズムは再びエッジスタックの全てのエッジに対するイベント時点及びイベント類型が計算されたかどうかを決定する(420)。
【００６４】
前述されたような数学的アプローチ法は以前に他者により提案されてきた数値的(numerical)アプローチ法に比べてさらに確実かつ効率的である。
【００６５】
上述した処理過程から導き出されるボロノイダイヤグラムの多様な例について図5〜9を参照して説明する。
図5は15個の均一の球体を有する球体の集合に対するEVD(S)の計算から得られる一つの結果を示すダイヤグラムである。図5のEVD(S)は図3のエッジ追跡アルゴリズムや図4A〜4Gの領域拡張アルゴリズムのうちのいずれか一つを用いて計算できる。
【００６６】
図5に示すように、球体505、510、515、520のそれぞれのサイズが同一である時、導き出されるボロノイダイヤグラムは多面体形態を有する。従って、各ボロノイ表面535は平面という特殊な双曲面の場合に退化される。各ボロノイ面535、バーテックス525及びエッジ530が図5に示される。視角化の容易性のために、無限に拡張されるエッジは図5で省略する。
【００６７】
図6は5個の非均一な球体を有する集合に対するEVD(S)の計算から得られる他の結果を示すダイヤグラムである。図6のEVD(S)は図3のエッジ追跡アルゴリズムや図4A〜4Gの領域拡張アルゴリズムのうちの何れか一つを用いて計算できる。
【００６８】
図6に示すように、中心の球体625は4面体配置に配置された4つの周辺球体605、610、615、620により囲まれる。視角化の容易性のために、4つの周辺球体605、610、615、620はサイズが均一である反面、中心の球体625はサイズが相当に大きい。ここに示すように、ボロノイ面650が中心の球体625と各周辺球体の一つの周辺球体610との間に介在する。3つの異なるボロノイ面は図6で容易に識別可能である。ボロノイ面のそれぞれは双曲面であり、それぞれのボロノイ面の各エッジは円錐曲線として、必要に応じて例えば有理2次ベジエ方程式により数学的に表現される。例えば、前方の面655は3つのバーテックス645、640、630により定義され、これら3つのバーテックスは3つのエッジをまた定義する。便宜のために、無限に延長されるエッジは図6で省略する。
【００６９】
図7は15個の非均一球体を有する球体の集合に対するEVD(S)の計算から得られる他の結果を示すダイヤグラムである。図7のEVD(S)は図3のエッジ追跡アルゴリズムや図4A〜4Gの領域拡張アルゴリズムのうちのいずれか一つを用いて計算できる。図5のダイヤグラムとは異なり、図7に対してボロノイダイヤグラムは非平面的な(non-planer)面を明瞭に示す。その理由は、各球体の大きな半径の差が双曲面の面の曲率をより大きくするためである。便宜のために、無限に延長される各エッジは図7で省略する。
【００７０】
図8はタンパク質データバンク(PDB)から得られるタンパク質の部分集合を示す球体の集合に対するEVD(S)の計算から得られる結果を示すダイヤグラムである。図8のEVD(S)は図3のエッジ追跡アルゴリズムや図4A〜4Gの領域拡張アルゴリズムのうちのいずれか一つを用いて計算できる。図8に示すように、ボロノイダイヤグラムは球体805を有するが、この各球体はタンパク質内の各分子及びそれらそれぞれの位置を示す。導き出されるボロノイダイヤグラムは無限に延長されるエッジ815を用いて示される。各面820は(部分的不透明に対比されるように)透明に見える。バーテックス810のそれぞれは暗い点(dot)に見える。
【００７１】
PDBから得られたタンパク質のボロノイダイヤグラムを生成するためには、PDBから得られるデータが関連アルゴリズムにより容易に処理され得る形式に変換される必要があり得る。アルゴリズムの他の実施の形態に対して、アルゴリズムに対する入力データ構造に従って、データは変換なしにPDBから直接読み出されこともある。その点において、PDBのデータからタンパク質の構造は３次元に再構成できる。タンパク質の原子のそれぞれがファンデルワールス分子に近似される時、これら原子は単純な球体モデル(spherical model)に表現される。従って、タンパク質に対するEVD(S)は上述したアプローチ法を用いて生成できる。
【００７２】
図11はPDBから得られたタンパク質構造のEVD(S)を数学的に計算する処理過程の一実施の形態を示すフローチャートである。このように、図11の実施の形態はPDBからデータファイル(data file)を読み込むこと(1110)から始まる。読み込んだデータファイルは球体集合テセレーションに切り替えられるが(1120)、これは上述したようなエッジ追跡アルゴリズムや領域拡張アルゴリズムのようなアルゴリズムへの入力として用いられる。切替がなされれば、球体集合テセレーションのEVD(S)が数学的に計算される(1130)。
【００７３】
タンパク質の表面はタンパク質-リガンドドッキング(protein-ligand docking)で重要な役割を遂行すると考えられている。図8に示されたようなボロノイダイヤグラムを有すれば、薬の効能と関連した関連情報を提供することができる。さらに、表面分析は2つのタンパク質の間のインターフェースの幾何学及び位相学上の有用な情報を提供することができる。また、このような表面分析は、特定のタンパク質に対するレセプタサイト(receptor site)で動作することができるポケット(pocket)を含む、タンパク質フォールディング(folding)又はドッキングメカニズムに関連ある幾何学的情報を提供することができる。観察及び分析の容易性のために、これら表面はさらに明瞭なディスプレイのためにレンダリング(rendering)、ブレンディング(blending)及び/又はメッシング(meshing)され得る。
【００７４】
EVD(S)を用いて計算されるようなタンパク質に対する位相学及び幾何学情報は、タンパク質上の(各ポケット又は各活性サイトとも呼ばれる)ドッキングサイトを抽出するために有用である。また、この情報は、例えば新薬開発の過程でタンパク質とリガンドとの間のドッキングをシミュレートするためにも有用である。さらに、EVD(S)から得られる位相学及び幾何学情報はタンパク質相互間のインターフェース、タンパク質-リガンドインターフェース及び他の分子インターフェースを研究するために用いられる。また、このような情報は各分子及び各タンパク質の間の類似点及び差異を研究するために用いられる。また、この情報は、タンパク質データベースから特定の構造的構成要素(component)を有するタンパク質を検索するために(例えば、タンパク質マイニン(protein mining))用いられ得る。タンパク質マイニン応用に対して、各分子の多重解像度モデリングは、互いに異なる解像度を有するタンパク質の抽象化に対してEVD(S)が適用される時、より大きな効率を提供することができる。多様なタンパク質のEVD(S)が計算されれば、タンパク質EVD(S)のデータベースが、このような情報を得ようとする者らのためにライブラリとして使用可能になり得る。
【００７５】
タンパク質フォールディング情報も各タンパク質のEVD(S)から得られる。付加的に、分子表面計算、そして例えば表面領域、質量、密度、重心などのような各分子の他の量的性質(mass property)の計算も、EVD(S)から得られる。
【００７６】
図9は各コンベックス客体、即ち各スピアロシリンダの集合に対するユークリッドボロノイダイヤグラムの計算から得られる結果を示すダイヤグラムである。一般に、任意の客体のユークリッドボロノイダイヤグラムはここでEVD(X)と呼ばれる。図9のEVD(X)は、図3のエッジ追跡アルゴリズムを非球形(non-spherical)客体を収容するように変更することによって計算できる。また、図9のEVD(X)は、図4A〜4Gの領域拡張アルゴリズムを非球体客体を収容するように変更することによっても計算できる。図9では各コンベックス客体が示されているが、このアルゴリズムは、各非コンベックス客体(non-convex object)が数学的に定義できる限り、各非コンベックス客体に拡張され得る。
【００７７】
図5〜9に示される通り、多様な位相学及び幾何学がボロノイダイヤグラムを用いて分析されて研究できる。このようなツールは生物物理学的メカニズムだけでなく、結晶成長、材料科学及び多数の他の分野に対する洞察を提供する。数値的(numerical)アプローチ法とは対立的に数学的アプローチ法を提供することにより、３次元客体のボロノイダイヤグラムを計算するにおいてさらに高い効率が達成できる。
【００７８】
論理的機能を具現するための実行可能インストラクション(instruction)の順序化された目録を含む図3のエッジ追跡アルゴリズム及び図4A〜4Gの領域拡張アルゴリズムはインストラクション実行システム、装置又は設備により使用可能なコンピュータ読み出し可能媒体、又はこれらシステム、装置又は設備と連係して使用可能なコンピュータ読み出し可能媒体に具体化できる。このようなシステム、装置又は設備は例えば、コンピュータ基盤システム、プロセッサを含むシステム、又はインストラクション実行システムや装置や設備からインストラクションをフェッチ(fetch)し、そのインストラクションを実行することができる他のシステムを含み得る。この書類の文脈で、「コンピュータ読み出し可能媒体」はインストラクション実行システム、装置又は設備による使用、又はこれらと連係した使用のためのプログラムを含み、格納、通信、伝達又は運搬することができるいかなる手段でもなり得る。コンピュータ読み出し可能媒体は、例えば、電子、磁気、光学、電磁気、赤外線又は半導体のシステム、装置、設備又は伝達媒体になり得るが、これらに制限されるのではない。コンピュータ読み出し可能媒体のより具体的な例は次のものを含み得る (非枯渇的な(nonexhaustive)目録である)。即ち、一つ以上の配線を有する電気的連結(電子)、携帯用コンピュータディスク(磁気)、RAM(ramdom access memory)(電子)、ROM(read-only memory)(電子)、消去可能プログラマブル読み出し専用メモリ(erasable programmable read-only memory: EPROM又はフラッシュメモリ)(電子)、光ファイバ(光学)、そして携帯用コンパクトディスク読み出し専用メモリ(CDROM)(光学)である。例えば紙又は他の媒体に対する光学的スキャニングを通じてプログラムが電子的にキャプチャ(capture)され、次いでコンパイル(compile)されたり、インタープリット(interpret)されたり、又は必要に応じて適切な方法により異なって処理された後に、コンピュータメモリに格納できるため、コンピュータ読み出し可能媒体は、紙又はプログラムが印刷できる他の適切な媒体までも含まれ得る。
【００７９】
エッジ追跡アルゴリズム及び領域拡張アルゴリズムを構成する論理的構成要素(component)は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせとして具現できる。望ましい実施の形態で、論理的構成要素はメモリに格納されて適切なインストラクション実行システムにより実行できるソフトウェア又はファームウェアとして具現される。代案的な実施の形態でのようにハードウェアとして具現されれば、論理的構成要素は業界でよく知られている次の技術のうちのいずれか、又は組み合わせを通じて具現できる。即ち、データ信号に対する論理関数を具現するための論理ゲートを有する離散論理回路、適切な組み合わせ論理ゲート(combinational logic gate)を有するASIC(application specific integrated circuit)、PGA(programmable gate array)、FPGA(field programmable gate array)等である。
【００８０】
フローチャートの全ての処理過程の各記述又は各ブロックは、各モジュール、各セグメント、又は処理過程の中の特定の各論理的機能がや各段階を具現するための一つ以上の実行可能インストラクションを含むコードの一部分を示すものと理解される。また、本開示の分野における当業者により理解できるように、伴う機能性に従って、実質的に同時に又は逆順に実行されるものを含んで、図示されて論議した内容から逸脱して機能が実行できる、代案的な具現は本開示の望ましい実施の形態の範囲内に含まれる。
例示的な実施の形態について述べてきたが、本開示に対して様々な修正、改造及び変更がなされ得るという点は当業者に自明である。例えば、VD(S)が詳細に計算されたが、数学的に定義可能な３次元客体であるいかなる「X」に対してもVD(X)が計算できるという点が認識される。例えば、Xはシリンダ、スピアロシリンダ又は他のコンベックス３次元構造を含むことができる。代案的に、Xはまた、コルクネジパターン、３次元星状などのような非コンベックス３次元構造を含むことができる。従って、このような全ての修正、改造及び変更は、本開示の範囲内にあると理解される。
【産業上の利用可能性】
【００８１】
この発明は以上説明したように、ユークリッドボロノイダイヤグラムを計算するために数学的アプローチ法を採用することによって、ユークリッドボロノイダイヤグラムの計算において効率を改善する。
【図面の簡単な説明】
【００８２】
本開示の多様な側面は添付の図面を参照してさらに十分に理解できる。図面の構成要素は必ずしも比例に従うのではなく、その代わりに本開示の原理を明瞭に示すのに強調する点が置かれる。また、図面で、同一の図面符号は複数の観点に渡って対応する部分を示す。
【図１】先行技術から得られる２次元点集合の普通のボロノイダイヤグラム（ＶＤ（Ｐ））を示す図面である。
【図２】先行技術から得られる円集合の２次元ユークリッドボロノイダイヤグラムを示す図面である。
【図３】球体集合の完全な３次元ユークリッドボロノイダイヤグラムＥＶＤ（Ｓ）を計算するためのエッジ追跡（edge-tracing）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ａ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｂ】完全な３次元ＥＶＤ（Ｓ）を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｃ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｄ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｅ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｆ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図４Ｇ】完全な３次元EVD(S)を計算するための領域拡張（region-expansion）アルゴリズムの一実施の形態を示すフローチャートである。
【図５】１５個の均一の球体（sphere）を有する各球体の集合に対するEVD(S)の計算から得られる結果を示すダイヤグラムである。
【図６】５個の非均一な球体を有する各球体の集合に対するEVD(S)の計算から得られる他の結果を示すダイヤグラムである。
【図７】１５個の非均一な球体を有する球体の集合に対するEVD(S)の計算から得られる他の結果を示すダイヤグラムである。
【図８】タンパク質データバンク（protein data bank: PDB）から得られるタンパク質の部分集合を示す球体の集合に対するEVD(S)の計算から得られる結果を示すダイヤグラムである。
【図９】各コンベックス客体、即ち各スピアロシリンダ（sphero-cylinder）の集合に対するEVD(S)の計算から得られる結果を示すダイヤグラムである。
【図１０Ａ】領域拡張アルゴリズムと連関した多様なイベントを示すダイヤグラムである。
【図１０Ｂ】領域拡張アルゴリズムと連関した多様なイベントを示すダイヤグラムである。
【図１０Ｃ】領域拡張アルゴリズムと連関した多様なイベントを示すダイヤグラムである。
【図１０Ｄ】領域拡張アルゴリズムと連関した多様なイベントを示すダイヤグラムである。
【図１１】PDBから得られるタンパク質構造のEVD(S)を数学的に計算する処理過程（process）の一実施の形態を示すフローチャートである。
【図１】
2007536664.tif 000003
【図２】
2007536664.tif 000004
【図３】
2007536664.tif 000005
【図４Ａ】
2007536664.tif 000006
【図４Ｂ】
2007536664.tif 000007
【図４Ｃ】
2007536664.tif 000008
【図４Ｄ】
2007536664.tif 000009
【図４Ｅ】
2007536664.tif 000010
【図４Ｆ】
2007536664.tif 000011
【図４Ｇ】
2007536664.tif 000012
【図５】
2007536664.tif 000013
【図６】
2007536664.tif 000014
【図７】
2007536664.tif 000015
【図８】
2007536664.tif 000016
【図９】
2007536664.tif 000017
【図１０Ａ】
2007536664.tif 000018
【図１０Ｂ】
2007536664.tif 000019
【図１０Ｃ】
2007536664.tif 000020
【図１０Ｄ】
2007536664.tif 000021
【図１１】
2007536664.tif 000022
【国際調査報告】
2007536664.tif 000023
2007536664.tif 000024