TOP > 国内特許検索 > シミュレーション装置およびプログラム > 明細書

明細書 :シミュレーション装置およびプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第4224582号 (P4224582)
公開番号 特開2005-087585 (P2005-087585A)
登録日 平成20年12月5日(2008.12.5)
発行日 平成21年2月18日(2009.2.18)
公開日 平成17年4月7日(2005.4.7)
発明の名称または考案の名称 シミュレーション装置およびプログラム
国際特許分類 A61B  19/00        (2006.01)
FI A61B 19/00 502
請求項の数または発明の数 16
全頁数 21
出願番号 特願2003-327272 (P2003-327272)
出願日 平成15年9月19日(2003.9.19)
新規性喪失の例外の表示 特許法第30条第1項適用 2003年5月14日発行の第47回システム制御情報学会研究発表講演会論文集のp535、536、2003年5月16日発行の電子情報通信学会技術研究報告、p23-28、2003年6月3日発行の第42回日本エム・イー学会大会プログラム・論文集、p12、113、337、339に発表
特許法第30条第1項適用 2003年5月16日発行の電子情報通信学会技術研究報告、p23-28に発表
特許法第30条第1項適用 2003年6月3日発行の第42回日本エム・イー学会大会プログラム・論文集、p12、113、337、339に発表
審査請求日 平成17年5月27日(2005.5.27)
特許権者または実用新案権者 【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
発明者または考案者 【氏名】皿井 伸明
【氏名】天野 晃
個別代理人の代理人 【識別番号】100115749、【弁理士】、【氏名又は名称】谷川 英和
審査官 【審査官】川端 修
参考文献・文献 特開2003-248788(JP,A)
調査した分野 A61B 19/00
特許請求の範囲 【請求項1】
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を1以上格納している機能要素情報格納部と、
生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するために必要な1以上の機能要素識別子との対応を管理している静的構造管理部と、
構成要素識別子と、当該構成要素識別子で識別される生体構成要素または個体の機能を実現するために必要な1以上のパラメータを有するパラメータ情報を管理しているパラメータ管理部と、
シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付部と、
前記シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を前記静的構造管理部から取得する機能要素識別子取得部と、
前記シミュレーション命令が有する構成要素識別子に対応する1以上のパラメータを前記パラメータ管理部から取得するパラメータ取得部と、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行部を具備するシミュレーション装置。
【請求項2】
前記静的構造管理部は、
細胞を識別する細胞識別子と臓器を識別する臓器識別子と前記細胞の前記臓器内における位置を特定する関数である配置関数を識別する配置関数識別子との対応を管理し、かつ、構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な1以上の機能要素識別子との対応を管理しており、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子と配置関数識別子を前記静的構造管理部から取得し、
前記実行部は、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する
請求項1記載のシミュレーション装置。
【請求項3】
前記静的構造管理部は、
生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している細胞機能管理手段と、
臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している臓器細胞管理手段を具備し、
前記構成要素識別子は、臓器または器官を識別する臓器識別子であり、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する臓器識別子と対応付けられる1以上の細胞識別子を前記臓器細胞管理手段から取得し、当該1以上の細胞識別子と対応付けられる1以上の機能識別子を前記細胞機能管理手段から取得する請求項1記載のシミュレーション装置。
【請求項4】
前記臓器細胞管理手段は、
臓器または器官を識別する臓器識別子と細胞識別子と、当該細胞識別子で識別される細胞の前記臓器識別子で識別される臓器または器官内における配置を算出する配置関数を識別する配置関数識別子の対応を管理し、
前記機能要素識別子取得部は、
前記シミュレーション命令が有する臓器識別子と対応付けられる1以上の細胞識別子と配置関数識別子を前記臓器細胞管理手段から取得し、当該1以上の細胞識別子と対応付けられる1以上の機能識別子を前記細胞機能管理手段から取得し、
前記実行部は、
前記パラメータ取得部が取得したパラメータの一部または全部を、前記機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する請求項3記載のシミュレーション装置。
【請求項5】
前記機能要素情報格納部は、階層化された2以上の機能要素情報を格納しており、
前記実行部は、前記機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、前記パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する請求項1記載のシミュレーション装置。
【請求項6】
個体、臓器または器官と、1以上の細胞または組織と、1以上の細胞内小器官または分子と、1以上の機能要素の関連を記憶媒体に管理しており、
当該機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムを1以上、記憶媒体に保持しており、
構成要素識別子とシミュレーション実現プログラムに与えるパラメータを対応付けて、記憶媒体に保持しており、
シミュレーション命令受付部により受け付けられた構成要素識別子が示す個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子と関連する機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムを記憶媒体から読み出し、当該シミュレーション実現プログラムに、当該シミュレーション対象識別子に対応するパラメータを渡し、当該シミュレーション実現プログラムを実行する実行部により、個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子のシミュレーションを行うシミュレーション装置。
【請求項7】
臓器内または器官内における細胞の配置を特定する関数である配置関数をさらに記憶媒体に管理しており、
前記実行部は、
前記配置関数を実行し、
前記ミュレーション実現プログラムの実行結果を、前記配置関数の実行結果に基づいて出力する請求項6記載のシミュレーション装置。
【請求項8】
構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付部と、
前記構成要素識別子と機能要素識別子の対応を示す情報を前記静的構造管理部に蓄積する静的構造情報蓄積部をさらに具備する請求項1から請求項7いずれか記載のシミュレーション装置。
【請求項9】
構成要素識別子と1以上のパラメータの入力を受け付ける第二入力受付部と、
前記1以上のパラメータと前記構成要素識別子を対応付けて前記パラメータ管理部に蓄積するパラメータ情報蓄積部をさらに具備する請求項1から請求項8いずれか記載のシミュレーション装置。
【請求項10】
機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付部と、
前記機能要素情報を前記機能要素情報格納部に蓄積する機能要素情報蓄積部をさらに具備する請求項1から請求項9いずれか記載のシミュレーション装置。
【請求項11】
分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が1以上、記憶媒体に格納されており、
生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な1以上の機能要素識別子との対応が、記憶媒体に管理されており、
構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な1以上のパラメータを有するパラメータ情報が、記憶媒体に管理されており、
シミュレーション命令受付部により、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、
機能要素識別子取得部により、前記シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を取得する機能要素識別子取得ステップと、
パラメータ取得部により、前記シミュレーション命令が有する構成要素識別子に対応する1以上のパラメータを取得するパラメータ取得ステップと、
実行部により、前記パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行ステップを、コンピュータに、実行させるためのプログラム。
【請求項12】
前記構成要素識別子と前記1以上の機能要素識別子との対応の管理に加えて、前記構成要素識別子と前記1以上の機能要素識別子と配置関数識別子との対応も、記憶媒体に管理されており、
前記機能要素識別子取得ステップは、
前記シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子と配置関数識別子を取得し、
前記実行ステップは、
前記パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、前記機能要素識別子取得ステップで取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する請求項11記載のプログラム。
【請求項13】
前記機能要素情報は、階層化されており、
前記実行ステップは、
前記機能要素識別子取得ステップで取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、前記パラメータ取得ステップで取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する請求項11記載のプログラム。
【請求項14】
第一入力受付部により、構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付ステップと、
静的構造情報蓄積部により、前記構成要素識別子と機能要素識別子の対応を示す情報を蓄積する静的構造情報蓄積ステップを、コンピュータに、さらに実行させるための請求項11から請求項13いずれか記載のプログラム。
【請求項15】
第二入力受付部により、構成要素識別子と1以上のパラメータの入力を受け付ける第二入力受付ステップと、
パラメータ情報蓄積部により、前記1以上のパラメータと前記構成要素識別子を対応付けて蓄積するパラメータ情報蓄積ステップを、コンピュータに、さらに実行させるための請求項11から請求項14いずれか記載のプログラム。
【請求項16】
第三入力受付部により、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付ステップと、
機能要素情報蓄積部により、前記機能要素情報を蓄積する機能要素情報蓄積ステップを、コンピュータに、さらに実行させるための請求項11から請求項15いずれか記載のプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、生物の臓器や器官等をシミュレーションするシミュレーション装置およびそのプログラム等に関するものである。
【背景技術】
【0002】
従来の生体機能のシミュレーションを行うことができるシミュレーション装置としてE-Cellというシミュレーション装置がある(非特許文献1参照)。E-Cellは、いわゆる細胞モデル構築基盤と言えるものである。

