説明

効率的な多体シミュレーション方法

内部座標ヤコビアンを平方的な(内部座標の数Nに対してNのオーダである)コストで計算するための高速かつ汎用的に適用可能な方法であって、分子モデル化方法の劇的な高速化に使用できる方法。一実施形態において本発明は、ペア‐ポテンシャルエネルギー項の制約なしにデカルト・ヘシアンのねじりヤコビアンへの変換に有用であり、コンピュータのメモリを高効率で使用しそのような計算を実行するに有用である方法とアルゴリズムを提供する。そのような方法とアルゴリズムは、変換を、例えば分子系などの任意の多体系をモデル化するために使用される内部座標の数に関して平方的な計算時間で行い得る。関連の実施の形態において、本発明は、ペア‐ポテンシャルエネルギー項の制約なしに剛性行列を計算するために有用であり、かつコンピュータのメモリを高効率で使用しつつそのような計算を実行するために有用である方法およびアルゴリズムを提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本願は、Dan Rosenthalによる仮特許出願第60/477,237号(2003年6月9日出願)の出願日とDan Rosenthalによる仮特許出願第60/552,222号(2004年3月10日出願)の出願日との優先権の利益を享受し、この2つの出願は、共に本明細書にその全体が援用される。
【0002】
本発明は、数値的方法の分野に関し、さらに詳しくは、例えば多体機械系(multibody mechanical system)、とくには分子のモデル化の用途において使用される機械系など、機械系の運動方程式の解法との関連において使用される数値的方法に関する。本明細書にて言及する参考文献はすべて、あらゆる目的において、言及によって本明細書に組み込まれたものとする。
【背景技術】
【0003】
分子のモデル化は、分子の構造および動的な挙動など、分子のさまざまな側面をシミュレートするために使用できるいくつかの技法を含んでいる。分子のモデル化の典型的な用途には、酵素‐リガンドの結合、分子の拡散、反応経路、相転移、およびたんぱく質の折り畳みの研究などが挙げられる。生物科学ならびに薬品、高分子化合物、および化学品産業における研究者らは、複雑な分子における化学プロセスの性質を理解し、それによって新規な薬剤または物質を設計するために、そのような技法を使用し始めつつある。当然ながら、これらのツールが受け入れられるか否かは、実体の表現における結果の正確さ、モデル化できる分子系のサイズおよび複雑さ、ならびに解を得る際の速度など、いくつかの要因にもとづいている。
【0004】
分子または他の機械系のシミュレーションは、一般に、微分方程式の組を解くべく数値的方法を使用して実行される。したがって、そのようなシミュレーションの速度は、部分的には、使用される数値的方法の速度によって制約され、数値的方法を使用して解かれる計算およびアルゴリズムの速度によって制約される。機械的な(例えば、分子の)シミュレーションの計算速度は、系内の自由度(「DOF(degrees of freedom)」)の数への依存の程度の点で特徴付けられ、一般にDOFの数は、系内の物体(例えば、原子)の数に比例する。例えば、「オーダ(N)」のアルゴリズムの計算時間が、系内のDOFの数に線形に比例する一方で、「オーダ(N平方)」(オーダ(N))のアルゴリズムの計算時間は平方の依存性を有し(すなわち、DOFの数の二乗に比例して増加する)、「オーダ(N)」のアルゴリズムの計算時間は立方の依存性を有し、以下同様である。系のサイズ(したがって、DOFの数)が大きくなるにつれ、より高いオーダ(N)の依存性を有するアルゴリズムは、計算コストに関して急激に認容できなくなるほどになる可能性がある。したがって、可能な限りオーダ(N)への依存性が小さいアルゴリズムを開発することが、強く望まれる。
【0005】
分子のシミュレーションは、一般に、デカルト座標(いずれも絶対基準座標系に関して表現される系内の各原子または物体についてのx、y、z座標)または内部座標(典型的には、二面角またはねじり角座標)のいずれかを使用して実行されている。内部座標を使用する利点は、使用されるアルゴリズムの少なくともいくつかにおいて複雑さが増すことと引き換えに、系内のDOFの数を大きく減らす(例えば、デカルト座標の場合の約1/6〜1/8の間まで)ことができる点にある(例えば、Rosenthalの2002年8月8日付の国際公開パンフレットW002/061662号、「Method for Analytical Jacobian Computation in Molecular Modeling」、またはRosenthalの2003年1月23日付の米国特許出願公開第US2003/0018455A1号明細書、「Method for Analytical Jacobian Computation in Molecular Modeling」を参照)。
【0006】
典型的な2種類の分子モデル化技法は、時間にわたって分子系の運動をシミュレートする分子動力学(「MD」)アプローチ、および系を構成している原子または物体をランダムに変化させることによって分子または分子系について種々の状態を生成し、連続する各状態のエネルギーを評価するモンテカルロ法である(例えば、Leach. A. R.のMolecular Modeling‐Principles and Applications 2nd Ed.、2001年、Dorset Press、Dorchester、Dorsetを参照)。
【0007】
これらの、ならびに他の分子および機械モデル化技法は、構造的なエネルギー関数(位置および/または運動エネルギー)の一次(勾配、またはヤコビアン)および/または二次(へシアン)の導関数行列を利用するように定式化されることが多い。これらの導関数は、デカルト座標においては容易に計算可能であるが、内部座標において第1原理から計算することはきわめて困難である。したがって、内部座標についてエネルギー(E)または力(F)の関数のヤコビアンまたはヘシアンを見出したいと望む場合には、一般に、デカルトのヤコビアンまたはヘシアンを対応する内部座標(例えば、ねじり角座標)のヤコビアンまたはヘシアンに変換する必要がある。
【0008】
デカルトのヤコビアンの計算コストは、オーダ(N)と同じく低いが、デカルトのヤコビアンを内部座標のヤコビアンに変換するために一般に適用可能な従来技術の方法は、Nについて立方の依存性を有している(すなわち、オーダ(N))。したがって、大規模な系について作業を行なうとき、変換のための計算がボトルネックとなる可能性がある。分子のモデル化の文脈においてヤコビアンの計算を高速に(オーダNまで低く)するため、いくつかの方法が説明されている(例えば、Gibrat、1997、「Fast Calculation of first and second derivatives of conformational energy of oligomeric proteins with respect to a set of variables mixing dihedral angles and rigid body variables」、J. Chem Phys 94:1234‐1256;Noguti & Go、1983、J Phys. Soc. Jap. 52:3685)が、それらは以下に詳しく述べるとおり、或る限界を抱えている。
【0009】
力またはエネルギーのヤコビアンを計算するための多くの技法は、連鎖法則を使用しており、例えば力のヤコビアンを内部座標について
【0010】
【数6】

