NJIT 数理学部、Victor Matveev によって開発 (2003 ~ 2023)
初期開発 (2001-2003): NIH、NIDDK、生物学モデリング研究所
複合バッファー (2 つのカルシウム結合部位) のバージョンはこのリポジトリにあります
バグ レポート (必ずスクリプトを含めてください) を次の宛先に電子メールで送信してください: [email protected]
CalC (「Calcium Calculator」) は、細胞内カルシウムの拡散と緩衝をシミュレートするためのモデリング ツールです。 CalC は、点状のチャネルを通したボリュームへのカルシウムの侵入と、その拡散、緩衝作用、およびカルシウム受容体への結合を記述する連続反応拡散偏微分方程式を解析します。 CalC は、Alternating Direction Implicit (ADI) 有限差分法のバリエーションを使用します。これは、CPU 時間効率が非常に高く、時間と空間において 2 次精度まで正確です。タイムステップはシミュレーション中に適応的に変更されます。その他の主な機能は次のとおりです。
CalC はプラットフォームに依存しません (Windows、OS X、Linux、cygwin など)。
CalC は、単純なスクリプト言語 (オプションのフロー制御機能付き) によって操作されます。
CalC は、特別な変更を加えることなく MATLAB と簡単に組み合わせることができます (以下を参照)。
CalC では、デカルト 3D、2D または 1D、極座標、球面、円筒面、円錐面など、あらゆる形状でのシミュレーションが可能です。
CalC では、分子あたり 1 つまたは 2 つのカルシウム結合部位を持つ任意の数のカルシウム バッファーを使用できます。
CalC スクリプトは、たとえばカルシウム依存性エキソサイトーシスをモデル化するために、常微分方程式を積分することもできます。
CalC の結果は、 xmgraceまたはfreeglutライブラリを使用してリアルタイムで表示できます (下記を参照)。
出版した作品で CalC を使用する場合は、2002 Biophys J の記事を引用し、出版時に CalC 出版リストに含めるための参考資料を私に送ってください。 CalC は現状のままで提供されますが、バグレポートや技術的な質問があれば対応します。
CalC はフリー ソフトウェアです。Free Software Foundation が発行する GNU General Public License の条件 (バージョン 3 のライセンス、または (任意で) それ以降のバージョン) に基づいて再配布したり、変更したりすることができます。
CalC は役立つことを期待して配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証もありません。 詳細については、GNU 一般公衆利用許諾書を参照してください。
このリポジトリに GNU 一般公衆利用許諾書のコピーが表示されます。 そうでない場合は、この URL に従ってください
最新バージョンのWindowsおよびmacOSの実行可能ファイルは、このリポジトリの実行可能ファイルフォルダーに含まれています。 実行可能ファイルの名前はシステムごとに異なることに注意してください (もちろん、名前は自由に変更できます)。このドキュメントでは、実行可能ファイルはcalcという名前で参照されます。 実行可能ファイルがお使いの OS で動作しない場合は、以下のコンパイル手順に従ってください。それ以外の場合は、この README ファイルの実行セクションに進んでください。
MSDN Visual Studio を使用してコードをコンパイルします。 Visual Studio の「プロジェクト」ファイルCalC.vcxprojには、必要な依存関係がすべて含まれています (ソース フォルダー内に存在します)。あるいは、Windows マシンに Linux エミュレータ cygwin をインストールし、以下の UNIX インストール手順に従うこともできます。
XQuartz と Xcode をインストールします。後者には、g++ などの C++ コンパイラと、コードをコンパイルするための何らかの make ユーティリティが含まれます。次に、 make を実行します。以上です。
freeglut がインストールされていない場合は、 make noGraphs を実行してコンパイルします。これにより、ランタイム OpenGl/GLUT/FreeGlut グラフィックスを含まないバージョンのプログラムがコンパイルされます。
あるいは、freeglut をインストールし、通常どおり「make」を実行します。
Windows OS のみ、CalC バージョンx.10.1以降: 提供されたfreeglut.dllが calc 実行可能ファイルを含むフォルダーに存在することを確認してください。
モデル スクリプトでコマンド ライン パラメーターを使用しない場合は、実行可能ファイルをクリックし、プロンプトが表示されたらスクリプト ファイル名を入力します (スクリプト ファイルは同じディレクトリに存在する必要があります)。あるいは、CalC スクリプトにDefaultScripts.txtという名前を付けると、実行可能ファイルの起動後に自動的に実行されます。
スクリプトでコマンドライン パラメータを使用する場合は、シェルを開き (Windows の場合は、[スタート] メニュー -> [ファイル名を指定して実行] -> [cmd] を起動)、実行可能ファイルcalcが存在するディレクトリに移動し、次のように入力します。
calc filename parList
ここで、 calcは実行可能ファイルの名前 (正しい実行可能ファイル名に置き換えてください -- 上記の実行可能ファイルフォルダーまたはコンパイル手順を参照)、 fileNameはシミュレーションを説明するスクリプト ファイルの名前、 parListはコマンド ラインのオプションのスペース区切りのリストです。パラメータ(マニュアルを参照)。
プログラムの出力とエラー メッセージを監視するには、スクリプトにステートメントverbose = 4 (またはそれ以上の冗長レベル) を含めます。これにより、シミュレーションの完了時に CalC が自動終了しなくなります。
シミュレーション結果は、ミュート プロット ステートメントを使用してリアルタイムでファイルに保存でき、MATLAB (Mathworks, Inc) などのグラフィックス対応言語で読み取り可能な ASCII ファイルが生成されます。詳細については、デモ スクリプトを参照し、マニュアルを参照してください。
バイナリ プロット タイプを使用すると、シミュレーション中の複数の時点で濃度フィールド全体を保存でき、サンプルディレクトリとデモ スクリプト ページで提供されるスクリプトを介して MATLAB を使用して読み取って表示できます。
OS ウィンドウでリアルタイム変数プロット (または 1D および 2D 濃度プロット) を作成するには、スクリプト内にコマンド plot.method gl を含めます。 Windows OS では、 freeglut.dllダイナミック ライブラリが実行可能ファイルと同じフォルダーにあることを確認してください (リポジトリで提供されます)。 macOS では、GLUT がプレインストールされています (ただし非推奨になりました)。他のプラットフォームでは、コンピューターに GLUT/freeglut をインストールし、Makefile 内のリンカー ディレクティブを適切に変更する必要があります。
注: freeglut ではグラフィック バッファのフラッシュが不安定に見え、スクリプト全体が完了するまでグラフが更新されない場合があります。さらに、gl プロットを含めると、スクリプトの実行が大幅に遅くなる可能性があります。したがって、gl プロットは主に初期スクリプトのデバッグに役立ちます。
freeglutの代わりに xmgrace グラフィックス アプリケーションを使用することもできます。これにより、シミュレーション結果をリアルタイムで表示することもできます。これには、次のコマンドを実行して、プログラム出力を xmgrace にパイプすることが含まれます。
calc scriptFileName | xmgrace -pipe
ここで、 calcは CalC 実行可能ファイルの名前、 scriptfileNameはシミュレーション スクリプトの名前です。この場合、スクリプト ファイルには命令Lot.method xmgr が含まれている必要があります。
xmgrace の自作インストールは非常に簡単に実行できます。
他のシステム プログラムと同様に、 CalC は次のコマンドを実行するだけでMATLAB (Mathworks, Inc) から起動できます。
system('.calc ScriptFileName')
その後、ミュート プロットまたはバイナリファイルを読み取ることでデータを収集できます (データ出力については上記を参照)。詳細については、「CalC デモ スクリプト リポジトリ」を参照してください。
ハイパーテキストの CalC スクリプト構文マニュアルは、この URL にあります。また、含まれているコメント付きサンプル スクリプト ファイル (ファイル拡張子「.par」) も調べてください。これらはサンプルフォルダーにあります。サンプル スクリプト ファイルは http://web.njit.edu/~matveev/calc/scripts.html でも入手できます。