【非特許文献1】M.Tomita, K.Hashimoto, K.Takahashi, T.Shimizu, Y.Matsuzaki, F.Miyoshi, K.Saito, S.Tanida, K.Yugi, J.C.Venter, and C.A.Hutchison III, 「E-CELL:software environment for whole-cell simulation」 in Bioinformatics, vol.15, no.1, pp.72-84, 1999
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、非特許文献1におけるシミュレーション装置は、細胞のシミュレーションしか想定していないため、細胞の集合である組織や臓器、個体レベルでのシミュレーションができない、という課題があった。
【0004】
本発明は、従来の課題を解決するためになされたもので、細胞の集合である組織や臓器、個体レベルでのシミュレーションを容易に行えるシミュレーション装置を提供することを目的とする。さらに、簡単なデータの追加定義(オーサリング)により、新しい組織や臓器、個体等もシミュレーションできる環境を提供することを目的とする。
【課題を解決するための手段】
【0005】
本第一の発明のシミュレーション装置は、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を1以上格納している機能要素情報格納部と、生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な1以上の機能要素識別子との対応を管理している静的構造管理部と、構成要素識別子と当該構成要素識別子で識別される生体構成要素または個体の機能を実現するに必要な1以上のパラメータを有するパラメータ情報を管理しているパラメータ管理部と、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付部と、シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を静的構造管理部から取得する機能要素識別子取得部と、シミュレーション命令が有する構成要素識別子に対応する1以上のパラメータをパラメータ管理部から取得するパラメータ取得部と、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行部を具備するシミュレーション装置である。
かかるシミュレーション装置は、生物学的知識に基づいて生体の構成要素の階層や機能や性質(電気的性質、物理的性質など)を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となる。
【0006】
また、第二の発明のシミュレーション装置は、第一の発明のシミュレーション装置における静的構造管理部が、細胞を識別する細胞識別子と臓器を識別する臓器識別子と前記細胞の前記臓器内における位置を特定する関数である配置関数を識別する配置関数識別子との対応を管理し、かつ、構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な1以上の機能要素識別子との対応を管理しており、機能要素識別子取得部は、シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子と配置関数識別子を前記静的構造管理部から取得し、実行部は、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、シミュレーション実現プログラムの実行結果を出力するシミュレーション装置である。
かかるシミュレーション装置は、例えば、細胞の臓器内における位置を考慮した臓器全体のシミュレーションが可能であり、より高度で精密な生体のシミュレーションが可能である。
【0007】
また、第三の発明のシミュレーション装置は、第一の発明のシミュレーション装置における静的構造管理部は、生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している細胞機能管理手段と、臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している臓器細胞管理手段を具備し、構成要素識別子は、臓器または器官を識別する臓器識別子であり、機能要素識別子取得部は、シミュレーション命令が有する臓器識別子と対応付けられる1以上の細胞識別子を前記臓器細胞管理手段から取得し、当該1以上の細胞識別子と対応付けられる1以上の機能識別子を前記細胞機能管理手段から取得するシミュレーション装置である。
かかるシミュレーション装置は、第一の発明と同様、生物学的知識に基づいて生体の構成要素の階層や機能や性質(電気的性質、物理的性質など)を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となる。
【0008】
また、第四の発明のシミュレーション装置は、第三の発明のシミュレーション装置における臓器細胞管理手段は、臓器または器官を識別する臓器識別子と細胞識別子と、当該細胞識別子で識別される細胞の前記臓器識別子で識別される臓器または器官内における配置を算出する配置関数を識別する配置関数識別子の対応を管理し、機能要素識別子取得部は、シミュレーション命令が有する臓器識別子と対応付けられる1以上の細胞識別子と配置関数識別子を前記臓器細胞管理手段から取得し、当該1以上の細胞識別子と対応付けられる1以上の機能識別子を前記細胞機能管理手段から取得し、実行部は、パラメータ取得部が取得したパラメータの一部または全部を、機能要素識別子取得部が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得部が取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、シミュレーション実現プログラムの実行結果を出力するシミュレーション装置である。
かかるシミュレーション装置は、例えば、細胞の臓器内における位置を考慮した臓器全体のシミュレーションが可能であり、より高度で精密な生体のシミュレーションが可能である。
【0009】
また、第四の発明のシミュレーション装置は、第一の発明のシミュレーション装置における機能要素情報格納部は、階層化された2以上の機能要素情報を格納しており、実行部は、機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行するシミュレーション装置である。つまり、第四の発明のシミュレーション装置は、オブジェクト指向に基づく、生体構造のデータ管理を有し、かつオブジェクト指向に基づくプログラム実行によるシミュレーションを行うことにより、シミュレーションの対象となる生命体の構成要素すなわち、臓器・器官、細胞・組織、機能要素という階層構造を有する生命体の構成要素等のデータを新たに定義し、格納されている機能要素に対応するプログラムをより大きなプログラムの一部として活用することにより、新しいシミュレーション対象の機能を容易にシミュレーションすることができる。このシミュレーションプログラム構築法は、対象とする生命体の構成要素から制限を受けないので、あらゆるレベルの構成要素を同時に複数シミュレーションし、結果を相互に反映させることができる。
【0010】
また、第五の発明のシミュレーション装置は、上記のシミュレーション装置に加えてオーサリング機能を有するシミュレーション装置である。具体的には、上記のシミュレーション装置に加えて、構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付部と、構成要素識別子と機能要素識別子の対応を示す情報を静的構造管理部に蓄積する静的構造情報蓄積部をさらに具備する。また、上記のシミュレーション装置に加えて、構成要素識別子と1以上のパラメータの入力を受け付ける第二入力受付部と、1以上のパラメータと構成要素識別子を対応付けてパラメータ管理部に蓄積するパラメータ情報蓄積部をさらに具備する。さらに、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付部と、機能要素情報を機能要素情報格納部に蓄積する機能要素情報蓄積部をさらに具備する。
かかるシミュレーション装置は、新たに仕組みや構造が解明された個体、臓器、細胞等のデータやプログラムを簡単に定義でき、かかるデータ等の定義だけで、新しい個体、臓器等の機能がシミュレーションできる。
【発明の効果】
【0011】
本発明は、個体、臓器・器官、細胞・組織、細胞内小器官、分子といったの生体機能を構成する機能要素の階層構造等のデータと、各機能要素に対応するプログラムを利用して、種々の生体の機能がシミュレーションできる。
【発明を実施するための最良の形態】
【0012】
以下、シミュレーション装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
【0013】
本実施の形態において、個体と生体構成要素を生物学的知識に沿って階層化した機能要素データ構造が存在し、機能要素ごとの振る舞い(関数)を保持し、1以上の生体機能をシミュレーションすることができるシミュレーション装置について説明する。なお、生体構成要素とは、臓器または器官、細胞・組織、細胞内小器官、分子等の生体を構成する要素である。また、組織とは、2以上の細胞の集合であり、生物学的に一まとまりとして考えられるものである。また、本シミュレーション装置は、任意のレベルの生体機能のシミュレーションを行える。ここで、「任意のレベル」とは、個体および種々の単位の生体構成要素を包含していることを意味する。種々の単位の生体構成要素とは、例えば、臓器または器官、細胞・組織、細胞内小器官、分子などである。また、個体とは生体そのものである。上記の個体、臓器・器官、細胞・組織、細胞内小器官、分子という階層構造は、生物学的な個体、臓器等の構造モデルと合致している。
【0014】
以下、本発明の実施の形態のシミュレーション装置について、図面を用いて説明する。図1は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部101、静的構造管理部102、パラメータ管理部103、シミュレーション命令受付部104、機能要素識別子取得部105、パラメータ取得部106、実行部107を具備する。静的構造管理部102は、細胞機能管理手段1021、臓器細胞管理手段1022を具備する。ただし、静的構造管理部102が細胞機能管理手段1021、臓器細胞管理手段1022を具備することは、静的構造管理部102の内部構造の一例である。
【0015】
機能要素情報格納部101は、生物を構成する要素である分子、細胞内小器官、細胞、組織、もしくは臓器の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報を1以上格納している。機能要素情報は、機能要素識別子と、シミュレーション実現プログラムを識別するプログラム識別子と、シミュレーション実現プログラムを有していても良い。また、機能要素情報は、機能要素識別子と2以上のシミュレーション実現プログラムを有していても良い。機能要素識別子は、上記機能を識別する情報であれば何でも良い。シミュレーション実現プログラムの記述言語や、形式は問わない。つまり、シミュレーション実現プログラムは、実行形式であっても良いし、ライブラリ形式であっても良いし、プログラムの関数であっても良い。また、1以上のシミュレーション実現プログラムの中には、シミュレーション結果を出力する処理も行うプログラムがある。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積等を含む概念である。機能要素情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0016】
静的構造管理部102は、細胞内小器官、細胞、組織、臓器である生物構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物成要素の機能を実現するに必要な1以上の機能要素識別子との対応を保持している。静的構造管理部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
パラメータ管理部103は、構成要素識別子と当該構成要素識別子で識別される生物の構成要素の機能を実現するに必要な1以上のパラメータを有するパラメータ情報を保持している。パラメータ管理部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0017】
シミュレーション命令受付部104は、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付ける。シミュレーション命令の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。シミュレーション命令受付部104は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0018】
機能要素識別子取得部105は、シミュレーション命令受付部104が受け付けたシミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を静的構造管理部102から取得する。機能要素識別子取得部105は、通常、MPUやメモリ等から実現され得る。機能要素識別子取得部105が1以上の機能要素識別子を取得するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0019】
パラメータ取得部106は、シミュレーション命令受付部104が受け付けたシミュレーション命令が有する構成要素識別子に対応する1以上のパラメータをパラメータ管理部103から取得する。パラメータ取得部106は、通常、MPUやメモリ等から実現され得る。パラメータ取得部106が1以上のパラメータを取得するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0020】
実行部107は、パラメータ取得部106が取得したパラメータの一部または全部を、機能要素識別子取得部105が取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する。機能要素識別子取得部105が取得した機能要素識別子と対になるシミュレーション実現プログラムは、機能要素情報格納部101における管理情報から決定され得る。実行部107は、通常、MPUやメモリ等から実現され得る。実行部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
細胞機能管理手段1021は、生物の細胞または組織を識別する細胞識別子と機能識別子の対応を管理している。
臓器細胞管理手段1022は、臓器または器官を識別する臓器識別子と細胞識別子の対応を管理している。細胞機能管理手段1021および臓器細胞管理手段1022は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
以下、本シミュレーション装置の動作について図2のフローチャートを用いて説明する。
(ステップS201)シミュレーション命令受付部104は、構成要素識別子(ここでは、臓器識別子)を有するシミュレーション命令を受け付けたか否かを判断する。シミュレーション命令を受け付ければステップS202に行き、シミュレーション命令を受け付けなければステップS201に戻る。
(ステップS202)シミュレーション命令が有する臓器識別子を取得する。
(ステップS203)機能要素識別子取得部105は、ステップS202で取得した臓器識別子に対応する1以上の細胞識別子を取得する。
(ステップS204)カウンタiに1を代入する。
【0021】
(ステップS205)実行部107は、ステップS203で取得した細胞識別子において、i番目の細胞識別子が存在するか否かを判断する。i番目の細胞識別子が存在すればステップS206に行き、i番目の細胞識別子が存在しなければ処理を終了する。なお、図2のフローチャートが終了した場合でも、シミュレーション実現プログラムによるシミュレーション結果の出力は継続しても良いことは言うまでもない。
(ステップS206)機能要素識別子取得部105は、i番目の細胞識別子に対応する1以上の機能要素識別子を取得する。
(ステップS207)カウンタjに1を代入する。
(ステップS208)実行部107は、ステップS206で取得した機能要素識別子において、j番目の機能要素識別子が存在するか否かを判断する。j番目の機能要素識別子が存在すればステップS209に行き、j番目の機能要素識別子が存在しなければステップS213に飛ぶ。
(ステップS209)実行部107は、j番目の機能要素識別子に対応するシミュレーション実現プログラムを機能要素情報格納部101から取得する(読み出す)。
(ステップS210)パラメータ取得部106は、シミュレーション命令受付部104が受け付けたシミュレーション命令が有する臓器識別子に対応する1以上のパラメータを、パラメータ管理部103から取得する。
(ステップS211)実行部107は、ステップS210で取得した1以上のパラメータを、ステップS209で取得したシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する。
(ステップS212)カウンタjを1インクリメントする。ステップS208に戻る。
(ステップS213)カウンタiを1インクリメントする。ステップS205に戻る。
なお、図2のフローチャートにおいて、実行されるシミュレーション実現プログラムが2以上の場合、実行される順序が決まっていても良いし、任意でも良い。また、シミュレーション実現プログラムは、例えば、時間の経過に伴って、定期的にまたは適切なタイミングでシミュレーション結果を出力する。
【0022】
以下、本実施の形態におけるシミュレーション装置の具体的な動作について説明する。図3は、機能要素情報格納部101の機能要素情報管理表の具体例である。機能要素情報管理表は、「ID」「機能要素識別子」「プログラム識別子」を有するレコードを1以上保持している。「ID」は、レコードを識別する情報であり、表管理上の要請のために存在する。また、機能要素情報格納部101は、別途、プログラム識別子に対応するプログラムを保持している。図3において、機能要素識別子「細胞」に対応するプログラム識別子は「cell」である。プログラム識別子「cell」で識別されるプログラム(メソッドまたは関数)は、細胞内の濃度や細胞内外の電位差を算出するプログラムである。プログラム識別子「ion_channel」で識別されるプログラムは、イオンの流量を算出するプログラムである。プログラム識別子「H/K_pump」で識別されるプログラムは、H/Kポンプの力を算出するプログラムである。プログラム識別子「smoth_muscle_myosin」で識別されるプログラムは、平滑筋が収縮する力を算出するプログラムである。プログラム識別子「SR」で識別されるプログラムは、カルシウムの放出量を算出するプログラムである。プログラム識別子「actomyosin」で識別されるプログラムは、横紋筋が収縮する力を算出するプログラムである。プログラム識別子「Na_channel」で識別されるプログラムは、Naの流量を算出するプログラムである。プログラム識別子「K_channel」で識別されるプログラムは、Kの流量を算出するプログラムである。プログラム識別子「CaL_channel」で識別されるプログラムは、L型Caの流量を算出するプログラムである。
図4は、細胞機能管理手段1021の細胞機能管理表の具体例である。細胞機能管理表は、「ID」「細胞識別子」「機能要素識別子」を有するレコードを1以上保持している。図4において、細胞識別子「上皮細胞」で識別される細胞は、機能要素識別子「細胞」「イオンチャネル」で識別される機能を有することを示す。
【0023】
図5は、臓器細胞管理手段1022の臓器細胞管理表の具体例である。臓器細胞管理表は、「ID」「臓器識別子」「配置関数識別子」「細胞識別子」を有するレコードを1以上保持している。「配置関数識別子」は、対応する細胞識別子で識別される細胞が、対応する臓器識別子で識別される臓器中に、どのように配置されるかを示す関数を識別する情報である。例えば、図5の臓器細胞管理表の「ID=1」のレコードにおいて、多数の上皮細胞は、配置関数識別子「配置関数A」に基づいて、臓器「胃」に配置されることを示す。
【0024】
図6は、パラメータ管理部103のパラメータ情報管理表の具体例である。「ID」「臓器識別子」「パラメータ」を有するレコードを1以上保持している。パラメータ情報管理表の「ID=1」のレコードにおいて、臓器識別子「胃」で識別される臓器「胃」は、パラメータ「par11,par12・・・」を有することを意味する。パラメータ「par11」は、例えば、胃が有する細胞数であり、パラメータ「par12」は、例えば、胃が有するイオンチャネル数である。
以上、図3から図6の各表で示すデータやパラメータ等は、生物学的な実験や知識に基づいて取得され得るデータ等である。
【0025】
以上の状況において、図7に示すように、ユーザは、シミュレーション対象の「構成要素識別子」を入力し、シミュレーションを実行する「実行」ボタンを押下する。次に、シミュレーション装置は、構成要素識別子「胃」を有するシミュレーション命令を受け付ける。次に、シミュレーション装置は、構成要素識別子(臓器識別子)「胃」に対応する細胞識別子「上皮細胞」「胃酸分泌細胞」「平滑筋細胞」等を図5の臓器細胞管理表から取得する。また、シミュレーション装置は、構成要素識別子(臓器識別子)「胃」に対応するパラメータ「par11,par12,・・・」を、図6のパラメータ情報管理表から取得する。次に、シミュレーション装置は、細胞識別子「上皮細胞」「胃酸分泌細胞」「平滑筋細胞」等に対応する機能要素識別子「細胞」「イオンチャンネル」「H/Kポンプ」等を、図4の細胞機能管理表から取得する。そして、シミュレーション装置は、機能要素識別子「細胞」「イオンチャンネル」「H/Kポンプ」等に対応するプログラム識別子「cell」「ion_channel」「H/K_pump」等を、図3の機能要素情報管理表から取得する。そして、シミュレーション装置は、シミュレーション対象識別子「胃」に対応するパラメータ「par11,par12,・・・」を、プログラム識別子「cell」「ion_channel」「H/K_pump」で識別されるシミュレーション実現プログラムに渡し(必要なパラメータのみを対応するシミュレーション実現プログラムに渡し)、当該シミュレーション実現プログラムを実行する。なお、シミュレーション装置は、配置関数識別子で識別される配置関数を実行し、多数の細胞を臓器に配置し、各細胞のふるまいを合わせ、臓器のふるまいとして出力する。
【0026】
つまり、例えば、シミュレーション装置は、胃の収縮のシミュレーションを行う場合に、上皮細胞や胃酸分泌細胞などの個々の細胞の収縮力を時系列的に計算し、各細胞の配置を配置関数により算出する。そして、シミュレーション装置は、胃を構成するすべての細胞の各地点(胃内における位置)での収縮を、時系列的にすべて出力することにより、胃全体の収縮のシミュレーションが可能となる。
以上の処理により、シミュレーション装置は、胃等の臓器全体のシミュレーション結果を出力する。なお、シミュレーション出力は、グラフによる出力、図的、または動画による出力等、何でも良い。
以上、本実施の形態によれば、個体、臓器、組織、細胞、細胞内小器官、分子という生体の階層構造をモデル化し、当該モデルに合致するデータ構造および機能要素を定義すること等により、生体や臓器等の機能、動作をシミュレーションできる。なお、かかる構造モデルは、生物学的な構造モデルに合致している。
【0027】
なお、本実施の形態によれば、胃などの臓器のシミュレーション結果だけではなく、個体、組織、細胞、細胞内小器官、分子などのシミュレーションも可能である。個体のシミュレーションは、複数の臓器を並行してシミュレーションすれば良い。また、細胞、細胞内小器官、分子などは、臓器を構成する要素であり、上述したように、細胞のシミュレーションができる結果、臓器等のシミュレーションができるからである。かかることは、他の実施の形態におけるシミュレーション装置においても同様である。
【0028】
また、本実施の形態におけるシミュレーション装置によれば、上記のデータ構造(たとえば、図3から図6の管理表)にしたがって、複数の臓器(例えば、胃、心臓、肝臓など)のデータさえ用意すれば、例えば、薬を個体(生体)に与えた場合に、複数の臓器に起こり得る副作用などが容易に把握できる。その結果、例えば、胃の病気を治す薬を与えた場合に、心臓に副作用が発生するものなどを、患者に投与する前に容易に把握でき、有効な医療行為、人命の救助等に極めて有効である。
【0029】
また、本実施の形態のシミュレーション装置において、図5の臓器細胞管理表の配置関数識別子の属性は、存在しなくても良い。かかる場合、臓器全体の比較的完成度の高いシミュレーションは困難であるが、一の臓器が有する複数種類の細胞のシミュレーションが可能となり、上記同様に、複数種類の細胞に及ぼし影響が同時に把握でき、有効な医療行為、人命の救助等に極めて有効である。ただし、配置関数識別子を用いて、複数種類の細胞の臓器内における位置も含めたシミュレーションを行った場合には、さらに有効なシミュレーションを行えることは言うまでもない。かかることは、他の実施の形態におけるシミュレーション装置においても同様である。
【0030】
また、本実施の形態のシミュレーション装置は、上記した構造に限られない。つまり、本実施の形態のシミュレーション装置は、生物学的知識に基づいて生体の構成要素の階層や機能や性質(電気的性質、物理的性質など)を管理しており、かかる管理情報を利用したシミュレーションを行うことにより、細胞の集合である組織や臓器、個体レベルでのシミュレーションが可能となれば良い。つまり、本シミュレーション装置は、個体、臓器または器官と、1以上の細胞または組織と、1以上の細胞内小器官または分子と、1以上の機能要素の関連を管理しており、当該機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムを1以上保持しており、構成要素識別子とシミュレーション実現プログラムに与えるパラメータを対応付けて保持しており、受け付けた構成要素識別子が示す個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子と関連する機能要素に対応する機能をシミュレーションするシミュレーション実現プログラムに、当該シミュレーション対象識別子に対応するパラメータを渡し、当該シミュレーション実現プログラムを実行することにより個体、臓器、器官、組織、細胞、細胞内小器官もしくは分子のシミュレーションを行うシミュレーション装置であれば良い。また、臓器内または器官内における細胞の配置を特定する関数である配置関数をさらに管理しており、配置関数を実行し、ミュレーション実現プログラムの実行結果を、配置関数の実行結果に基づいて出力するシミュレーション装置であれば、さらに好適である。かかることは、他の実施の形態においても同様である。
【0031】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が1以上格納されており、生体構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物構成要素の機能を実現するに必要な1以上の機能要素識別子との対応が管理されており、構成要素識別子と当該構成要素識別子で識別される生物の構成要素の機能を実現するに必要な1以上のパラメータを有するパラメータ情報が管理されており、シミュレーション対象の生体構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を取得する機能要素識別子取得ステップと、シミュレーション命令が有する構成要素識別子に対応する1以上のパラメータを取得するパラメータ取得ステップと、パラメータ取得ステップで取得したパラメータの一部または全部を、機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行する実行ステップを実行させるためのプログラム、である。
【0032】
また、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、上記プログラムに対して、構成要素識別子と前記1以上の機能要素識別子との対応の管理に加えて、前記構成要素識別子と前記1以上の機能要素識別子と配置関数識別子との対応も管理されており、機能要素識別子取得ステップは、シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子と配置関数識別子を取得し、実行ステップは、パラメータ取得ステップで取得したパラメータの一部または全部を、前記機能要素識別子取得ステップで取得した機能要素識別子と対になるシミュレーション実現プログラムに渡し、当該シミュレーション実現プログラムを実行し、かつ、機能要素識別子取得ステップで取得した配置関数識別子で識別される配置関数を実行し、その結果である細胞の位置に基づいて、前記シミュレーション実現プログラムの実行結果を出力する記載のプログラムである。
(実施の形態2)
【0033】
本実施の形態におけるシミュレーション装置は、実施の形態1におけるシミュレーション装置に対して、機能要素情報格納部は、階層化された2以上の機能要素情報を格納しており、実行部は、機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行するシミュレーション装置である。さらに、具体的には、本シミュレーション装置は、機能要素のシミュレーション実現プログラムをオブジェクト指向のクラス継承の機構を用いて実現する。上述した「機能要素識別子取得部が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに・・・」とは、オブジェクト指向のクラス継承の機構を用いることを意味する。
図8は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部801、静的構造管理部102、パラメータ管理部103、シミュレーション命令受付部104、機能要素識別子取得部105、パラメータ取得部106、実行部807を具備する。
機能要素情報格納部801は、階層化された2以上の機能要素情報を格納している。機能要素情報の具体例は、後述する。機能要素情報格納部801は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0034】
実行部807は、機能要素識別子取得部105が取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得部106が取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する。つまり、実行部807のプログラム実行機構は、オブジェクト指向におけるクラス継承の仕組みを用いたプログラム実行機構である。実行部807は、通常、MPUやメモリ等から実現され得る。実行部807の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
以下、本シミュレーション装置の動作について図9のフローチャートを用いて説明する。
(ステップS901)シミュレーション命令受付部104は、シミュレーション対象の構成要素識別子を有するシミュレーション命令を受け付けたか否かを判断する。シミュレーション命令を受け付ければステップS902に行き、シミュレーション命令を受け付けなければステップS901に戻る。
(ステップS902)シミュレーション命令が有する構成要素識別子を取得する。
(ステップS903)機能要素識別子取得部105はステップS902で取得した構成要素識別子に対応する1以上の機能要素識別子を取得する。
(ステップS904)パラメータ取得部106はステップS902で取得した構成要素識別子に対応する1以上のパラメータを取得する。
(ステップS905)実行部807は、カウンタiに1を代入する。
【0035】
(ステップS906)実行部807は、i番目の機能要素識別子が存在するか否かを判断する。i番目の機能要素識別子が存在すればステップS907に行き、i番目の機能要素識別子が存在しなければ処理を終了する。なお、図9のフローチャートが終了した場合でも、シミュレーション実現プログラムによるシミュレーション結果の出力は継続しても良いことは言うまでもない。
【0036】
(ステップS907)実行部807は、i番目の機能要素識別子が別の構成要素識別子であるか否かを判断する。別の構成要素識別子であればステップS903に戻る。別の構成要素識別子でなければステップS908に飛ぶ。つまり、i番目の機能要素識別子が別の構成要素識別子であれば、再帰的にステップS903以降の処理を呼び出すことになる。ここで、上述したクラス継承の仕組みが実現されている。
(ステップS908)実行部807は、i番目の機能要素識別子に対応するプログラム識別子を取得する。
(ステップS909)実行部807は、ステップS908で取得したプログラム識別子に対応するプログラムに、パラメータを渡し、実行する。なお、本パラメータは、ステップS904で取得したパラメータの一部または全部である。
(ステップS910)カウンタiを1、インクリメントする。ステップS906に戻る。
以下、本実施の形態におけるシミュレーション装置の具体的な動作について説明する。
図10は、機能要素情報格納部801の具体例である。機能要素情報格納部101は、プログラム識別子に対応するプログラムを保持している。プログラムはオブジェクト指向の継承を利用して実行される。また、図10において、生物学的階層構造をクラス階層として表現している。図10は、機能要素情報格納部801に格納されている機能要素情報の具体例である。機能要素情報格納部801は、プログラム識別子に対応するプログラムも保持している。プログラムはオブジェクト指向の継承を利用して、生物学的機能分類も同時に表現している。図10における矢印は継承を表し、指し示す先が親クラスである。「Object」クラスはルートクラスである。「Node」は変数クラスである。変数クラスとは、変数に与える値を保持しているクラスであり、当該値は、微分方程式により計算される。「Reactor」は機能要素を表す抽象クラスである。「Molecule」は分子レベルの機能要素を表すクラスである。「Membrane Transporter」は生物学的な膜輸送体に対応し、膜を横切って物質を移動させるという機能を実現する抽象クラスである。「Channel」クラスは生物学的なチャネルの概念に対応しており、受動的に開閉し、「Membrane transporter」の一種である。「Channel」クラスは、自身の開口確率を計算するメソッド(関数)を保持しているクラスである。「Na channel」クラスはNaイオンを選択的に通過させるメソッド(関数)を保持しているクラスである。「K channel」クラスはKイオンを選択的に通過させるメソッド(関数)を保持しているクラスである。一方、「Structure」クラスは構造情報を表すクラスである。「Compartment」は他と区画された空間を示し、イオンなどが存在しうる。「Cell」は細胞を表すクラスである。活動電位を発生させる細胞のシミュレーションモデルは、ここに示したクラスを組み合わせてシミュレートすることが出来る。そして、本シミュレーション装置は、上記のクラス階層構造のデータ、およびクラス継承によるメソッド実行の仕組みにより、複数の細胞等の集合である臓器や器官や個体をシミュレーションできる。複数の細胞のシミュレーション結果を合わせて、出力することにより、臓器等のシミュレーションが可能となる。かかる論理は、実施の形態1で述べた論理と同様である。なお、図10における機能要素のクラス階層は、生物学的分類に一致しているために、精度の良い生体のシミュレーションが可能である。
図11は、機能構成要素およびパラメータ管理部103が保持する管理表の具体例である。本管理表は、XMLで記述されている。なお、管理表は、「細胞識別子」「機能識別子」「パラメータ」を有するデータを1以上保持する構造である。ここに示したように、管理表はXML形式以外の他の表現方法を用いても良い。
【0037】
以上の状況において、例えば、図7に示したのと同様の入力画面から、ユーザは、シミュレーション対象の「構成要素識別子」を入力し、シミュレーションを実行する「実行」ボタンを押下する。次に、例えば、シミュレーション装置は、シミュレーション対象識別子「心臓」を有するシミュレーション命令を受け付ける。次に、シミュレーション装置は、シミュレーション対象の構成要素識別子「心臓」に対応する識別子「ペースメーカー細胞」「心筋細胞」「結合組織(図示しない)」を、例えば図5の表から取得する。次に、シミュレーション装置は、識別子「結合組織」に対応する機能要素識別子「筋細胞」「上皮細胞」等を取得する。なお、「結合組織」は、構成要素識別子である、とする。次に、シミュレーション装置は、識別子「ペースメーカー細胞」「心筋細胞」「筋細胞」「上皮細胞」等に対応する機能要素識別子「細胞」「イオンチャンネル」「筋小胞体」等を、図4の管理表から取得する。そして、シミュレーション装置は、シミュレーション対象識別子「心臓」に対応するパラメータ(par21,par22など(例えば、図6参照))を、「細胞」「イオンチャンネル」「筋小胞体」等の機能要素シミュレーション実現プログラムに渡し、実行する。
【0038】
以上の処理により、シミュレーション装置は、例えば、図12に示すシミュレーション結果を出力する。図12において、(a)は心筋細胞膜電位、(b)は心筋細胞カルシウム(Ca)濃度変化、(c)は心筋細胞発生張力である。図12におけるグラフは、縦軸[A]は電位(mv)、縦軸[B]はカルシウム濃度、縦軸[C]は張力を示す。また、グラフの横軸は時間(t)である。図12において、以下のシミュレーション結果であることが読み取れる。つまり、図12において、Naチャネルが活性化して、活動電位(a)のトリガーとなる。すると、Caチャネルが開いてCaが流入する。流入したCaがSRに作用して、SRからCaが放出され、細胞内Ca濃度(b)が一過性に増加する。Ca濃度に応じて、収縮蛋白が収縮(c)し、力を発生する。それぞれのプログラムが反応の速度、大きさを計算する。
【0039】
なお、図12におけるシミュレーション出力は、グラフによる出力であったが、臓器の動作を図的、または動画として出力しても良い。臓器の動作を図的、または動画として出力するために、以下のように動作させることにより可能である。図12におけるシミュレーション出力は、細胞の収縮などの情報を出力している。そして、臓器を構成する多数の細胞等の位置情報を有する、とする。そして、臓器のそれぞれの位置に存在する多数の細胞がそれぞれ図的に収縮すれば、臓器全体の収縮が動画として表現されえる。なお、細胞等の位置情報は、実施の形態1における配置関数を実行することにより取得しても良い。
【0040】
以上、本実施の形態によれば、個体、臓器、組織、細胞、細胞内小器官、分子という生体の階層構造をモデル化し、当該モデルに合致するデータ構造および機能要素を定義すること等により、生体の機能、動作をシミュレーションできる。なお、かかる構造モデルは、生物学的な構造モデルに合致している。したがって、本実施の形態におけるシミュレーション装置によれば、上記のデータ構造にしたがって、複数の臓器(例えば、胃、心臓、肝臓など)のデータさえ用意すれば、例えば、薬を個体(生体)に与えた場合に、複数の臓器に起こり得る副作用などが容易に把握できる。その結果、例えば、心臓の病気に効く薬を人間に与えた場合に、他の臓器に及ぼす副作用が把握でき、医療行為、人命の救助等に極めて有効である。
【0041】
なお、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、コンピュータに、分子、細胞内小器官、細胞、組織、もしくは臓器等の、生物を構成する要素である生体構成要素の機能を識別する機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報が階層化されて2以上格納されており、生物構成要素または個体を識別する構成要素識別子と当該構成要素識別子で識別される生物構成要素または個体の機能を実現するに必要な1以上の機能要素識別子との対応が管理されており、構成要素識別子と当該構成要素識別子で識別される生物構成要素または個体の機能を実現するに必要な1以上のパラメータを有するパラメータ情報が管理されており、シミュレーション対象の生物構成要素または個体を識別する構成要素識別子を有するシミュレーション命令を受け付けるシミュレーション命令受付ステップと、シミュレーション命令が有する構成要素識別子と対応付けられる1以上の機能要素識別子を取得する機能要素識別子取得ステップと、シミュレーション命令が有する構成要素識別子に対応する1以上のパラメータを取得するパラメータ取得ステップと、機能要素識別子取得ステップで取得した機能要素識別子が含まれる機能要素情報の上位の機能要素情報が有するシミュレーションプログラムに、パラメータ取得ステップで取得したパラメータの一部または全部を渡し、当該シミュレーションプログラムを実行する実行ステップを実行させるためのプログラムである。
(実施の形態3)
【0042】
本実施の形態におけるシミュレーション装置は、実施の形態1、2におけるシミュレーション装置に対して、オーサリング機能を有するシミュレーション装置である。例えば、シミュレーション装置において、グラフ等の形式で、シミュレーション対象の構造を視覚的に表現し、オーサリングできる。同時に対象オブジェクトに渡すパラメータを設定し、機能要素情報とのリンクを作成し、新たな機能要素シミュレーション実現プログラムと関連づけることができる
かかるオーサリング機能により、容易に新しい臓器や器官のシミュレーションが可能になる。
【0043】
図13は、本実施の形態におけるシミュレーション装置のブロック図である。本シミュレーション装置は、機能要素情報格納部101、静的構造管理部102、パラメータ管理部103、シミュレーション命令受付部104、機能要素識別子取得部105、パラメータ取得部106、実行部107、入力受付部1301、静的構造情報蓄積部1302、パラメータ情報蓄積部1303、機能要素情報蓄積部1304を具備する。
【0044】
入力受付部1301は、以下の3種類の情報の入力を受け付ける。第一は、構成要素識別子と機能要素識別子の対応を示す情報である(以下、適宜、「第一の入力」という)。第二は、構成要素識別子と1以上のパラメータの入力である(以下、適宜、「第二の入力」という)。第三は、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力である(以下、適宜、「第三の入力」という)。入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。入力受付部1301は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
静的構造情報蓄積部1302は、入力受付部1301が受け付けた構成要素識別子と機能要素識別子の対応を示す情報を静的構造管理部102に蓄積する。
パラメータ情報蓄積部1303は、入力受付部1301が受け付けた1以上のパラメータと構成要素識別子を対応付けてパラメータ管理部103に蓄積する。
【0045】
機能要素情報蓄積部1304は、機能要素情報を機能要素情報格納部101に蓄積する。静的構造情報蓄積部1302、パラメータ情報蓄積部1303および機能要素情報蓄積部1304は、通常、MPUやメモリ等から実現され得る。静的構造情報蓄積部1302等が情報を蓄積するための処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0046】
以下、本シミュレーション装置の動作について説明する。本シミュレーション装置の入力受付部1301が受け付けた入力が、上記の第一の入力であるか、第二の入力であるか、第三の入力であるかを判断し、それぞれに対応した適切な管理部に情報を書き込む。つまり、本シミュレーション装置は、データを定義するオーサリング機能を保持している。また、本シミュレーション装置におけるシミュレーション機能は、実施の形態1で述べたのと同様であるので、詳細な説明は省略する。なお、本シミュレーション装置のシミュレーション機能は、実施の形態2におけるシミュレーション機能を有しても良い。
【0047】
以下、本実施の形態におけるシミュレーション装置におけるオーサリング機能の具体的な動作について説明する。本シミュレーション装置におけるオーサリング機能は、例えば、図3、図4、図5、図6の表を画面上に表示し、キーボードやマウスなどでデータを入力する機能である。そして、オーサリング機能は、「登録」ボタンの押下を受け付けることにより、例えば、図11のXMLで記述された定義データを出力する機能を有する。
【0048】
具体的には、例えば、図14に示すような表構造が画面上に表示され、ユーザは、キーボードを用いて、構成要素識別子と機能要素識別子の対応を示す情報の入力や、構成要素識別子と1以上のパラメータの入力や、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力などを行う。そして、「登録」ボタンを押下する。以上の処理により、例えば、図11のXMLで記述された定義データが出力される。なお、図3、図4、図5、図6の表が出力されても良い。かかる場合、シミュレーション装置は、図3から図6の表を解釈し、生体の各種機能のシミュレーションを行う。
以上、本実施の形態によれば、シミュレーション装置が実行するデータやメソッド(プログラム)の定義が容易にできる。
なお、本実施の形態において、上述したように、グラフ等の形式で、シミュレーション対象の構造を視覚的に表現し、オーサリングしても良い。また、シミュレーション装置のシミュレーション機能は、実施の形態1、2で述べた通りである。
【0049】
さらに、本実施の形態におけるシミュレーション装置を実現するソフトウェアは、実施の形態1または実施の形態2で述べたプログラムに加えて以下のステップを具備する。つまり、本プログラムは、オーサリング機能を有するプログラムである。具体的には、本プログラムは、コンピュータに、構成要素識別子と機能要素識別子の対応を示す情報を受け付ける第一入力受付ステップと、構成要素識別子と機能要素識別子の対応を示す情報を蓄積する静的構造情報蓄積ステップをさらに実行させるためのプログラムである。また、構成要素識別子と1以上のパラメータの入力を受け付ける第二入力受付ステップと、1以上のパラメータと構成要素識別子を対応付けて蓄積するパラメータ情報蓄積ステップをさらに実行させるためのプログラムである。さらに、機能要素識別子と当該機能をシミュレーションするシミュレーション実現プログラムを有する機能要素情報の入力を受け付ける第三入力受付ステップと、機能要素情報を蓄積する機能要素情報蓄積ステップをさらに実行させるためのプログラムである。
【産業上の利用可能性】
【0050】
以上のように、本発明にかかるシミュレーション装置は、組織や臓器、個体レベルでのシミュレーションができるという効果を有し、医学教育、患者教育、治療方針決定支援、新薬開発、医療機器の開発等に利用できる。
【図面の簡単な説明】
【0051】
【図1】実施の形態1におけるシミュレーション装置のブロック図
【図2】実施の形態1におけるシミュレーション装置の動作について説明するフローチャート
【図3】実施の形態1における機能要素情報管理表を示す図
【図4】実施の形態1における細胞機能管理表を示す図
【図5】実施の形態1における臓器細胞管理表を示す図
【図6】実施の形態1におけるパラメータ情報管理表を示す図
【図7】実施の形態1におけるユーザインターフェイスの例を示す図
【図8】実施の形態2におけるシミュレーション装置のブロック図
【図9】実施の形態2におけるシミュレーション装置の動作について説明するフローチャート
【図10】実施の形態2における機能要素情報格納部の例を示す図
【図11】実施の形態2における機能構成要素およびパラメータ管理部が保持する管理表の例を示す図
【図12】実施の形態2におけるシミュレーション結果を示す図
【図13】実施の形態3におけるシミュレーション装置のブロック図
【図14】実施の形態3におけるユーザインターフェイスの例を示す図
【符号の説明】
【0052】
101、801 機能要素情報格納部
102 静的構造管理部
103 パラメータ管理部
104 シミュレーション命令受付部
105 機能要素識別子取得部
106 パラメータ取得部
107、807 実行部
1021 細胞機能管理手段
1022 臓器細胞管理手段
1301 入力受付部
1302 静的構造情報蓄積部
1303 パラメータ情報蓄積部
1304 機能要素情報蓄積部


図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5
【図7】
6
【図8】
7
【図9】
8
【図10】
9
【図11】
10
【図12】
11
【図13】
12
【図14】
13