と表現することができ、ここでデカルト座標がrとして表わされ、内部座標がqとして表わされている。
【0011】
【数7】

は、典型的には、Fそのものがポテンシャルエネルギーの勾配として得られるときは常にデカルト・ヘシアンであり、そうでない場合、
【0012】
【数8】

はデカルト力ヤコビアンと称される。
【0013】
【数9】

は、ねじり変位勾配と称される。陽解行列乗算法(「explicit matrix multiplicationmethod」)(例えば、両者ともここでの言及によってあらゆる目的について本明細書に組み込まれたものとするが、Rosenthalの2002年8月8日の国際公開パンフレットWO02/061662号、「Method for Analytical Jacobian Computation in Molecular Modeling」;またはRosenthalの2003年1月23日の米国特許出願公開第US2003/0018455A1号、「Method for Analytical Jacobian Computation in Molecular Modeling」を参照されたい)においては、デカルト・ヤコビアンおよび変位勾配の両者が形成され、陽解行列乗算が実行される。大規模な分子系においてはデカルト・ヤコビアンを保存するために通常でない量のメモリが必要とされるため、一般に、ヤコビアンをブロックに部分的に形成するため、或る特別な規定がなされる。行列の乗算のコストは、原子の数について立方的(オーダ(N))である。使用される力の場に応じ、デカルト・ヤコビアンの形成のコストは、平方的(オーダ(N))でありうる。変位勾配の形成のコストも平方的であり、したがってこの方法は、最終的には、行列乗算の立方的なコストによって支配される。
【0014】
数値的摂動にもとづく方法(例えば、Lyness & Moler、1967、「Numerical differentiation of analytic functions」、SIAM J Numer. Anal. 4:202‐210を参照)も、すでに説明されている。使用されるシミュレーション・エンジンが原子間力を計算できる場合、その原子間力は、一般化座標の陰関数:F=F(r(q))として眺めることができる。したがって、
【0015】
【数10】

を、例えば差分を使用して数値的に形成することができる。この仕組みの全体コストは、ヤコビアンの各列が少なくとも1つの力の計算を必要とするため、立方的である。この数値的な仕組みの精度も、丸めおよび切り捨てによる影響ゆえ、苦しいものになりうる。得られた結果の精度を回復させるため、複雑化技法(例えば、Martinsら、2000年、「An automated method for sensitivity analysis using complex variables」、AIAA 2000−0689を参照)を使用することができるが、これは力の場の全体を複雑な算術を使用すべく書き換えることを必要とし、多くの用途において現実的でない要件である。
【0016】
プログラム強化技法の適用から生じるフォワード・モードの微分(forward mode differentiation)にもとづく方法も、先行技術において記載されている(例えば、Bischofら、1992年、「ADIFOR:Generating Derivative Codes from Fortran Programs」、Scientific Programming 1:11−29)。これらの方法の適用は、Adifor(Argonne National LaboratoryおよびRice University)などのコード生成プログラム、または手動のいずれかによって、行なうことができる。そのような方法の適用は、渡された(passed‐in)データ・ベクトルzについての行列ベクトル積
【0017】
【数11】

