説明

薬物動態シミュレーション装置

【課題】 ユーザの負担が少なく間違いが生じにくい薬物動態シミュレーション装置を提供する。
【解決手段】 配置手段2は、コンパートメントを入力し配置するためのものである。型入力手段4は、各コンパートメントの型を入力する。項決定手段6は、各コンパートメントの型に基づいて、当該コンパートメントに流入または流出する薬物の微分方程式に出現しうる項を決定する。係数入力領域表示手段8は、項決定手段6によって決定された項のそれぞれについて、係数および流入元コンパートメントまたは流出先コンパートメントを入力するための入力領域を表示する。係数入力手段10は、係数入力領域表示手段8によって表示された入力領域から係数を入力する。このように、コンパートメント型を選ぶことにより式が決定され、ユーザは係数を入力するだけでよく、誤りの少ない設定を行うことができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は薬物動態のシミュレーションを行う装置に関するものである。
【背景技術】
【0002】
医薬品の開発などにおいて、人体などに投与した薬物が目的とする部位に、どの程度の量がどれぐらいの時間で到達するかは薬効などを知る上で重要なことである。そこで、薬物を人体等に投与した場合の移動をシミュレーションすることが行われている。
【0003】
たとえば、図1aに示すようなモデルにおいて、薬物を静脈内に投与した後所定時間までの血漿中濃度の変化を知るには、以下のようなシミュレーション演算を行う。血液プール、肝臓、その他の臓器のそれぞれについて、以下のように薬物濃度の微分方程式を作成する。
【0004】
【数1】