を計算できるプログラムをもたらす。そのようなプログラムの良好な使用は、変位勾配を形成し、フォワード・モードの微分ルーチンに渡すことにある。これは、依然として立方的な全体コストをもたらすが、数値的差分法よりも約3倍高速であって、完全な精度が手に入る。
【0018】
Noguti & Go,1983年、(J. Phys. Soc. Jap. 52:3685)の方法を脚色してなるGibratの方法(Gibrat、1997年、「Fast Calculation of first and second derivatives of conformational energy of oligomeric proteins with respect to a set of variables mixing dihedral angles and rigid body variables」、J. Chem Phys 94:1234−1256)においては、ヤコビアンおよびねじりヘシアンが、平方的なコストで生成されるが、ポテンシャルの組として表現できるエネルギー関数に限定されている。すなわち、1‐4ねじりポテンシャル(ねじりポテンシャルは、4原子項の加法和として表現されるため)、1‐3結合角度ペア、およびポテンシャルの組として専ら表現することが不可能である他のエネルギー関数など、単純なエネルギー関数には適用不可能である。さらに、真の多体ポテンシャルとして表現され、陰解法モデルを利用した分子シミュレーションに使用されることが多い一般化ボーン・ソルベント・アクセシビリティ(Generalized Born Solvent Accessibility:「GBSA」)解法モデルなど、分子のモデル化に使用され、ポテンシャルの組として専ら表現することが不可能である他のいくつかのツールへの適用も不可能である。
【0019】
本発明は、従来技術における前記およびその他の制限を克服するものであり、内部座標(例えば、ねじり角)ヤコビアンを平方的な(オーダ(N)の)コストで計算するための高速かつ汎用的に適用可能な方法であって、幾多の用途の中でも、とりわけ分子のモデル化方法を劇的に高速化するために使用できる方法を提供する。
【発明の開示】
【課題を解決するための手段】
【0020】
一実施の形態において、本発明は、ペア‐ポテンシャルエネルギー項の制約なしにデカルト・ヘシアンをねじりヤコビアンに変換するために有用であり、かつコンピュータのメモリを高効率で使用しつつそのような計算を実行するために有用である方法およびアルゴリズムを提供する。そのような方法およびアルゴリズムは、例えば分子系などの任意の多体系をモデル化するために使用されている内部座標の数について平方的な計算時間で変換を行なうことができる。関連の実施の形態において、本発明は、ペア‐ポテンシャルエネルギー項の制約なしに剛性行列を計算するために有用であり、かつコンピュータのメモリを高効率で使用しつつそのような計算を実行するために有用である方法およびアルゴリズムを提供する。
【発明を実施するための最良の形態】
【0021】
(I.定義)
そのようではないと示されない限り、「約(about)」とは、記載の値±30%を意味する。
【0022】
そのようではないと示されない限り、「物体(body)」とは、分子の表現の構成要素の文脈において、単一の質量または分子のモデル化の目的のための幾何構造として取り扱われる当該表現の単位として定義される。したがって、物体は、分子の個々の原子、原子の集まり、または質量からなる他の抽象系の表現であってよい。「剛体(rigid body)」は、剛であるとしてモデル化される物体である(すなわち、力が加わっても変形しない)。
【0023】
そのようでないと示されない限り、「高速演算子の実装(fast operator implementation)」とは、積行列の要素が計算される行列の乗算の評価の方法であって、積行列の全体を計算および保存する必要なく「オンザフライ(on‐the‐fly)」で使用または解放される方法を意味する。したがって、高速オーダの実装は、標準的な行列の乗算(オーダ(N))に比べ、実行速度および保存用メモリの両者の要件に関して大幅に効率的でありうる(オーダ(N)と高い)。
【0024】
そのようでないと示されない限り、「ジョイント(joint)」は、2つの物体間の接続である。一般的なジョイントの種類としては、ピン・ジョイント、スライダ・ジョイント、およびボール・ジョイントが挙げられるが、さらにこれらに限られるわけではないが、フリー・ジョイント、Uジョイント、円柱ジョイント、ベアリング・ジョイント、および前記いずれかの組み合わせなど、他にも多数の種類のジョイントが可能である。例えば、フリー・ジョイントは、直交する3つのスライダ・ジョイントをボール・ジョイントに組み合わせて構成され、完全な6自由度を有している。ジョイントの種類およびそれらの仕様についてのさらに詳細な検討を、例えば上記Rosenthalに見つけることができる。
【0025】
そのようでないと示されない限り、特定のジョイントまたはピボットにおける「凍結体(frozen body」」は、当該ピボットの外にあって剛体として一体に運動するすべての物体で構成される。
【0026】
そのようでないと示されない限り、「計算実現可能なオーダ(computationally‐feasible order)」とは、タスクの特定の並びを最終的な結果を変化させることなく実行できる任意のオーダを指す。このコンセプトは、いくつかの方法においては特定のステップのオーダが、それらステップが実行され、かつ結果がそれらステップが当初提示されたオーダで実行された場合と実質的に同じである限りにおいて、重要ではないことから惹起されている。
【0027】
そのようでないと示されない限り、用語「シリコン内(in silico)」は、コンピュータを使用して実行される任意の方法またはプロセスを指す。
【0028】
そのようでないと示されない限り、「分子(molecule)」は、化学的結合によって接続された2つ以上の原子で形成される任意の巨視的構造である。分子の例としては、これらに限られるわけではないが、たんぱく質(例えば、抗体、受容体、など)、ペプチド、脂質、核酸(例えば、天然または合成のDNA、RNA、gDNA、cDNA、mRNA、tRNA、など)、レクチン、糖(例えば、レクチン‐糖の複合体を形成している)、糖たんぱく、低分子、有機化合物、塩、金属、などの単原子または多原子の構造が挙げられる。
【0029】
そのようでないと示されない限り、「表現(representation)」とは、分子または分子構造に適用されるとき、例えばコンピュータ・シミュレーションにおいて機械によって使用するための分子または分子構造の抽象的説明を指す。例えば、分子の1つの表現は、分子を構成している原子または物体、あるいはそれらの抽象的代理の位置を集合的に定める座標の組である。分子の表現の例には、これらに限られるわけではないが、X線座標、「pdb」(たんぱく質データバンク)ファイル、などが挙げられる。
【0030】
そのようでないと示されない限り、「大きく(sifgnificant)」という用語は、「大きく異なる」、「大きく抑制する」、または「大きく促す」に関して使用されるとき、比較される2つのグループ間の定量化可能なパラメータにおける差異であって、標準的な統計的検定を使用して統計的に有意である差異を指す。
【0031】
そのようでないと示されない限り、「溶媒(solvent)」は、溶質分子を含みうる任意の媒体を指す。溶媒の例としては、これらに限られるわけではないが、水および他の水性溶媒、ならびに有機溶媒(例えば、DMSO、脂質、アルコール、など)が挙げられる。溶媒は、一様であっても、非一様であってもよく、固体状、液体状、または気体状であってよい。
【0032】
そのようでないと示されない限り、「ターゲット分子(target molecule)」とは、分子シミュレーションの対象である主たる分子である。シミュレーションは、例えば互いに相互作用する2つ以上のたんぱく質のシミュレーションなど、2つ以上のターゲット分子を有することができる。
【0033】
そのようでないと示されない限り、「汎用的に適用可能な方法(universally‐applicable method)」とは、ポテンシャルの組における使用に限られず、分子のシミュレーションにおける使用に適した任意の方法である。
【0034】
(II.多体系(MULTI‐BODY SYSTEMS))
一実施の形態において、本発明の方法は、機械系の多体系(MBS)の実装に関して使用される(例えば、MBS分子シミュレーション;前記Rosenthalを参照)。MBSの基本的な抽象化は、ジョイントで接続された剛体の集まりの抽象化である。物体のうちのベースと呼ばれる1つが、その運動が直接地面に参照付けられる特別な地位を有する。系のグラフは、ループを含みうる。ループ切断アルゴリズムが、循環するグラフをツリーおよび切断の組に還元する。切断は、ジョイントまたは物体において生じうる。これにより、すべてのジョイントがツリー系に置かれる。ループ切断アルゴリズムによって切断された物体は、溶接ジョイントを課すことによって回復される。このジョイントそのものは、6つの距離の制約の組へと分解される。溶接ジョイントが、元の物体の2つの部分を再組み立てする。
【0035】
ツリーの重要な特性は、或る任意の物体から他の任意の物体への経路が一意である点にある。ツリー内の物体の数はnであり、通常は、ベース物体にラベル1が割り当てられる。これは、ベース物体から任意の葉物体(leaf body)へと到るあらゆる経路において、物体のラベルが減少することがないということを意味する。葉物体は、ただ1つの物体に接続された物体である。規則的なラベル付けを、葉物体(少なくとも1つ存在しなければならない)のうちの1つにラベルnを割り当てることによって達成できる。この物体がグラフから除かれるならば、n−1個の物体を有するツリーが残される。このツリーの葉物体のうちの1つにラベルn−1を割り当て、このプロセスを、すべての物体がラベル付けされるまで繰り返す。一般的な機械系のMBSの実装の詳細は、すでに説明されている(例えば、Recursive Mass Matrix Factorization and Inversion、JPL Publication 88‐11、1988におけるRodriguezおよびKreutzを参照)。分子系のMBSの実装の詳細、ならびに関連の表記法も、やはり説明されている(例えば、前記Rosenthalを参照)。
【0036】
(III.残差の計算)
典型的な実施の形態において、本発明の方法は、
【0037】
【数12】

の形式の運動方程式を有する多体系として表現された系(例えば、分子系)のシミュレーションに適用される。この方程式の右手側は残差ρであり、慣性力および力の場からのアクティブな力の寄与を含んでいる。残差のヤコビアンは、
【0038】
【数13】

である。本発明の方法は、アクティブな力の成分を表現している力の場からの残差への寄与を計算するために適用可能である。多体系は、原子間力の計算をトリガして、残差ベクトルの要素へと集めることができるデータ処理方法の集まりを具現化している。これらのデータ処理ステップは、特定の行列操作の点で高いレベルの表現を有することができるが、実際には、これらの操作の実際の実施は、典型的には、実行時間が問題の大きさと線形に比例するアルゴリズムのかたちである。それらは、いわゆるO(n)法であって、先行技術に教示されている(例えば、前記Rosenthalを参照)。しかしながら、本発明の一態様によれば、これらO(n)法を、ヤコビアンの形成ステップに適用することができる。
【0039】
例えば、残差は、演算子方程式
【0040】
【数14】

から形成される。
【0041】
Fは、典型的には、3n×1のベクトルである。各エントリは、好ましくは、所与の原子に作用する全原子間力の大域的なデカルト成分で構成される。行列演算子H、Φ、およびPは、Recursive Mass Matrix Factorization and Inversion、JPL Publication 88‐11、1988においてRodriguezおよびKreutzによって記載されている。力分布行列Pは、多体系のピボットにおいて原子間力から作用している多体空間荷重を生成する。したがって、
【0042】
【数15】

と書くことができ、ここでTは、典型的には6n×1のベクトルである。特定の原子に作用する所与の力が、当該原子が位置する物体のピボット点に作用する力およびトルクへと写像される。このように、行列Pの所与の行が、特定の物体に作用する空間荷重に対応する。所与の行は、当該特定の物体上に位置する原子に対応するエントリについてのみ、ゼロでないブロックを有する。分子系の多体定式化の多くにおいて、各物体は、典型的には、約3つの原子を含み、あるいは表現している。したがって、行列Pは大きくかつスパースであり、明示的に形成される必要はない(例えば、前記Rosenthalを参照)。むしろ、行列ベクトル積PFを計算するアルゴリズムを使用することができる。そのような計算の実効時間は、原子の数に線形である(前記Rosenthal)。
【0043】
多体の力学においては、さらに演算子の転置が有用な量であることが一般的である。この場合、演算子Pが、空間速度(直線および角)を、各物体ピボットから、当該物体に位置する原子位置へと伝播させる。この行列の典型的な用途は、分子系内の原子の微分空間変位の計算の目的のためにある。
【0044】
行列Φは、多体遷移演算子として知られている。この行列は、データ・ベクトルに作用し、ツリーのベース物体の下流の葉物体からのデータ・ベクトルの要素のシフトおよび累積の効果を有している。例えば、積ΦTが、反応荷重の6n×1のベクトルRを生成する。所与の物体について、反応荷重の要素は、そのジョイントを中心とする当該物体の運動によって運動力学的に影響される物体に作用するそれらの力の物体内ピボットについての結果としての力およびトルクを表わしている。ΦTの計算は、物体の数について線形である。
【0045】
Φを理解するために、最初に行列εφを導入することが有用である。この(ブロック)行列は、スパースであってスーパー・ダイアゴナルである。i番目の行において、物体iの子に対応する列のみが満たされている。図1に示した物体の図について、行列εφが図2に示されている。εφのゼロでない各要素は、6×6の行列である。要素φが、空間荷重を子のピボットからその親のピボットへとシフトする。転置された要素は、空間速度を親ピボットから子ピボットへとシフトする。
【0046】
今や、Φとεφとの間の関係を、
【0047】
【数16】

と記述することができる。
【0048】
この方程式の意味は、図1に示した系に関して、各ピボットに加えられる空間荷重を考えて各ピボットにおける空間反応荷重の計算を説明する以下の説明を参照することによって、よりよく理解できるであろう。反応荷重は、以下のO(n)スイープ(コードのシークエンス)によって計算することができる。
【0049】
【数17】

これらの方程式は、各ピボットにおける反応を累積させる。スイープは、葉物体から出発して、ベース物体へとツリーをさかのぼる。各物体が、自身の反応を自身の親へとシフトさせ、そこで兄弟からの寄与に加算される。これらの方程式が、先に計算された量への後方参照を行なうことに注意すべきである。例えば、R(6)はR(7)を参照し、R(7)がR(8)およびR(12)を参照し、以下同様である。しかしながら、このアルゴリズムが提示のとおりに構成される場合、不満足な参照に遭遇することはない。演算子方程式R=ΦTと上記手順との間の対応は、以下のとおり説明できる。すなわち、この手順が、R=εφR+Tを示しており、ここから(I−εφ)R=T、またはR=(I−εφ‐1T=ΦTである。他方の方向(方程式からコード・シークエンス)に進むためには、これらのステップを単純に反転できる。
【0050】
【数18】

Φの要素を露出したいと望む場合には、例えばRの計算において繰り返しの置換を実行することによって後方参照を除き、次いでΦの行列要素を特定することができる。あるいは、アルゴリズム的な代替案を使用することも可能である。(I−εφ)Φ=Iであるため、Φ=εφΦ+Iが得られ、この方程式は、R=εφR+Tと同じ構造を有している。Φの列に同じアルゴリズムを、最後の列から出発して最初へと後ろ向きに作業して適用できる。しかしながら、明らかであろうが、典型的には、演算子の作用のみが必要とされるため、Φの要素が必要になる状況が存在しない。したがって、Φ(密な上三角行列)による乗算を示すすべてのアルゴリズムが、スパースなスーパー・ダイアゴナル行列εφに関して進行できる。残差の計算を終えるため、行列ベクトル積HRが、ベクトルRの要素をジョイントの自由に投影する。行列Hは、ブロック対角である。各ブロックは、特定のジョイントについてのジョイント・マップで満たされている。ピン・ジョイントについてのマップは、1×6のベクトル[λ 0]であり、単位ベクトルλがピンの幾何学的性質を指定している。行列ベクトル積HRは、非再帰的なドット積のシークエンスを代表するため、線形なコストで容易に計算される。演算子Hは、以下の形状を有しており、ここでnは物体の数であり、nは一般化速度の数である。
【0051】
【数19】

以下の形状を有する対応する演算子
【0052】
【数20】

が存在し、ここでnは一般化座標の数である。
【0053】
【数21】

前記に照らし、残差の計算を力の場によって計算された原子間力の要素へと適用されるO(n)法のシークエンスとして見ることができることを、理解できるであろう。これらは、例えば、真空の項、溶媒の項(極性または非極性)、および速度関連の項を含む。これらの項目のいくつかは、平方的な計算時間を必要とする。例えば、多くの実装例において、静電およびGBSA溶媒モデルは、一般に、計算時間の大部分の力の計算に消費する。したがって、残差コストは、原子の数について平方的である。これは、残差のヤコビアンが、最良でも平方的なコストであり、おそらくはより悪いことを意味する。
【0054】
ρ=HΦPFを考えると、
【0055】
【数22】


【0056】
【数23】

と表現することができる。
【0057】
原子間力ベクトルFは、第1および第2項の両者に現れる。しかしながら、第2項は、力ベクトルの解析的形態についての知識を必要とせず、力ベクトルの数値のみを必要とする。したがって、この項は、この項の計算の際に新しい力の評価は不要であるため、元のコストがO(n)である項の微分を呈する。したがって、この項がヤコビアンにおいて平方的なコストのみを引き起こしうるということを実証できる。これは、例えばBichofら、1994、(「Automatic differentiation:obtaining fast and reliable derivatives−fast」Proc. SIAM Symposium on Control Problems in Industry Argonne、Preprint MCS−P484−1194)に記載のとおり、残差をフォワード・モードの微分を使用し、力ベクトルを既知の定数として取り扱って微分でき、これによりコストが(コール当たりの)元のプログラムのコストの定数倍によって拘束されるプログラムがもたらされることに注目することによって理解できる。定数は、プログラム中に現れる固有の関数の性質によって決まる。多体系は、算術的な操作に加え、三角法のただ1つの変関数のみを含んでいる。すなわち、一般的に、定数は、典型的には、元のプログラムのコストの1〜2倍のオーダ、またはそれ以下であり、第2項は、ヤコビアン全体について最大でも平方的なコストで容易に計算できる。
【0058】
【数24】

を含んでいるヤコビアンの第1項の計算は、以下で説明される。
【0059】
【数25】

本発明の一態様によれば、変位勾配を、O(n)多体演算子P、Φ、Hに関して表現できる。
【0060】
【数26】

とくに多体系の実施に適用可能な一実施の形態においては、これらの演算子が、平方的なコストで変位勾配を形成するために使用される。これらの演算子を使用しない場合、コストは立方的であろう。このアプローチは、変位勾配が明示的には必要とされず、デカルト・ヤコビアンによる行列積のみが必要とされるという事実を利用している。積は、
【0061】
【数27】

であるため、O(n)演算子に関して形成できる。
【0062】
これは、残差の計算に関してすでに説明したものと同じ演算子である。したがって、この方法は、デカルト・ヤコビアンが立方的なコストで計算可能ならば、内部座標(例えば、ねじり)ヤコビアンを、列について線形なコストで、すなわち平方的な全体コストでもたらす。
【0063】
上記関係を組み合わせて、
【0064】
【数28】

をもたらすことができ、ここで行列
【0065】
【数29】

である。行列Wが多体系において形成される場合、この行列の一般要素Wijは、空間における多体系の各物体の配置を反映する。この要素が、物体jのピボットの空間的変位ゆえに物体iに作用する空間荷重の微分の計算に使用される。Wの要素の計算は、デカルト・ヘシアンへの接続がなされる所であり、方程式
【0066】
【数30】

を有している。
【0067】
このアプローチのいくつかの特徴は、注目を有している。すなわち、(i)この方程式がヘシアン要素を使用する。それは、物体jの原子リストに対する物体iの原子リストによって案内される。また、(ii)各物体が、典型的にはおおまかに3つの原子で構成されるため、これは単純な計算である。(iii)各原子が、ただ1つの物体に属するため、デカルト・ヘシアンの各要素は、ただ1つの要素Wijにのみ寄与する。さらに、従来技術の方法(例えば、Gibrat J. F.(1997)「Fast calculation of the first and second derivatives of the conformational energy of oligomeric proteins with respect to a set of variables mixing dihedral angles and rigid‐body variables」、J. Chem Phys 94:1234‐1256)と異なり、上述の方法は、ヘシアン要素を直接使用する。したがって、ポテンシャルの組について制約はない。Gibrat(前記)による論文中の対応する量Lijは、物体jの原子に対する物体iの原子から直接的に構成されるが、一般には、Lij≠Wijである。本明細書に記載するようなヘシアン要素の使用は、より単純な再帰シークエンスにつながる。
【0068】
高速演算子の実装においては、全体の計算が、2つの構成されたダウンループ(down‐loop)を呈する。項
【0069】
【数31】

が、以下の再帰的なアルゴリズムによって計算される。まず、Y=ΦW、Z=HYとする。これは、
【0070】
【数32】

をもたらす。
【0071】
すでに述べたとおり、行列εφはサブダイアゴナルであり、要素φ(k)で占められている。したがって、「積層された」方程式を見つけることができる。
【0072】
【数33】

これらの方程式において、Wは最初の(論理的な)行を表わしており、WはWの最後の(論理的な)行を表わしている。これは、6×6nのブロックである。Wの各行は、先の行に関して計算される。Hがブロック・ダイアゴナルな構造を有しているため、Z=HYの計算は瑣末である。
【0073】
今や、第2の再帰を、以下のとおり表現できる。
【0074】
【数34】

演算子HΦが、Zの行に作用していると見ることができる。これは、Zを行のオーダで生成した第1の再帰と好都合に接合する。第2の再帰は、目的の行列が対称であるため、対角線までの所与の列の要素の計算のみを必要とする。
【0075】
以上に照らし、原子間力ヤコビアンを収縮させてWを形成できることを、理解できるであろう。全体アルゴリズムは、力のヤコビアンへの行(または、列アクセス)のみを必要とし、同時に行列全体にアクセスする必要はない。さらに、所望であれば第1および第2の再帰を散布できることも、理解できるであろう。このようにして、YまたはZの要素を、それらが計算されるや否や解放することができる。したがって、1つのステップでYまたはZのすべてを形成する必要はない。
【0076】
(V.メモリに関して効率的な計算)
前記の方法は、Wの対称性をさらに充分に利用することによって、計算を実行するために必要となるメモリの量を最小化するやり方で、実装することができる。メモリの必要性を少なくするための1つのアプローチは、デカルト・ヘシアンを大きなブロックで生成し、次いで各ブロックを処理する「スライス化」技法を使用することにある。このような方法は、メモリの使用を少なくするが実行時間が苦しくなりうるという意味で、実行可能であろう。以下で説明する方法は、実行速度を犠牲にすることなくメモリの必要性を大きく減らすことができる処理の仕組みをもたらすように設計されている。
【0077】
一実施の形態において、この方法は、ねじりヤコビアンを
【0078】
【数35】

と表現することにもとづいている。
【0079】
新しい行列Ωは、加えられた荷重Tに対して反応Rが有している関係と同じ関係を、Wに対して有している。行列Wは、多体系の物体についての空間へシアンである、空間に浮遊するが、ジョイントによって接続されていない物体について関連性があるのは、ヘシアンである。行列Ωの要素が、凍結体の「組」を結び付ける。各ピボットにおいて、凍結体は、ピボットの外のすべての物体であって剛体として一体に運動する物体で構成されている。
【0080】
各凍結体のピボットにおける微分空間変位が、他のすべての凍結体のピボットにおける微分空間荷重を生じさせる。変位させられた物体を「ソース」物体として考え、荷重を受けている物体を「受け手」と考えると、各ソース物体が各受け手物体と相互作用することを理解できるであろう。しかしながら、ソース物体における空間的移動は、凍結体のピボットを起源とし、Φの作用を通じてソース系内の他の物体に伝播する。各ソース物体が、結合行列Wを通じて受け手系の各物体上に微分空間荷重を生む。この空間荷重は、WΦによって与えられる。受け手系の空間荷重は、(WΦ)に作用する演算子Φの作用によって受け手ピボットへと総計される。
【0081】
高速演算子の実装において、Ωは以下のとおり効率的に計算できる。
【0082】
【数36】

最後の方程式が、Ωの計算のための基礎をもたらしている。εφがスーパー・ダイアゴナルである(主たる対角線の上方のみがゼロでない)ため、項εφΩは、Ωの低い番号の行をより高い番号の行に結合させているが、その逆は真ではない。すなわち、所与の列において、要素は、Ωがεφで前もって乗算されるとき、列を上方へ移動する。同様に、項Ωεφは、低い番号の列をより高い番号の列に結合させるだけである。要素は、所与の行を横切って左方に移動する。第3の項は、初期の行および初期の列の両者を、より高い行およびより高い列に結合させているが、結合は、他の方向においては生じない。要素は、上、左、または上および左へと移動する。正味の結果は、ツリー系が規則的にラベル付けされている限り、Ωが常に、逆の列のオーダで計算されるというものである。
【0083】
望ましいラベル付けは、εφの帯域幅を最小にするラベル付けである。εφの帯域幅は、行列の「リーチ」を制限し、Ωの計算において後方への参照がどの程度まで「後ろ」に延びることができるのかを決定する。
【0084】
一例として、上記アルゴリズムを、以下の方程式を計算することによって図1に示した系の部分集合に適用できる。
【0085】
【数37】

最初の2つの方程式は、結合行列Wを通じての物体の直接的寄与のみを取り上げている。(12、10)の要素が、凍結体10の空間変位による凍結体12への空間荷重を計算する。凍結体10は、実際の物体10および11で構成されている。10のピボットにおける変位が、φk*(11)を通じて11に伝播する。この変位が、結合要素Ω(12、11)を通じて12への空間荷重を生む。(12、7)の要素は、さらにわずかに複雑である。凍結体7は、物体7ならびに凍結体8および12で構成される。これらは、物体7の子に相当する凍結体である。物体7のピボットにおける変位が、その子へと伝播し、Ωのすでに計算された要素に結合し、物体12のピボットへの荷重を生成する。
【0086】
再帰なしで、子の凍結体を構成している物体の集まり全体にわたって計算が必要であろう。これは、計算が進むにつれて成長傾向のリストとなるであろう。再帰ありでは、子の凍結体のみを訪れるだけでよい。さらに、各物体が実際には少数の子しか有していない(通常は2つまたは3つであるが、より多い場合もある)ため、要素当たりのコストは比較的小さい。
【0087】
以下で説明され、図3A〜3Fに示されるアプローチは、2つの凍結体間の相互作用の計算を示している。説明されている操作は、実際には、前記方程式の計算の手順において「自動的」に実行されるが、これらの方法のよりよい理解および実施を可能にするために示されている。検討対象の物体およびそれらの子の追跡を容易にするため、下記の表1のような表が作成される。
【0088】
【化1】

図3Aに目を向けると、この図は、凍結体312と凍結体314との間の相互作用310を示している。この例a≧bにおいて、凍結体312(「受け手物体」)は、物体a、その子k、およびaの1つの孫を含んでおり、凍結体314(「ソース物体」)は、物体b、その子r、およびbの2つの孫を含んでいる。相互作用310は、任意の計算実現可能なオーダにて実行される図3B〜3Dに示すステップによる分解によって決定できる。例えば、最初に、2つの個々の物体aおよびbの間の直接項316が、図3Bに示すとおり決定される。次いで、図3Cに示すとおり、b322の凍結した子と相互作用する凍結体a320によって生成された項318(Ωεφから得られる)が、加算される。必要となる最後の相互作用(324)は、図3Dに示すとおり、物体b326とaの凍結した子であるk(328)との間の相互作用である。この項は、好ましくは、物体bが単独では凍結体ではないため、間接的に計算される。一実施の形態においては、aの凍結した子に対する物体bの相互作用は、減算によって計算される。すなわち、最初に、図3Eに示されるとおり、凍結体b314とaの凍結した子328との間の相互作用330が計算され、εφΩから得られる項を生じさせる。次いで、図3Fに示すとおり、aの凍結した子とbの凍結した子との間の相互作用322(項εφΩεφ)が、減算される。これによって、図3Dに示すとおりaの凍結した子に対するbの相互作用がもたらされる。
【0089】
一例として、前記操作を、図1に示した多体系の一部分の解析へと適用することができる。第1に、両方の物体が子を有している任意の要素が一般的な場合である。そのような要素の例は、Ω(8、6)である。
【0090】
【化2】

【0091】
【数38】

対角要素は、非対角の要素と同じ方法によって処理される。例は、Ω(5、5)について与えられる。
【0092】
【化3】

【0093】
【数39】

当然ながら、行列の対称性ゆえ、Ω(5、6)=Ω(6、5)であることを理解すべきである。要約すると、各要素が、式
【0094】
【数40】

を使用して計算される。
【0095】
表の構成によって案内され、行列を逆のオーダで計算できる。各ステップにおいて、Wの特定の要素がアクセスされる。これが、当該Wの要素へのアクセスが必要となる唯一の点である。したがって、好ましいことに、Wが、要素ごとのアクセスを提供する方法によって計算される。Wのいかなる要素をも保存する必要がない。Wはデカルト・ヘシアンから構成されるため、同様の検討がデカルト・ヘシアンにも当てはまる。
【0096】
状況は、行列Ωについては少し異なっている。要素Ωb(i)、b(j)が計算されるや否や、ねじりヤコビアンの(i、j)要素を生成できる。
【0097】
【数41】

Ωのこの要素のために使用される保存場所が、好ましくは、当該アルゴリズムにおいて後にそれへの後方参照が発生しないことが明らかになるまでは自動的には解放されないことに、注意すべきである。これは、可能な最大の参照を拘束しているεφの既知の帯域幅から判断できる。例えば、図1の多体系においては、物体7が物体12についての親である。これは、Ωの5つの列を保存すれば充分であることを意味している。同様に、(7、2)要素は、要素(7、3)、(7、4)、(8、2)、(12、2)、(8、3)、(8、4)、(12、3)、および(12、4)を参照する。これらの要素はすべて、(7、2)からの5列の帯の中に位置している。実際に、再計算を回避するためには、一般に、少数の列を保存すれば充分である。
【0098】
(VII.コンピュータ・システム)
上記の計算を実行するため、コンピュータ・システムを、少なくとも1つのプロセッサと、プロセッサに前記操作を実行するよう指示するためのコンピュータ・コードを保持するための関連のメモリ・サブシステムとを備えて使用できる。図4が、プロセッサ401と、メモリ・サブシステム402と、入力/出力装置(キーボード、マウス、ディスプレイ、など)などの周辺機器403と、おそらくは計算を補助するためのコプロセッサ404と、ネットワークインターフェイス装置405とを、すべてバス400で相互接続して有しているそのようなコンピュータ・システムの基本的なアーキテクチャを示している。メモリ・サブシステムは、アクセス待ちの時間が長くなる順番で、キャッシュメモリ、主メモリ、およびハードディスク・ドライブなどの恒久的保存メモリを、最適に備えている。計算の激しさの程度を考慮し、コンピュータ・システムが、計算を並列に実行するために複数の関連のメモリ・サブシステムとともに複数のプロセッサを備えてもよく、あるいは種々のコンピュータ要素を図4によって示されるような従来からのコンピュータ・アーキテクチャにてバスで接続して有するのではなく、コンピュータ・システムが、ネットワークによって互いに接続される複数のプロセッサおよび複数のメモリ・サブシステムによって形成されてもよいことを、理解すべきである。
【0099】
以下の例は、本発明を説明するためのものであるが、いかなるかたちでも本発明を限定するものではない。
【0100】
(実施例1)
(従来の方法および本発明の方法の計算速度の比較)
動的残差ρが、以下のとおり原子間力Fから計算される。
【0101】
【数42】

ρの微分を、混合デカルト‐ねじり導関数行列
【0102】
【数43】

を使用する
【0103】
【数44】

を使用することによって、従来の方法を用いて得ることができる。
【0104】
しかしながら、本発明の方法を用いると、今や動的残差の微分を
【0105】
【数45】

として計算できる。
【0106】
本明細書に詳細を説明した方法を、以下のように従来のからのアプローチに組み合わせた。便宜上、原子間力を2つの成分に、それらの導関数が2つの別個の項
【0107】
【数46】

で計算されるような方法で分割した。
【0108】
【数47】

したがって、ρの微分は、
【0109】
【数48】

として記載され、第1が本発明の実施の形態によるデカルト・ヘシアンであり、第2が既に使用されている混合デカルト‐ねじりヘシアンである。
【0110】
(基本アルゴリズム)
以下の表現
【0111】
【数49】

を、本明細書に記載の方法に従って計算し、既存の方法によって計算された
【0112】
【数50】

の残りを加えた。
【0113】
これは、
【0114】
【数51】

と書き換えられ、
1.「物体」ヘシアン
【0115】
【数52】

の計算、および
2.以下の並びの演算子を使用するρ’の計算
【0116】
【数53】

を可能にした。
【0117】
(省メモリのアルゴリズム)
省メモリのアルゴリズムは、O(N)中間メモリのみを保存する。動的残差q‐導関数の表現を、以下のとおり書くことができる。
【0118】
【数54】

行列WおよびΩを、効率的な要素ごとの方法で計算できる。すなわち、
子および親のインデックス間の差mを最小にするため物体を並べ直し、
行列Ωのm個の列のためにメモリを予約し、
【0119】
【数55】

ここで、
【0120】
【数56】

上記において、アインシュタインの総和規約が使用される。行列Wの要素が、必要に応じ
【0121】
【数57】

から計算される。
【0122】
(実施例2)
(ヤコビ行列の計算)
ヤコビ行列が、4つのブロックで構成される。
【0123】
【数58】

左下のブロック以外のすべては、計算が単純である。本明細書に記載の方法によれば、左下のブロックを、質量行列Mおよび動的残差ρから計算できる。
【0124】
【数59】

最後の項は、本発明において説明したとおり、動的残差の一般化座標に関する導関数を含んでいる。
【0125】
(実施例3)
(剛性行列の計算)
系が、n個の一般化座標およびn個の一般化速度を有するとする。制約または4元ジョイント(quaternion joint)が存在しないならば、n=nである。この場合、一般化座標の独立組に関する最大階数(非特異)の剛性行列を、直接計算することができる。
【0126】
【数60】

これは、n×nの行列である。
【0127】
一方、4元および/または制約が存在する場合には、n>nである。この場合、剛性行列を2つのステップで計算することができ、最初のステップはヤコビアンの計算の部分集合である。
1.(従属)一般化座標の完全な組に関する特異剛性行列が、動的残差ρの導関数として計算される。
【0128】
【数61】

これは、n×nの行列である。
2.次いで、非特異剛性行列が、従属一般化座標を除くことによって、この行列から計算される。これは、いくつかある標準的なアプローチのいずれかを使用して行なうことができる。例えば、制約行列の特異値分解を使用することができる。Gが制約行列を表わしている場合、GZ=0を解くことによってGのヌル空間Zを計算する。次いで、最大階数の剛性行列を、
【0129】
【数62】

として計算できる。
剛性行列の用途の1つは、この技術分野においてよく知られているとおり、正規モードの計算である。
【0130】
(結果)
以上の実装例を、既存の方法および本発明の方法を使用するリゾチーム(+/−オメガ)およびトリプシン(+オメガ)の
【0131】
【数63】

の計算に使用した。結果は、下記の表1にまとめられている。
【0132】
【化4】

速度(PA)は、前記従来の方法を使用した計算速度(単位は秒)であり、速度(MI)は、本発明の方法を使用した計算速度(単位は秒)である。本発明の方法が、これまで使用されている方法に比べて
【0133】
【数64】

の計算速度を大きく向上させることができることを、理解できるであろう。
【0134】
表2は、基本アルゴリズム、および高速ヤコビアン・アルゴリズムの省メモリ(LM)実装からの結果を示している。
【0135】
【化5】

(拡大可能性)
デカルト・ヘシアン行列
【0136】
【数65】

は大きくなる可能性があり、最終的に32ビットのアドレス空間を超える可能性もある。この問題を解決するため、行列を部分に構成できる。このアルゴリズムは、ヘシアン行列の行について動作させ、Wを行ごとに構成し、ρ’の対応する列を構成することによって拡大可能である。
【0137】
以上、本発明の実施の形態を完全に説明したが、さまざまな変更、代案、および均等物が可能でありかつ利用可能であることは、明らかである。したがって、上記説明は、添付の特許請求の範囲の計量および境界によって定められる本発明の技術的範囲を限定するものとして理解すべきではない。
【図面の簡単な説明】
【0138】
【図1】多体系のツリー構造を示している。
【図2】図1に示した多体系についての行列εφである。
【図3A】2つの凍結体間の相互作用を象徴的に示している。
【図3B】図3Aの2つの凍結体間の相互作用の計算におけるステップを示している。
【図3C】図3Aの2つの凍結体間の相互作用の計算におけるステップを示している。
【図3D】図3Aの2つの凍結体間の相互作用の計算におけるステップを示している。
【図3E】図3Aの2つの凍結体間の相互作用の計算におけるステップを示している。
【図3F】図3Aの2つの凍結体間の相互作用の計算におけるステップを示している。
【図4】本発明の方法の実行に有用であるコンピュータ・システムの図である。

【特許請求の範囲】
【請求項1】
広く適用可能な多体シミュレーションを実行する方法であって、
動的残差の導関数(DDR)をオーダ(N)で一般化座標に関して計算することと、
該多体シミュレーションにおいて該導関数を使用することと
を包含する、方法。
【請求項2】
前記計算することが、
(i)前記DDRを、多体演算子とその転置とを含む第1項と、1つ以上の追加の項とに分解することと、
(ii)高速演算子のインプリメンテーションを用いて該第1項を評価することと
を包含する、請求項1に記載の方法。
【請求項3】
前記DDRが、
【数1】

の形式をとる、請求項2に記載の方法。
【請求項4】
前記評価することが、物体ヘシアン(W)を特定することと、前記第1項をオーダ(N)の表現に再定式化することとを包含する、請求項2に記載の方法。
【請求項5】
前記評価することが、前記物体ヘシアンの要素を局所的に決定することを包含する、請求項4に記載の方法。
【請求項6】
前記要素のそれぞれは1回だけ決定される、請求項5に記載の方法。
【請求項7】
前記評価することが、オメガ(Ω)についての表現を規定することを包含する、請求項2に記載の方法。
【請求項8】
前記Ωについての表現が、
【数2】

の形式をとる、請求項7に記載の方法。
【請求項9】
前記第1項が、剛性行列の計算において使用される、請求項2に記載の方法。
【請求項10】
前記第1項が、ヤコビ行列の計算において使用される、請求項2に記載の方法。
【請求項11】
前記多体シミュレーションが分子のシミュレーションである、請求項1に記載の方法。
【請求項12】
前記多体シミュレーションがコンピュータを使用して実行される、請求項1に記載の方法。
【請求項13】
前記一般化座標がねじり角座標である、請求項1に記載の方法。
【請求項14】
多体系によるシミュレーションを実行する方法であって、
【数3】

を評価することによって、ねじりヤコビ行列を計算することと、
該ねじりヤコビ行列を使用することによって、空間における該多体系の物体の特徴を決定することと
を包含する、方法。
【請求項15】
前記特徴が、前記物体の位置および速度を含む、請求項14に記載の方法。
【請求項16】
前記シミュレーションが分子のシミュレーションである、請求項14に記載の方法。
【請求項17】
前記使用することが、
【数4】

の形式を有するオメガ(Ω)についての表現を規定することを包含する、請求項14に記載の方法。
【請求項18】
多体系における物体の特徴を決定する方法であって、
【数5】

を評価することによって、剛性行列を計算することと、
該剛性行列を使用することによって、該特徴を決定することと
を包含する、方法。
【請求項19】
前記多体系が、分子のシミュレーションにおける1つ以上の分子を表わす、請求項18に記載の方法。
【請求項20】
前記特徴が、前記系の正規モードを含む、請求項18に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図3E】
image rotate

【図3F】
image rotate

【図4】
image rotate


【公表番号】特表2007−516508(P2007−516508A)
【公表日】平成19年6月21日(2007.6.21)
【国際特許分類】
【出願番号】特願2006−533660(P2006−533660)
【出願日】平成16年6月9日(2004.6.9)
【国際出願番号】PCT/US2004/018368
【国際公開番号】WO2004/111914
【国際公開日】平成16年12月23日(2004.12.23)
【出願人】(505454144)ルーカス ファーマシューティカルズ, インコーポレイテッド (3)
【Fターム(参考)】