【0005】
なお、ここで、Vは各コンパートメントの体積、Cは各コンパートメント中の薬物濃度、Qは血流速度、Kpは組織血液濃度比、添え字のBは血液プール、Hは肝臓、Tはその他の臓器を示し、fBは血液中非結合型分率、Clintは肝代謝固有クリアランスを表す。この微分方程式を解いて、血漿中濃度の時間的変化を知ることができる。
【0006】
また、微分方程式を解くのではなく、コンピュータプログラムによって、各変数に初期条件を入力して変分を算出し、順次、各時間における血漿中濃度を算出することも行われている。たとえば、SAAMII(商標)というプログラムが市販されており、その機能は以下のとおりである(非特許文献1および2参照)。たとえば、図1aに示すようなモデルにおいて、薬物を投与した後所定時間までの血漿中濃度の変化をシミュレートする場合について説明する。
【0007】
SAAMを起動し、入力画面において、図1bに示すモデルを描画入力する。次に、各矢印の属性として、薬物の移動を表わす式を入力する。たとえば、たとえば、血液プールから肝臓に向かう矢印には[k(2,1)]、QH/VBの値が入力され、血液プールからその他の臓器に向かう矢印には[k(3,1)]、QT/VBの値が入力されることになる。肝臓から血液プールに向かう矢印には[k(1,2)]、QH/KpH/VHの値が入力され、その他の臓器から血液プールに向かう矢印には[k(1,3)]、QT/KpT/VTの値が入力されることになる。肝臓から下方向に向かう矢印(消失矢印)には、fB・CLint/KpH/VHの値が入力されることになる。
【0008】
これらの入力が終了すると、SAAMIIは、別途入力された初期条件の下で、これらの矢印によって定義される微分方程式を数値積分し、血液中濃度の時間的変化をシミュレーションする。
【0009】
【非特許文献1】Clinical Pharmacokinetics 40: PP395-403, 2001
【0010】
【非特許文献2】ウエブサイト(http://deps.washington.edu/saam2/)
【発明の開示】
【発明が解決しようとする課題】
【0011】
しかしながら、上記のような従来のシミュレーション装置では、各矢印に対して、薬物の移動を表わす式をユーザが入力しなければならない。このため、ユーザは、各コンパートメントの特性を考慮しつつ、式の内容および係数を入力する必要がある。したがって、モデルが複雑になればなるほど、変数名の入力ミスや、式の内容に間違いが生じやすく、また、その間違いの発見も容易でない。
【0012】
この発明は上記のような問題点を解決して、ユーザの負担が少なく間違いが生じにくい薬物動態シミュレーション装置を提供することを目的とする。
【課題を解決するための手段】
【0013】
この発明の複数の独立した側面を以下に示す。
【0014】
(1)この発明に係る薬物動態をシミュレーションするシミュレーション装置は、コンパートメントを入力し配置する配置手段と、各コンパートメントの型を入力する型入力手段と、型入力手段より入力されたコンパートメントの型に応じて、当該コンパートメントに流入または流出する薬物の微分方程式に出現しうる項を決定する項決定手段と、項決定手段によって決定された項のそれぞれについて、係数および流入元コンパートメントまたは流出先コンパートメントを入力するための入力領域を表示する係数入力領域表示手段と、係数入力領域表示手段によって表示された入力領域から係数を入力する係数入力手段と、薬物の投与量を含むシミュレーション条件を入力する条件入力手段と、条件入力手段から入力されたシミュレーション条件および項決定手段によって決定された微分方程式の各項および係数入力手段から入力された係数に基づいて、薬物動態シミュレーションを実行する実行手段とを備えている。
【0015】
コンパートメント型に応じて、項が決定されるので、ユーザは各項に関する係数を入力すればよく、入力誤りが少ない。したがって、正確な薬物動態シミュレーションを実行することができる。
【0016】
(3)この発明に係る薬物動態シミュレーション装置は、項決定手段は、当該コンパートメントの表す生体機能値の変化あるいは変化速度を表す関数中に出現しうる項も決定することを特徴としている。
【0017】
したがって、生体機能値の変化あるいは変化速度ならびに生体機能値の変化に伴う薬物動態の変化もシミュレーションすることができる。
【0018】
(4)この発明に係る薬物動態シミュレーション装置は、型入力手段が、少なくとも組織型、血液型を含む型の中から、コンパートメントの型を選択するように構成されており、項決定手段は、前記型入力手段によって入力されたコンパートメントの型に応じて、微分方程式の各項の式を決定することを特徴としている。
【0019】
したがって、組織型、血液型に応じて微分方程式の項が決定され、ユーザは係数の入力に集中することができる。
【0020】
(5)この発明に係る薬物動態シミュレーション装置は、係数入力手段が、型入力手段によって入力されたコンパートメントの型が組織型である場合には、組織結合を考慮するための係数を入力するための入力領域を表示することを特徴としている。
【0021】
したがって、組織結合を考慮したシミュレーションのための係数設定を間違いなく行うことができる。
【0022】
(6)この発明に係る薬物動態シミュレーション装置は、型入力手段が、コンパートメントの型として、さらに均質型も選択可能であるように構成されていることを特徴としている。
【0023】
したがって、古典的なコンパートメントモデルに対しても、係数の入力を行うことにより、容易にシミュレーションを実行することができる。
【0024】
(7)この発明に係る薬物動態シミュレーション装置は、型入力手段が、コンパートメントの型として、さらに薬効型も選択可能であるように構成されていることを特徴としている。
【0025】
したがって、薬効を他のコンパートメントと同じように扱って設定し、容易にシミュレーションすることができる。
【0026】
(8)この発明に係る薬物動態シミュレーション装置は、型入力手段が、コンパートメントの型として、さらに固相型、液相型も選択可能であるように構成されていることを特徴としている。
【0027】
したがって、固体からの溶解などについても考慮したシミュレーションを行うことができる。また、固相型・液相型を他のコンパートメントと同じように扱って設定し、容易にシミュレーションすることができる。
【0028】
(9)この発明に係る薬物動態シミュレーション装置は、型入力手段が、コンパートメントの型として、さらに酵素型も選択可能であるように構成されていることを特徴としている。
【0029】
したがって、酵素活性も考慮したシミュレーションを行うことができる。また、酵素型を他のコンパートメントと同じように扱って設定し、容易にシミュレーションすることができる。
【0030】
(10)この発明に係る薬物動態シミュレーション装置は、項決定手段が、薬物の移動速度を表す微分方程式を血流、リニア、ノンリニアの3つの項に分けて決定し、係数入力領域表示手段は、それぞれの項について係数の入力領域を表示することを特徴としている。
【0031】
したがって、ユーザにとって、各項の意味を理解しやすく、入力間違いを生じにくい。
【0032】
(11)この発明に係る薬物動態シミュレーション装置は、血流、リニア、ノンリニアで表される3つの速度のうち少なくとも一つが、前記薬効型または前記酵素型のコンパートメントの値によって変化するように設定する変化要素設定手段を備えていることを特徴としている。
【0033】
したがって、生体機能変化を考慮したシミュレーションを容易に実現することができる。
【0034】
(12)この発明に係る薬物動態シミュレーション装置は、生成した複数のシミュレーションモデルを読み込む読み込み手段と、前記読み込んだ複数のシミュレーションモデルの相互関係を決定する手段とを更に備えている。
【0035】
したがって、複数のシミュレーションモデルの組み合わせによるシミュレーションを容易に実行することができる。
【0036】
(13)この発明に係る薬物動態シミュレーション装置は、各コンパートメントに流入または流出する薬物の微分方程式中の血流の項に着目して、流入量と流出量に整合性があるか否かを判定する判定手段をさらに設けたことを特徴としている。
【0037】
したがって、血流の流入と流出についての整合性をチェックすることができる。
【0038】
(14)この発明に係る薬物動態シミュレーション装置は、配置手段が、
補助領域を表示する補助領域表示手段と、ユーザからの入力指示を受けて、前記補助領域を複数の要素領域に区分する区分手段と、ユーザからの入力指示を受けて、指定された要素領域中に、図形数を表示する図形数表示手段と、図形数の入力されている要素領域の補助領域内における位置に対応する描画領域の位置に、所定の図形を、当該図形数の個数表示する図形表示手段とを備えたことを特徴としている。
【0039】
したがって、補助領域に数値を入力するだけで、対応する描画領域の位置に図形を描画することができ、操作が容易である。
【0040】
(15)この発明に係る薬物動態シミュレーション装置は、図形表示手段が、要素領域に入力された図形数に応じ、図形数が大きい場合には図形を小さく、図形数が小さい場合には図形を大きく表示することを特徴としている。
【0041】
したがって、全体のバランスを崩すことなく、対応する描画領域に描画する図形の数を指定することができる。
【0042】
この発明において、「コンパートメント」とは、シミュレーションを行うための要素をいい、実施形態においては、図5の各箱B1からB10がこれに対応する。
【0043】
「配置手段」は、実施形態においては、図4aのステップSaがこれに対応する。
【0044】
「型入力手段」は、実施形態においては、図4bのステップSb2がこれに対応する。
【0045】
「項決定手段」は、実施形態においては、図4bのステップSb3がこれに対応する。
【0046】
「係数入力領域表示手段」は、実施形態においては、図4bのステップSb4がこれに対応する。
【0047】
「係数入力手段」は、実施形態においては、図4bのステップSb5がこれに対応する。
【0048】
「条件入力手段」は、実施形態においては、図4aのステップScがこれに対応する。
【0049】
「実行手段」は、実施形態においては、図4aのステップSeがこれに対応する。
【0050】
「生体機能値」とは、生体が持つ酵素活性を表す数値、あるいはその活性値を標準値で規格化した値、薬物によって引き起こされる生体の反応の強度あるいは程度などを表す数値等である。
【0051】
「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【発明を実施するための形態】
【0052】
1.機能ブロック図
図2に、この発明の一実施形態による薬物動態シミュレーション装置の機能ブロック図を示す。配置手段2は、コンパートメントを入力し配置するためのものである。型入力手段4は、各コンパートメントの型を入力する。項決定手段6は、各コンパートメントの型に基づいて、当該コンパートメントに流入または流出する薬物の微分方程式に出現しうる項を決定する。係数入力領域表示手段8は、項決定手段6によって決定された項のそれぞれについて、係数および流入元コンパートメントまたは流出先コンパートメントを入力するための入力領域を表示する。係数入力手段10は、係数入力領域表示手段8によって表示された入力領域から係数を入力する。条件入力手段12は、薬物の投与量を含むシミュレーション条件を入力するためのものである。実行手段13は、条件入力手段12から入力されたシミュレーション条件および項決定手段6によって決定された微分方程式の各項および係数入力手段10から入力された係数に基づいて、薬物動態シミュレーションを実行する。
【0053】
2.ハードウエア構成
図3に、一実施形態による薬物動態シミュレーション装置のハードウエア構成を示す。CPU20には、ディスプレイ14、キーボード16、マウス18、メモリ22、ハードディスク24が接続されている。ハードディスク24には、オペレーティングシステム(OS)26、薬物動態シミュレーションプログラム28が記録されている。薬物動態シミュレーションプログラム28は、オペレーティングシステム26と協働してその機能を発揮する。ディスプレイ14は、コンパートメントや入力領域などを表示する。キーボード16、マウス18は、ユーザの操作によって、入力を行うためのものである。メモリ22は、CPU20のワークエリアとして機能する。
【0054】
3.薬物動態シミュレーションプログラム
図4aに、薬物動態シミュレーションプログラム28のフローチャートを示す。ここでは、図5に示すようなモデルについて薬物動態のシミュレーションを行う場合を例として説明を行う。
【0055】
(1)ステップSa
CPU20は、まず、コンパートメントの配置処理(ステップSa)を実行する。コンパートメントの配置処理において、CPU20は、ディスプレイ14に、図6に示すような画面を表示する。画面には、補助領域8と描画領域10が設けられている。ユーザは、キーボード16やマウス18を操作して、補助領域8を利用して、描画領域10にコンパートメントを配置する。
【0056】
なお、コンパートメントの配置処理については、後で、詳しく説明を行う。ここでは、図7に示すように、コンパートメントE1〜E10の配置が終了したものとして説明を進める。なお、コンパートメントE1〜E10は、図5のコンパートメントB1〜B10に対応している。
【0057】
(2)ステップSb
(i)コンパートメントE1
図7の画面において、ユーザが、マウス18によってコンパートメントE1をクリックすると、CPU20は、コンパートメントE1のための属性入力処理を実行する。コンパートメントE1の属性入力処理においては、CPU20は、図8に示すような属性入力の画面を表示する。図4bに、コンパートメントの属性入力の詳細を示す。
【0058】
図8の画面において、「Name」の欄は、コンパートメントE1の名前を入力する欄である。ここでは、ユーザは、キーボード16を用いて「肝臓」と入力する。このようにして入力された「Name」は、描画領域10に表示されるので、コンパートメントを区別するために有用である。「Volume」の欄は、コンパートメントの容積を入力する欄である。「Compound A」「Compound B」「Compound C」「Compound D」は、薬物の種類を選択する領域である。この実施形態では、ラジオボタンによって、選択できるように構成されている。上記のようにして、一般的な属性の入力が終了する(図4bのステップSb1)。
【0059】
「Compartment type」の欄は、コンパートメントE1の型を入力する欄である。マウス18によりプルダウンボタンを押すことによって、「Homogeneous Organ」「Well-Stirred Organ」「Blood」「Solid Phase」「Solution Phase」「Enzyme」「Dynamics」の7つの型から選択できるようになっている(ステップSb2)。CPU20は、選択された型により、コンパートメントE1から流出する薬剤の微分方程式に表われる項の内容を決定する(ステップSb3)。とともに、これに応じて、図8の「Name」の欄より下の欄の内容を変えて表示する(ステップSb4)。
【0060】
ここでは、「肝臓」は臓器であるから、「Well-Stirred Organ」を選択する。これにより、CPU20は、「Tissue Binding」「Blood Flow」「Liner Clearance」「Non Liner Clearance」の欄を表示する。さらに、「Well-Stirred Organ」に対応して、微分方程式の血流の項、リニアクリアランスの項、ノンリニアクリアランスの項の式を決定する。各項の式の決定は、「Homogeneous Organ」「Well-Stirred Organ」「Blood」「Solid Phase」「Solution Phase」「Enzyme」「Dynamics」のそれぞれに対応づけて、予め定められている。
【0061】
「Tissue Binding」の欄は、薬物がどの程度組織と結合するかを示す組織結合情報を入力するための欄である。ここで設定された数値をもとに、各コンパートメントの濃度に対応した非結合型分率fTを逐次計算して、以下の計算に用いる。
【0062】
またfTIは阻害する化合物のfTを同様に逐次計算したものである。
【0063】
「Blood Flow」「Liner Clearance」「Non Liner Clearance」は、微分方程式に表われる項を3つに分類して、入力するための欄である。「Blood Flow」は、血流による薬物の移動についての項に関しての入力を行う欄である。「Flow to」は、コンパートメントE1からの血流が、いずれのコンパートメントに入るかを指定するための欄である。ユーザが、マウス18によってこの欄のプルダウンボタンをダブルクリックすると、CPU20は、他のコンパートメントの「Name」を一覧にて表示する。ユーザは、マウス18によって、これらの中から流出先のコンパートメントを選択する。ここでは後で「rapid」の名前を付すコンパートメントE4を選択する。
【0064】
「Flow Rate」の欄は、微分方程式中の血流に関する項についての係数を入力するための欄である。CPU20は、「Compartment type」として「Well-Stirred Organ」が選択された段階で、血流に関する項の式として「dx/dt=-Q・C/fB・fT」を決定する。「Flow Rate」の欄は、この「Q」の値を入力するための欄である。
【0065】
なお、複数の流出先がある場合には、それぞれについて上記の設定を行う。
【0066】
各Qを設定して図8を閉じると、CPU20は描画領域10に血流を表す矢印線を表示する。図8の「Reverse Arrow」の欄にチェックがない場合、矢印はコンパートメントの左から出て右から入る様に描画される。チェックを入れることにより、逆に描画される。
【0067】
「Liner Clearance」の欄は、薬物の移動のうち、線形的に表される項に関しての入力を行う欄である。「Clearance to」は、コンパートメントE1からの移動が、いずれのコンパートメントに入るかを指定するための欄である。指定しない場合は消失として処理される。
【0068】
「Clearance」の欄は、微分方程式中の線形的消失に関する項についての係数を入力するための欄である。CPU20は、「Compartment type」として「Well-Stirred Organ」が選択された段階で、線形的消失に関する項の式として「dx/dt=-CL・fT・C」を決定する。「Clearance」の欄は、この「CL」の値を入力するための欄である。
【0069】
なお、「Activity Change」の欄のプルダウンボタンをクリックすることにより、酵素の残存活性Eあるいは薬理活性Eを考慮することもできるようになっている。「Activity Change」の欄がクリックされると、CPU20は、上式に代えて、酵素の残存活性「E」あるいは薬理活性「E」を考慮した式「dx/dt=-CL・fT・C・E」を用いる。
【0070】
「Non Liner Clearance」の欄は、薬物の消失の内、非線形的に表わされる項に関しての入力を行う欄である。「Clearance to」は、コンパートメントE1からの消失が、いずれのコンパートメントに入るかを指定するための欄である。指定しなくともよい。
【0071】
「Vmax」「Km」の欄は、微分方程式中の非線形的消失に関する項についての係数を入力するための欄である。CPU20は、「Compartment type」として「Well-Stirred Organ」が選択された段階で、非線形的消失に関する項の式として「dx/dt=-Vmax・fT・C/(Km+fT・C)」を決定する。「Vmax」の欄は、この「Vmax」の値を入力するための欄である。「Km」の欄は、この「Km」の値を入力するための欄である。
【0072】
「Inhibition mode」の欄は、上式の変形を選択するための欄である。この欄のプルダウンボタンがクリックされると、CPU20は、プルダウメニューとして「(空欄)」、「Competitive」、「Non-Competitive」、「Un-Competitive」を表示する。「Inhibition by」の欄のプルダウンボタンがクリックされると、CPU20は、プルダウメニューとして他のコンパートメントの「name」を一覧にて表示する。ユーザーはマウス18によってこれらの中から阻害剤のコンパートメントを選択する。「Ki」の欄は微分方程式中の阻害に関する項についての係数を入力するための欄である。ユーザーが、「Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km・(1+Ci・fTI/Ki)+fT・C)」を用いる。「Non-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km+fT・C)/(1+Ci・fTI/Ki)」を用いる。「Un-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km+fT・C・(1+Ci・fTI/Ki))」を用いる。「Inhibition by」で指定したコンパートメントの濃度がこれらの式の「Ci」に対応し、「Ki」の欄はこれらの式の「Ki」の値を入力するための欄である。
「Activity Change」の欄のプルダウンボタンをクリックし、酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は上記の各式に、さらに酵素活性「E」あるいは薬理活性「E」を乗じた式を用いる。
【0073】
以上のようにして、係数の入力が行われる(ステップSb5)。
【0074】
ユーザがOKボタン50をクリックすると、CPU20は、図9のような画面表示を行う。つまり、CPU20は、図8の「Blood Flow」の「Flow to」の欄の入力に基づいて、「肝臓」から「rapid」に向かう矢印ALを描画する。なお、図9においては、各コンパートメントの「Name」の入力は既になされているものとしている。
【0075】
(ii)コンパートメントE2
コンパートメントE2も「Well-Stirred Organ」であり、上記と同じようにして属性が入力される。
【0076】
(iii)コンパートメントE4
コンパートメントE4は血液であるから、「Compartment type」の欄には、「Blood」を選択入力する。これにより、CPU20は、図10に示すような入力画面を表示する。
【0077】
血液においては組織結合はないので、CPU20は、「Tissue Binding」の欄を表示しない。「Blood Flow」「Liner Clearance」「Non Liner Clearance」の欄を表示する。CPU20は、「Blood Flow」の項の式を「dx/dt=-Q・C」として決定する。「Flow Rate」の欄には、この係数「Q」の値を入力する。
【0078】
「Liner Clearance」の項の式は、「dx/dt=-CL・fB・C」として決定される。「Clearance」の項には、係数「CL」の値を入力する。「Activity Change」の欄に酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は、上式に酵素の残存活性「E」あるいは薬理活性「E」を乗じた式を用いる。
【0079】
「Non Liner Clearance」の項の式は、「dx/dt=-Vmax・fB・C/(Km+fB・C)」として決定される。「Vmax」の欄は、この「Vmax」の値を入力するための欄である。「Km」の欄は、この「Km」の値を入力するための欄である。
【0080】
「Inhibition mode」の欄は、上式の変形を選択するための欄である。この欄のプルダウンボタンがクリックされると、CPU20は、プルダウンメニューとして「(空欄)」「Competitive」「Non-Competitive」「Un-Competitive」を表示する。「Inhibition by」の欄のプルダウンボタンがクリックされると、CPU20はプルダウンメニューとして他のコンパートメントの「name」を一覧にて表示する。ユーザはマウス18によってこれらの中から阻害剤のコンパートメントを選択する。「Ki」の欄は微分方程式中の阻害に関する項についての係数を入力するための欄である。ユーザが「Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fB・C/(Km・(1+Ci・fBI/Ki)+fB・C)」を用いる。「Non-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fB・C/(Km+fB・C)/(1+Ci・fBI/Ki)」を用いる。「Un-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fB・C/(Km+fB・C・(1+Ci・fBI/Ki))」を用いる。「Inhibition by」で指定したコンパートメントの能動がこれらの式の「Ci」に対応し、「Ki」の欄はこれらの式の「Ki」の値を入力するための欄である。
【0081】
「Activity Change」の欄のプルダウンボタンをクリックし、酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は上記の各式に、さらに活性酵素「E」あるいは薬理活性「E」を乗じた式を用いる。
【0082】
(iv)コンパートメントE8
コンパートメントE8は、古典的モデルにおけるコンパートメントである。したがって、「Compartment type」の欄には、「Homogeneous Organ」を選択入力する。これにより、CPU20は、図11に示すような入力画面を表示する。
【0083】
古典的コンパートメントモデルにおいては、CPU20は、「Blood Flow」「Liner Clearance」「Non Liner Clearance」の欄を表示する。CPU20は、「Blood Flow」の項の式を「dx/dt=-Q・fT・C」として決定する。「Flow Rate」の欄には、この係数「Q」の値を入力する。
【0084】
「Liner Clearance」の項の式は、「dx/dt=-CL・fT・C」として決定される。「Clearance」の項には、係数「CL」の値を入力する。「Activity Change」の欄に酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は、上式に酵素の残存活性「E」あるいは薬理活性「E」を乗じた式を用いる。
【0085】
「Non Liner Clearance」の項の式は、「dx/dt=-Vmax・fT・C/(Km+fT・C)」として決定される。「Vmax」の欄は、この「Vmax」の値を入力するための欄である。「Km」の欄は、この「Km」の値を入力するための欄である。
【0086】
「Inhibition mode」の欄は、上式の変形を選択するための欄である。この欄のプルダウンボタンがクリックされると、CPU20は、プルダウンメニューとして「(空欄)」「Competitive」「Non-Competitive」「Un-Competitive」を表示する。「Inhibition by」の欄のプルダウンボタンがクリックされると、CPU20はプルダウンメニューとして他のコンパートメントの「name」を一覧にて表示する。ユーザはマウス18によってこれらの中から阻害剤のコンパートメントを選択する。「Ki」の欄は微分方程式中の阻害に関する項についての係数を入力するための欄である。ユーザが「Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km・(1+Ci・fTI/Ki)+fT・C)」を用いる。「Non-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km+fT・C)/(1+Ci・fTI/Ki)」を用いる。「Un-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・fT・C/(Km+fT・C・(1+Ci・fTI/Ki))」を用いる。「Inhibition by」で指定したコンパートメントの能動がこれらの式の「Ci」に対応し、「Ki」の欄はこれらの式の「Ki」の値を入力するための欄である。
【0087】
「Activity Change」の欄のプルダウンボタンをクリックし、酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は上記の各式に、さらに活性酵素「E」あるいは薬理活性「E」を乗じた式を用いる。
【0088】
(v)コンパートメントE9
コンパートメントE9も「Homogeneous Organ」であり、上記と同じようにして属性が入力される。
【0089】
(vi)コンパートメントE3
コンパートメントE3は、人体の構成要素ではなく、薬効をシミュレーションするためのコンパートメントである。「Compartment type」の欄に、「Dynamics」が選択入力されると、CPU20は、図12に示すような入力画面を表示する。薬効の発現モデルを選択するためのボタン52が複数個配置されている。ボタン52が選択されると、CPU20は、発現モデルの式を決定し、その発現モデルに必要なパラメータの入力画面を表示する。
【0090】
「Emax」「EC50」「r」は、発現モデルの式における係数である。ユーザが指定して入力する。「C effect」は、薬効と直接関連するコンパートメントを選択入力する欄である。「C system」は、濃度をモニターできるコンパートメントで薬効と関係のあるコンパートメントを指定する欄である。通常、全身循環血等が指定されることになる。
【0091】
図13a〜図13f、図14a〜図14dに、各発現モデルを選択した場合の入力画面を示す。
【0092】
(vii)コンパートメントE5
コンパートメントE5は、人体の構成要素ではなく、固形の薬剤からの溶解をシミュレーションするためのコンパートメントである。「Compartment type」の欄に、「Solid phase」が選択入力されると、CPU20は、図15に示すような入力画面を表示する。
【0093】
「Dissolve to」は、溶解したものがいずれのコンパートメントに移動するかを指定するための欄である。「Solid phase」が選択されると、CPU20は、次のような溶解式を決定する。
【0094】
Csolubility>Csolutionの時は
dx/dt=-3・Diff・60/Density/R2・Csolid・V・(Csolubility-Csolution)
それ以外の時は
dx/dt=0
ただし、CsolidはSolid Phase内の薬物量をVolumeで除した値、Csolubilityは溶解先の飽和溶解度、Csolutionは溶解先の濃度である。
【0095】
また、溶解先コンパートメントの濃度が飽和溶解度を超えた場合の析出速度を次のように決定する。
【0096】
Csolubility>Csolutionの時は
dx/dt=0
それ以外の時は
dx/dt=-3・Diff・60/Density/R2・Csolid・V・(CSolubility-Csolution)・ratio
「Diffusion Coefficient」の欄はDiffを入力するため、「Density」の欄はDensityを入力するため、「Radius」の欄はRを入力するための欄である。「Precipitation/Dissolutin Rate Ratio」の欄は、析出速度と溶解速度の比を表すratioを入力するための欄である。
【0097】
「Liner Clearance」の項の式は、「dx/dt=-CL・C」として決定される。「Clearance」の項には、係数「CL」の値を入力する。「Activity Change」の欄に酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は、上式に酵素の残存活性「E」あるいは薬理活性「E」を乗じた式を用いる。
【0098】
「Non Liner Clearance」の項の式は、「dx/dt=-Vmax・C/(Km+C)」として決定される。「Vmax」の欄は、この「Vmax」の値を入力するための欄である。「Km」の欄は、この「Km」の値を入力するための欄である。
【0099】
「Inhibition mode」の欄は、上式の変形を選択するための欄である。この欄のプルダウンボタンがクリックされると、CPU20は、プルダウンメニューとして「(空欄)」「Competitive」「Non-Competitive」「Un-Competitive」を表示する。「Inhibition by」の欄のプルダウンボタンがクリックされると、CPU20はプルダウンメニューとして他のコンパートメントの「name」を一覧にて表示する。ユーザはマウス18によってこれらの中から阻害剤のコンパートメントを選択する。「Ki」の欄は微分方程式中の阻害に関する項についての係数を入力するための欄である。ユーザが「Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km・(1+Ci/Ki)+C)」を用いる。「Non-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km+C)/(1+Ci/Ki)」を用いる。「Un-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km+C・(1+Ci/Ki))」を用いる。「Inhibition by」で指定したコンパートメントの能動がこれらの式の「Ci」に対応し、「Ki」の欄はこれらの式の「Ki」の値を入力するための欄である。
【0100】
「Activity Change」の欄のプルダウンボタンをクリックし、酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は上記の各式に、さらに活性酵素「E」あるいは薬理活性「E」を乗じた式を用いる。
【0101】
(viii)コンパートメントE6
コンパートメントE6は、人体の構成要素ではなく、溶液からの移動をシミュレーションするためのコンパートメントである。「Compartment type」の欄に、「Solution phase」が選択入力されると、CPU20は、図16に示すような入力画面を表示する。
【0102】
「Solubility」の欄には、飽和溶解度を入力する。析出速度などは、溶解元の固体にて設定しているので、ここでは入力を行わない。「Liner Clearance」の項の式は、「dx/dt=-CL・C」として決定される。「Clearance」の項には、係数「CL」の値を入力する。「Activity Change」の欄に酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は、上式に酵素の残存活性「E」あるいは薬理活性「E」を乗じた式を用いる。
【0103】
「Non Liner Clearance」の項の式は、「dx/dt=-Vmax・C/(Km+C)」として決定される。「Vmax」の欄は、この「Vmax」の値を入力するための欄である。「Km」の欄は、この「Km」の値を入力するための欄である。
【0104】
「Inhibition mode」の欄は、上式の変形を選択するための欄である。この欄のプルダウンボタンがクリックされると、CPU20は、プルダウンメニューとして「(空欄)」「Competitive」「Non-Competitive」「Un-Competitive」を表示する。「Inhibition by」の欄のプルダウンボタンがクリックされると、CPU20はプルダウンメニューとして他のコンパートメントの「name」を一覧にて表示する。ユーザはマウス18によってこれらの中から阻害剤のコンパートメントを選択する。「Ki」の欄は微分方程式中の阻害に関する項についての係数を入力するための欄である。ユーザが「Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km・(1+Ci/Ki)+C)」を用いる。「Non-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km+C)/(1+Ci/Ki)」を用いる。「Un-Competitive」を選択した場合、CPU20は、上式に代えて「dx/dt=-Vmax・C/(Km+C・(1+Ci/Ki))」を用いる。「Inhibition by」で指定したコンパートメントの能動がこれらの式の「Ci」に対応し、「Ki」の欄はこれらの式の「Ki」の値を入力するための欄である。
【0105】
「Activity Change」の欄のプルダウンボタンをクリックし、酵素コンパートメントあるいは薬効コンパートメントを指定した場合、CPU20は上記の各式に、さらに活性酵素「E」あるいは薬理活性「E」を乗じた式を用いる。
【0106】
(ix)コンパートメントE10
コンパートメントE10は、人体の構成要素ではなく、酵素活性の変化をシミュレーションするためのコンパートメントである。「Compartment type」の欄に、「Enzyme」が選択入力されると、CPU20は、図17に示すような入力画面を表示する。「Enzyme」が選択されると、CPU20は、酵素活性の変化として以下の微分方程式を決定する。
dx/dt=-kinact・C・CI・fTI/(K’app+CI・fTI)+kdeg・(1-C)
ここで、CIおよびfTIは「MBI is caused by」で指定されたコンパートメントの濃度およびfTである。
【0107】
「kinact」の欄には、kinactの値を入力する。「K’app」の欄には、K’appの値を入力する。「kdeg」の欄には、kdegの値を入力する。「K’app」の欄には、K’appの値を入力する。
【0108】
CPU20は、この反応による「MBI is caused by」の欄で指定されたコンパートメントの変化速度を次のように決定する。
【0109】
dx’/dt=dx/dt・E0/1000・MW
「E0」の欄には、E0の値を入力する。dx/dtは酵素活性の変化速度である。
【0110】
「MBI is caused by」の欄には、酵素活性を変化させる原因コンパートメントを選択入力する。
【0111】
(x)各コンパートメントに共通した変数
なお、Homogeneous organ, Well-Stirred organ, Blood, Solid Phase, Solution Phaseについて、X、Cは以下の意味を持つ。
【0112】
X:コンパートメントの薬物量
C:コンパートメントの薬物濃度(=X/Volume )
dx/dt の値は計算の最後に各コンパートメントの容積で除して、濃度の変化速度(dc/dt) とする。
【0113】
Enzymeについて、Xは以下の意味を持つ。
【0114】
X :コンパートメントの酵素量(0≦X≦1 )
dx/dt を計算するが容積による除算は行わない
Dynamics (linear, log linear, Emax, Sigmoid)について、Xは以下の意味を持つ。
【0115】
X:コンパートメントの薬理活性
X の値を直接計算し、dx/dt は計算しない。「Activity change」の欄に指定するコンパートメントの場合は、Xが適切な値になるように各種係数を設定する。
【0116】
Dynamics (Kin inhibition, Kout inhibition, Kin stimulation, Kout stimulation)について、Xは以下の意味を持つ。
【0117】
X:コンパートメントの薬理活性
dx/dt を計算するが容積による除算は行わない
上記のようにして、各コンパートメントに対する属性の設定が終了すると、CPU20は、図18のような画面を表示する。
【0118】
(3)ステップSc
次に、ユーザがマウス18を操作して、Otherのタブ56をクリックすると、CPU20は、図19に示すようなシミュレーション条件を入力するための画面を表示する(ステップSc)。
【0119】
「Dose to」の欄には、投与先コンパートメントを指定する。「Type」の欄には、投与の方法を、bolus、1st order、continuousのいずれかから選択して入力する。急速静注(短時間で薬を投与すること)の場合には、Bolusを選択する。経口投与の場合には1st orderを選択する。持続的投与の場合には、continuousを選択する。ただし、「Type」は上記のように一律に決定されるものではなく、実際の薬物動態を表す適切な「Type」を設定すればよい。
【0120】
「Compund A」「Compund B」「Compund C」「Compund D」の欄は、化合物に関する情報を入力するための欄である。「MW」の欄には、化合物の分子量を入力する。これは、コンパートメントの型としてEnzymeを選択しているときや、2つの化合物種類にまたがる移動があるときに必要である。「Protein Binding」の欄は、血液中蛋白結合に関する情報を入力するための欄である。「fB」の欄には、線形結合の場合における、非結合型分率を入力する。「nP」「Kd」の欄には、非線形結合の場合における、対応するパラメータを入力する。なお、ステップSbの計算式に定義される「fB」は、血液中薬物濃度に対応した非結合型分率を逐次計算したものあり、fBIは阻害する化合物のfBを同様に逐次計算したものである。「RB」の欄には、血液/血漿濃度比を入力する。これは、グラフ表示の際に血漿中濃度を表示させるのであれば入力が必要である。
【0121】
「Calculating condition」の欄は、微分方程式の計算条件を入力するための欄である。「Last Time」の欄には、計算の最終時点を入力する。「Calculating Interval」の欄には、微分方程式の数値計算の際の刻みを入力する。「Plotting Interval」には、グラフ表示のポイントの間隔を入力する。
【0122】
(4)ステップSd
次に、ユーザがマウス18を操作して、Simulationのタブ58をクリックすると、CPU20は、図20に示すようなグラフ表示条件を入力するための画面を表示する(ステップSd)。
【0123】
「Graph1」「Graph2」「Graph3」「Graph4」のタブが選択されると、CPU20は、グラフに表示可能な項目の一覧を表示する。ユーザは、マウス18を操作して、グラフに表示する項目を選択する。
【0124】
(5)ステップSe
ユーザが、図20の「Start Calculation」ボタン60を押下すると、CPU20は、まず、各微分方程式の「Blood Flow」の項について、各コンパートメントにおいて、入ってくる量と、出ていく量とが等しくなっているかを判定する。いずれかのコンパートメントにおいて、入ってくる量と、出ていく量とが等しくなっていなければ、その旨を画面上に表示する。これにより、係数の入力誤りを容易に検出することができる。
【0125】
上記判定において誤りがなければ、CPU20は、引き続いて設定された情報に基づいてシミュレーションを実行する。つまり、上記で設定した各微分方程式に、初期値を代入して変化量を算出する。その変化量に基づいて、次の時点における値を求めて微分方程式に代入し、変化量を算出する。これを繰り返して、各時刻における各変数の値を算出する。
【0126】
そして、CPU20は、ステップSdにおいて設定した項目(変数)について、グラフ表示を行う。このようにしてシミュレーションが実行される。
【0127】
なお、この実施形態においては、シミュレーションモデルが複数ある場合に、それぞれのモデルを独立して生成しておき、モデル間の関係を設定してシミュレーションを行えるようにしている。
【0128】
たとえば、影響を与える化合物が2つ、影響を受ける化合物が2つあるといった場合、どのような影響があるかをシミュレーションする場合には、4つの組み合わせでモデルを生成しなければならない。すなわち、影響を与える化合物としてエリスロマイシンとベラパミルの2つ、影響を受ける化合物としてミダゾラムとフェロジピンの2つを例として考えた場合、エリスロマイシンとミダゾラム、エリスロマイシンとフェロジピン、ベラパミルとミダゾラム、ベラパミルとフェロジピンの4通りの組み合わせのモデルを作成する必要がある。
【0129】
この実施形態では、あらかじめ、エリスロマイシン、ベラパミル、ミダゾラム、フェロジピンのモデルを個別に作成し(図21a〜図21d参照)、これを記録しておく。CPU20は、図21eに示すように、複数モデルを読み込むための画面を表示する。「Select data」のボタンを押下することにより、記録されているモデルを選択することができる。ここでは、左側のボックスにてエリスロマイシンが選択され、右側のボックスにてミダゾラムが選択されたものとする。
【0130】
CPU20は、指定されたモデルを読み込む。これにより、図21fのようにモデル全体が表示される。ここで、ユーザが、「Liver MDZ」をクリックすると、図8に示すような画面が表示される。図8の画面において、「Non Linear Clearance」の「Inhibition by」の項目に、影響を与えるコンパートメント(たとえば、「3A4-α」)を入力する。これにより、2つのモデルが関連付けられる。
【0131】
なお、上記では、ユーザが2つのモデルの関連を入力するようにした。しかし、影響を受けるコンパートメントにフラグを付し、影響を与えるコンパートメントにもフラグを付しておけば、CPU20が当該フラグに従って、自動的に関連づけを行うこともできる。
【0132】
4.コンパートメントの配置処理の詳細
図4aのステップSaにおけるコンパートメントの配置処理について、以下に詳細を説明する。
【0133】
コンパートメントの配置処理の部分の機能ブロック図を図22に示す。ディスプレイ14の画面上には、補助領域表示手段1によって、補助領域が表示される。また、後述のように、ディスプレイ画面上には描画領域9も設けられている。
【0134】
ユーザの入力を受けると、区分手段3は、この補助領域を、ユーザ入力に従って、複数の要素領域に分割する。続いて、ユーザが、区分した補助領域の所望の要素領域に、図形数を入力する。これを受けて、図形数表示手段5は、補助領域中に、入力された図形数を表示する。
【0135】
図形表示手段11は、図形数の入力されている要素領域の、入力補助領域内における位置を算出する。続いて、算出した位置に対応する描画領域9内の位置に、図形を描画する。この際、入力された図形数に応じた数の図形を描画する。
【0136】
図22aに、コンパートメント配置処理のフローチャートを示す。以下、このフローチャートに従って、CPU20の行う動作を説明する。従来であれば、薬物の流れや器官の重要性などを考慮しつつ、箱の大きさと配置を決定し、それぞれの箱毎に描画を行っていた。この実施形態によれば、このような作業を極めて簡易に行うことができる。
【0137】
CPU20は、まず、図6に示すように、補助領域8と描画領域10を含む設定画面をディスプレイ14に表示する(ステップS1)。補助領域8は、描画領域10にブロック図を配置するための指示を入力するための領域である。補助領域8の左および下には、補助領域を複数の要素領域に分割するための区分ボタン30a、30b、32a、32bが表示される。なお、これら区分ボタン30a、30b、32a、32bは、補助領域8の右および上など、いずれの位置に配置してもよい。ただし、補助領域8に近接して配置する方が、操作が分かりやすい。
【0138】
また、補助領域8の右には、ブロック図の生成ボタン34と修正ボタン36が表示される。描画領域10には、後述のように、補助領域8の指示内容に従ってブロック図が描画される。
【0139】
ユーザは、作成したいブロック図についての図5のような状態を想定し、各箱の位置を決定できるような縦横のメッシュを決定する。図5から分かるように、左側の箱のかたまりは、箱B1、B2、B3の列と、箱B4、B5、B6、B7の列の、2つの列にて構成される。右側の箱のかたまりは、箱B8、B9、B10による一つの列によって構成される。左側と右側の箱のかたまりは、別であることを明確にするために、列を一つ空けた方がよい。このように想定した場合には、メッシュの列は4つ必要であることがわかる。同様の検討を行方向についても行う。箱B5と箱B6は、他の箱に比べて重要性が低いので小さく表示したいと考えたとする。とすれば、箱B5と箱B6をあわせて1つの行であると想定して、メッシュの行は5つ必要であることが分かる。
【0140】
このような検討のもと、ユーザは、以下のようにして、区分ボタン30a、30b、32a、32bをマウス18によってクリックし、補助領域8内に所望のメッシュを表示させる。区分ボタン30a、30b、32a、32bが押下されると(ステップS2)、CPU20は、区分処理を行う(ステップS3)。
【0141】
区分ボタンの下ボタン30bが、ユーザによって押下されると、CPU20は、行を1つ増加させるとともに、行を区分するための線を描画する。たとえば、補助領域8が図23Aの状態にあるとする。この時、CPU20は、メッシュの行列の数を、それぞれ「1」としてメモリ22に記憶している。この状態で、下ボタン30bがクリックされると、CPU20は、メッシュの行数を「2」に増加させて記憶するとともに、図23Bに示すように、補助領域8を上下に2等分するように区分線L1を表示する。さらに、もう一度、下ボタン30bが押下されると、CPU20は、メッシュの行数を「3」に増加させて記憶するとともに、図23Cに示すように、補助領域8を上下に3等分するように区分線L1、区分線L2を表示する。
【0142】
このようにして、ユーザは、想定したメッシュの行数に達するまで下ボタン30bを押下する。なお、行数を減らしたい場合、ユーザは上ボタン30aを押下することによりこれを実現することができる。たとえば、図23Cのような状態において、上ボタン30aが押下されると、CPU20は、メッシュの行数を「2」に減少させて記憶するとともに、図23Dに示すように、補助領域8を上下に2等分するように区分線L1を表示する。
【0143】
列方向の区分ボタンである左ボタン32a、右ボタン32bについても、上記と同様である。つまり、右ボタン32bが押下されると、CPU20は、メッシュの列を増加させて記憶するとともに、補助領域8を左右に列数にて等分するように区分線を表示する。左ボタン32aが押下されると、CPU20は、メッシュの列を減少させて記憶するとともに、補助領域8を左右に列数にて等分するように区分線を表示する。
【0144】
上記のようにして、ユーザは、区分ボタン30a、30b、32a、32bを押下することで、図24に示すように、想定したメッシュを補助領域8内に表示させることができる。なお、メッシュによって区切られた補助領域8の各領域を、要素領域という。
【0145】
次に、ユーザは、このメッシュにしたがって、描画領域10に描画すべき箱の位置と数を指定する。具体的には、箱を描画したい位置に対応するメッシュの要素領域内に、キーボード16等を用いて数値を入力する。また、メッシュの当該要素領域に対応する位置に描画したい箱の数を数値として指定する。その後、ユーザが生成ボタン34を押下すると、補助領域8の情報にしたがって、描画領域10に箱が描画される。この時のCPU20の処理を、以下説明する。
【0146】
補助領域8のメッシュの要素領域が選択されて、キーボード6から数値が入力されると(ステップS4)、CPU20は、選択された要素領域に対応付けて当該数値を、メモリ22に記憶するとともに、入力された数値を表示する(ステップS5)。図5のようなブロック図を得るためには、ユーザは、補助領域8に、図25に示すような数値を入力することになる。2行、2列の要素領域に「2」が入力されているのは、この要素領域に、図5の箱B5、B6の2つの箱を他の箱よりも小さく表示したいからである。さらに多くの数の箱を小さく表示したい場合には、数値を大きくすればよい。図25のような入力が行われた場合、メモリ22には、図26に示すように、各要素領域に対応付けて、入力された数値が個数として記録される。なお、各要素領域は、列、行によって特定される。図26において、M(1,2)は、1列目、2行目の要素領域を示している。
【0147】
ユーザは、このように数値を入力した後、生成ボタン34をクリックする。CPU20は、生成ボタン34がクリックされると(ステップS6)、補助領域8の指定に従って、描画領域10にブロック図を描画する処理を行う(ステップS7)。
【0148】
図22bに、描画処理の詳細を示す。CPU20は、まず、図26のテーブルを参照して、補助領域8に入力された箱の個数の合計を算出し、合計数が適切であるか否かを判断する(ステップS71)。算出した合計が、0以下であれば、不適切である旨をディスプレイ14に表示して、描画処理を終了する。0を超えていれば、CPU20は、描画領域10の表示を消去して初期化する(ステップS72)。次に、CPU20は、補助領域8において区分線によって指定された各要素領域を、描画領域に対応付けて配置した時の描画要素領域の大きさを算出する(ステップS73)。
【0149】
補助領域8において図25のように5行4列にて指定がなされている場合には、これに対応して、図27に示すように、5行4列に描画領域が区分され、20個の描画要素領域が形成される。なお、この実施形態では、各描画要素領域を区分する線は表示しないようにしているが、これを表示するようにしてもよい。
【0150】
次に、CPU20は、各描画要素領域N(1,1)〜N(4,5)について順番に、箱の描画を行っていく。まず、描画要素領域N(1,1)について、これに対応する補助領域8の要素領域M(1,1)に入力された数値(図26参照)を読み出す。要素領域M(1,1)には数値は入力されていないので、個数は「0」であると判断する。CPU20は、この個数が、0であるか否かを判断する(ステップS74)。「0」であれば、対応する描画要素領域N(1,1)には何も表示せず、次の描画要素領域N(2,1)についての処理に移る。描画要素領域N(2,1)についても個数が設定されていないので、次の描画要素領域N(3,1)についての処理に移る。
【0151】
描画要素領域N(3,1)に対応する要素領域M(13,1)には、個数「1」が記録されている。したがって、CPU20は、ステップS74からS75に進み、描画すべき箱の大きさを算出する。箱の大きさは、描画要素領域全体の大きさとするのではなく、上下左右に所定のマージンをとった大きさとする。マージン部分に矢印などを表示するためである。なお、マージンの大きさは、個数によって変えるようにしてもよい。
【0152】
次に、CPU20は、決定した箱の大きさにしたがって、当該描画要素領域N(3,1)内に箱を描画する(ステップS76)。続いて、次の描画要素領域N(3,2)に対する処理を行う。このようにして、次々と、それぞれの描画要素領域に対する処理が進められる。
【0153】
なお、描画要素領域M(2,2)に対応する要素領域N(2,2)には、個数「2」が設定されている。この場合、CPU20は、上下左右のマージンだけでなく、箱と箱との間のマージンも考慮して、箱の大きさを決定する。箱間のマージンは予め定めておく。なお、箱の個数によって、箱間のマージンを変化させるようにしてもよい。
【0154】
全ての描画要素領域について処理が終わると(ステップS77)、CPU20は、描画処理を終了する。
【0155】
なお、CPU20は、上記の処理を行う際に、箱を生成した順に箱に対してIDを付し、配置場所(左上の点の座標)とともに、これをメモリ22に記録する。上記の例であれば、箱IDとして1〜10までが記録されることになる。
【0156】
上記のようにして、図7に示すようなブロック図が、描画領域10に描画される。このようにして描画されたブロック図が、ユーザにとって好ましいものでない場合には、ユーザは、補助領域8のメッシュの数や個数を修正し、再度生成ボタン34を押すことによって、所望のブロック図を得ることができる。
【0157】
なお、作成されたブロック図を簡易に修正したい場合には、ユーザは、マウス18を操作して、修正に関連する箱の上で右クリックを行う(図22aのステップS12)。右クリックによってなされる簡易修正処理(ステップS13)のフローチャートを図22cに示す。
【0158】
右クリックを受けると、CPU20は、ポップアップメニューをディスプレイ14に表示する。このポップアップメニューには、「Add」「Duplicate」「Delete」が表示される。ユーザは、これらメニューのうちから一つを選択する。
【0159】
なお、現在表示されている箱の数(補助領域8に入力された数値の合計)が、予め設定してあるAddのための上限数(たとえば、予め設定された全箱の上限数)に達している場合には、CPU20は、ポップアップメニュー中に「Add」ないし「Duplicate」を表示しない。また、現在表示されている箱の数(補助領域8に入力された数値の合計)が、予め設定してあるDuplicateのための上限数(たとえば、全箱数の上限の半分)に達している場合には、CPU20は、ポップアップメニュー中に「Duplicate」を表示しない。これにより、無駄な選択動作を排除することができる。なお、上記において、「Add」や「Duplicate」を全く表示しないのではなく、表示した上で選択押下できないようにしてもよい(いわゆるリゾルブ表示)。
【0160】
「Add」が選択されると、CPU20は、選択された箱の属する描画要素領域において、新たに箱を一つ追加する(ステップS131)。この処理は具体的には、まず、選択された箱の属する描画要素領域に対応する要素領域に設定されている数値を1つ増加し、当該描画要素領域について箱の再描画を行うことによりなされる。
【0161】
たとえば、図18の「薬効」の箱がクリックされて、「Add」が選ばれると、CPU20は、この描画要素領域N(5,1)(図27参照)に対応する要素領域の数を1つ増加させる。同時に、図9のM(5,1)の個数も1つ増加させる。続いて、CPU20は、当該描画要素領域N(5,1)の再描画を行う。その結果、描画要素領域N(5,1)の箱の数が増加しているので、小さな箱(図18の「個体」「液体」と同じ大きさの箱)が2つ描画されることになる。
【0162】
なお、CPU20は、既に存在する箱の下に新たな箱を生成して表示する。この際、CPU20は、新たな箱に対して、「薬効」の箱の次の番号のIDを付与するとともに、それより後の箱のIDを一つずつ繰り下げる。なお、「繰り下げられた」箱に対して設定していたパラメータや矢印などは消去されない。
【0163】
「Duplicate」が選択されると、CPU20は、補助領域8を参照して、箱が連続して描画されている描画要素領域のかたまりを検出する。そして、次に、CPU20は、横へのコピーか、縦へのコピーかを選択する入力ボタンを表示する。ユーザの選択に応じて、上記かたまりとして存在する箱を複製する(ステップS132)。この場合、パラメータや矢印についても複製がなされる。仮に、図18の状態において描画要素領域N(1,2)、N(2,2)、N(3,2)のかたまりしかないと仮定する。この場合に、ユーザが横へのコピーを選択すれば、描画要素領域N(1,3)、N(2,3)、N(3,3)に「rapid」「個体」「溶液」「腸」の箱が複製される。この場合も、CPU20は、所定の規則にしたがって各箱についてのIDをふり直す。
【0164】
「Delete」が選択されると、当該箱が削除される。当該箱より後の箱のIDが繰り上げられる(ステップS133)。
【0165】
上記では、箱の上で右クリックを行ってする簡易な修正処理を説明した。より全体的な修正や細かな修正を行う場合には、修正ボタン36を用いた修正を行うことができる。
【0166】
ユーザは、補助領域8の数値を変更した後、修正ボタン36を押下することにより、必要な各箱のパラメータなどを維持しつつ、修正を行うことができる(ステップS8、S9)。
【0167】
修正ボタン36が押されると、CPU20は、変更前の全箱数と、変更後の全箱数を比較する。なお、補助領域8の数値が変更された場合であっても、CPU20は、前回に生成ボタン34または修正ボタン36が押されたときの数値を記録しているので、これを判断することができる。
【0168】
全箱数に変化がないときには、各箱のIDの順番にしたがって、描画領域10における表示をやりなおす。この際、各箱のパラメータや矢印などはそのまま引き継ぐようにしている。矢印は、開始箱と終了箱によって定められているので、箱の位置が変わっても、これに従って描画することができる。つまり、全箱数に変化がないときには、CPU20は、箱の移動であると判断して上記のような処理を行う。
【0169】
一方、全箱数に変化があるときには、CPU20は、各要素領域ごとに箱の数が変更前と変更後で変わっているかを判断する。変化がない要素領域に対応する描画要素領域ついては何も行わない。数が減少している要素領域に対応する描画要素領域については、減少した数の分だけ、その描画要素領域の最も下に表示されている箱(IDが最も大きい箱)から削除する。つまり、「Delete」と同様の処理を行う。また、数が増加している要素領域に対する描画要素領域については、その描画要素領域にその増加分だけの箱を新たに作成する。つまり、「Add」と同様の処理を行う。
【0170】
上記実施形態では、補助領域8にメッシュを設定する際に、区分ボタン30a、30b、32a、32bをクリックするようにしている。しかし、列、行の数を入力することによって、メッシュを設定するようにしてもよい。
【0171】
上記実施形態では、要素領域に数値を入力することで、当該要素領域に対応する描画要素領域における箱の数を設定している。しかし、要素領域には箱の有無だけを入力するようにしてもよい。
【0172】
上記実施形態では、要素領域に2以上の数値を入力した場合には、縦方向に描画要素領域を分割して箱を描画するようにしている。しかし、横方向に分割して箱を描画するようにしてもよい。また、入力する文字によって縦方向か横方向かを指定するようにしてもよい。たとえば、「V2」と入力すれば縦方向に分割、「H3」と入力すれば横方向に分割というようにすることもできる。
【0173】
上記実施形態では、矢印を箱のパラメータとして設定するようにしている。しかし、マウス18などにより、2つの箱をクリックして、直接的に2つの箱の間に矢印を描画するようにしてもよい。
【0174】
上記実施形態では、一方に矢印のある線を描画するようにしているが、矢印のない線、双方に矢印のある線など、ブロック図の性質に応じて適切な線を描画するようにできる。
【0175】
上記実施形態では、シミュレーションを行うためのブロック図を描画する場合について説明した。しかし、電気回路のブロック図、コンピュータのシステム構成図、会社の組織図、概念の関連図などを描画する場合にも適用することができる。
【0176】
上記実施形態では、矩形の箱を描画するようにしている。しかし、描画の目的に応じて、円形、立体図形などを描画するようにしてもよい。
【0177】
また、上記実施形態では、補助領域8では、縦横方向のメッシュを生成するようにしている。しかし、補助領域8において3次元のメッシュを表示して入力するようにしてもよい。これにより、描画領域10に3次元空間における箱(直方体)を所望の位置に配置することができる。
【0178】
なお、上記実施形態では、描画領域10とともに補助領域8が表示されるようにしている。しかし、補助領域8は必要な場合にだけ表示されるようにしてもよい。たとえば、描画領域10をマウス18にて右クリックした場合にだけ、補助領域8が表示されるようにしてもよい。
【0179】
上記実施形態では、補助領域をメッシュに分割しているが、補助領域および描画領域を円形として、同心円状に分割をするようにしてもよい。また、六角形の連続によって分割を行うようにしてもよい。
【0180】
5.その他の実施形態
上記実施形態では、薬物の動態をシミュレーションする装置について説明したが、薬物以外の物質の動態についてシミュレーションする装置にも適用することができる。
【0181】
上記実施形態では、コンパートメントの型を選択すると、これに対応して流出する薬物の微分方程式の項を決定するようにしている。しかし、流入する薬物の微分方程式の項を決定し、その係数を入力するようにしてもよい。
【0182】
上記実施形態では、図2に示す各機能をCPUによって実現しているが、その一部又は全部をハードウエアロジックによって構成してもよい。
【図面の簡単な説明】
【0183】
【図1a】モデル例を示す図である。
【図1b】従来のシミュレーション装置の入力画面を示す図である。
【図2】この発明の一実施形態による薬物動態シミュレーション装置の機能ブロック図である。
【図3】薬物動態シミュレーション装置のハードウエア構成を示す図である。
【図4a】シミュレーションプログラムのフローチャートである。
【図4b】属性入力の部分のフローチャートである。
【図5】想定したモデルを示す図である。
【図6】初期画面を示す図である。
【図7】コンパートメントの配置が終了した状態を示す図である。
【図8】コンパートメントの属性を入力するための画面を示す図である。
【図9】コンパートメントE1に対する属性入力が、表示画面に反映された状態を示す図である。
【図10】コンパートメントの属性を入力するための画面を示す図である。
【図11】コンパートメントの属性を入力するための画面を示す図である。
【図12】コンパートメントの属性を入力するための画面を示す図である。
【図13a】コンパートメントの属性を入力するための画面を示す図である。
【図13b】コンパートメントの属性を入力するための画面を示す図である。
【図13c】コンパートメントの属性を入力するための画面を示す図である。
【図13d】コンパートメントの属性を入力するための画面を示す図である。
【図13e】コンパートメントの属性を入力するための画面を示す図である。
【図13f】コンパートメントの属性を入力するための画面を示す図である。
【図14a】コンパートメントの属性を入力するための画面を示す図である。
【図14b】コンパートメントの属性を入力するための画面を示す図である。
【図14c】コンパートメントの属性を入力するための画面を示す図である。
【図14d】コンパートメントの属性を入力するための画面を示す図である。
【図15】コンパートメントの属性を入力するための画面を示す図である。
【図16】コンパートメントの属性を入力するための画面を示す図である。
【図17】コンパートメントの属性を入力するための画面を示す図である。
【図18】全てのコンパートメントに対する属性入力が終了し、表示画面に反映された状態を示す図である。
【図19】投与条件などを入力するための画面を示す図である。
【図20】グラフ表示の内容を設定するための画面を示す図である。
【図21a】エリスロマイシンに関するモデルを示す図である。
【図21b】ベラパミルに関するモデルを示す図である。
【図21c】ミダゾラムに関するモデルを示す図である。
【図21d】フェロジピンに関するモデルを示す図である。
【図21e】モデル間の関連を入力するための画面である。
【図21f】組み合わされたモデルを示す図である。
【図22】コンパートメントの配置処理の機能を示すブロック図である。
【図22a】コンパートメントの配置処理の詳細を示すフローチャートである。
【図22b】描画処理の詳細を示すフローチャートである。
【図22c】修正処理の詳細を示すフローチャートである。
【図23】補助領域の区分線の表示処理操作を示す図である。
【図24】補助領域を区分した状態の画面を示す図である。
【図25】補助領域への数値入力例を示す図である。
【図26】要素領域とそれに対応する数値の記憶状態を示す図である。
【図27】補助領域を示す図である。
【符号の説明】
【0184】
2・・・配置手段
4・・・型入力手段
6・・・項決定手段
8・・・係数入力領域表示手段
10・・・係数入力手段
12・・・条件入力手段
13・・・実行手段

【特許請求の範囲】
【請求項1】
薬物動態をシミュレーションするシミュレーション装置であって、
コンパートメントを入力し配置する配置手段と、
各コンパートメントの型を入力する型入力手段と、
型入力手段より入力されたコンパートメントの型に応じて、当該コンパートメントに流入または流出する薬物の微分方程式に出現しうる項を決定する項決定手段と、
項決定手段によって決定された項のそれぞれについて、係数および流入元コンパートメントまたは流出先コンパートメントを入力するための入力領域を表示する係数入力領域表示手段と、
係数入力領域表示手段によって表示された入力領域から係数を入力する係数入力手段と、
薬物の投与量を含むシミュレーション条件を入力する条件入力手段と、
条件入力手段から入力されたシミュレーション条件および項決定手段によって決定された微分方程式の各項および係数入力手段から入力された係数に基づいて、薬物動態シミュレーションを実行する実行手段と、
を備えたシミュレーション装置。
【請求項2】
薬物動態をシミュレーションするシミュレーション装置を、コンピュータによって実現するためのシミュレーションプログラムであって、
コンパートメントを入力し配置する配置手段と、
各コンパートメントの型を入力する型入力手段と、
型入力手段より入力されたコンパートメントの型に応じて、当該コンパートメントに流入または流出する薬物の微分方程式に出現しうる項を決定する項決定手段と、
項決定手段によって決定された項のそれぞれについて、係数および流入元コンパートメントまたは流出先コンパートメントを入力するための入力領域を表示する係数入力領域表示手段と、
係数入力領域表示手段によって表示された入力領域から係数を入力する係数入力手段と、
薬物の投与量を含むシミュレーション条件を入力する条件入力手段と、
条件入力手段から入力されたシミュレーション条件および項決定手段によって決定された微分方程式の各項および係数入力手段から入力された係数に基づいて、薬物動態シミュレーションを実行する実行手段と、
をコンピュータによって実現するためのシミュレーションプログラム。
【請求項3】
請求項1のシミュレーション装置または請求項2のシミュレーションプログラムにおいて、
前記項決定手段は、当該コンパートメントの表す生体機能値の変化あるいは変化速度を表す関数中に出現しうる項も決定することを特徴とする装置またはプログラム。
【請求項4】
請求項1〜3のいずれかのシミュレーションプログラムにおいて、
前記型入力手段は、少なくとも組織型、血液型を含む型の中から、コンパートメントの型を選択するように構成されており、
前記項決定手段は、前記型入力手段によって入力されたコンパートメントの型に応じて、微分方程式の各項の式を決定すること
を特徴とする装置またはプログラム。
【請求項5】
請求項4のシミュレーション装置またはシミュレーションプログラムにおいて、
前記係数入力手段は、前記型入力手段によって入力されたコンパートメントの型が組織型である場合には、組織結合を考慮するための係数を入力するための入力領域を表示すること
を特徴とする装置またはプログラム。
【請求項6】
請求項1〜5のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記型入力手段は、コンパートメントの型として、さらに均質型も選択可能であるように構成されていること
を特徴とする装置またはプログラム。
【請求項7】
請求項1〜6のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記型入力手段は、コンパートメントの型として、さらに薬効型も選択可能であるように構成されていること
を特徴とする装置またはプログラム。
【請求項8】
請求項1〜7のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記型入力手段は、コンパートメントの型として、さらに固相型、液相型も選択可能であるように構成されていること
を特徴とする装置またはプログラム。
【請求項9】
請求項1〜8のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記型入力手段は、コンパートメントの型として、さらに酵素型も選択可能であるように構成されていること
を特徴とする装置またはプログラム。
【請求項10】
請求項1〜9のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記項決定手段は、薬物の移動速度を表す微分方程式を血流、リニア、ノンリニアの3つの項に分けて決定し、
係数入力領域表示手段は、それぞれの項について係数の入力領域を表示すること
を特徴とする装置またはプログラム。
【請求項11】
請求項10のシミュレーション装置またはシミュレーションプログラムにおいて、
前記血流、リニア、ノンリニアで表される3つの速度のうち少なくとも一つが、前記薬効型または前記酵素型のコンパートメントの値によって変化するように設定する変化要素設定手段を備えていることを特徴とする装置またはプログラム。
【請求項12】
請求項1〜11のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
生成した複数のシミュレーションモデルを読み込む読み込み手段と、
前記読み込んだ複数のシミュレーションモデルの相互関係を決定する手段と、
を備えていることを特徴とする装置またはプログラム。
【請求項13】
請求項10のシミュレーション装置またはシミュレーションプログラムにおいて、
各コンパートメントに流入または流出する薬物の微分方程式中の血流の項に着目して、流入量と流出量に整合性があるか否かを判定する判定手段をさらに設けたこと
を特徴とする装置またはプログラム。
【請求項14】
請求項1〜13のいずれかのシミュレーション装置またはシミュレーションプログラムにおいて、
前記配置手段は、
補助領域を表示する補助領域表示手段と、
ユーザからの入力指示を受けて、前記補助領域を複数の要素領域に区分する区分手段と、
ユーザからの入力指示を受けて、指定された要素領域中に、図形数を表示する図形数表示手段と、
図形数の入力されている要素領域の補助領域内における位置に対応する描画領域の位置に、所定の図形を、当該図形数の個数表示する図形表示手段と、
を備えたことを特徴とする装置またはプログラム。
【請求項15】
請求項14の装置またはプログラムにおいて、
前記図形表示手段は、要素領域に入力された図形数に応じ、図形数が大きい場合には図形を小さく、図形数が小さい場合には図形を大きく表示することを特徴とする装置またはプログラム。

【図1a】
image rotate

【図1b】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4a】
image rotate

【図4b】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13a】
image rotate

【図13b】
image rotate

【図13c】
image rotate

【図13d】
image rotate

【図13e】
image rotate

【図13f】
image rotate

【図14a】
image rotate

【図14b】
image rotate

【図14c】
image rotate

【図14d】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21a】
image rotate

【図21b】
image rotate

【図21c】
image rotate

【図21d】
image rotate

【図21e】
image rotate

【図21f】
image rotate

【図22】
image rotate

【図22a】
image rotate

【図22b】
image rotate

【図22c】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate