Entwickelt von Victor Matveev, Department of Mathematical Sciences, NJIT (2003-2023)
Erste Entwicklung (2001–2003): Laboratory of Biological Modelling, NIDDK, NIH
Die Version für komplexe Puffer (zwei Calcium-Bindungsstellen) befindet sich in diesem Repository
Senden Sie alle Fehlerberichte per E-Mail (stellen Sie sicher, dass Sie Ihr Skript beifügen) an: [email protected]
CalC („Calcium Calculator“) ist ein Modellierungstool zur Simulation der intrazellulären Calciumdiffusion und -pufferung. CalC löst kontinuierliche Reaktions-Diffusions-PDEs, die den Eintritt von Kalzium in ein Volumen durch punktförmige Kanäle und seine Diffusion, Pufferung und Bindung an Kalziumrezeptoren beschreiben. CalC verwendet eine Variation der Finite-Differenzen-Methode Alternating Direction Implicit (ADI), die recht CPU-zeiteffizient und zeitlich und räumlich bis zur zweiten Ordnung genau ist. Der Zeitschritt wird während der Simulation adaptiv variiert. Weitere Hauptmerkmale sind:
CalC ist plattformunabhängig (Windows, OS X, Linux, Cygwin usw.)
CalC wird mit einer einfachen Skriptsprache betrieben (mit optionaler Flusskontrollfunktionalität).
CalC lässt sich ohne besondere Modifikationen problemlos mit MATLAB kombinieren (siehe unten).
CalC ermöglicht Simulationen in jeder Geometrie: kartesisch 3D, 2D oder 1D, polar, sphärisch, zylindrisch, konisch usw.
CalC ermöglicht eine beliebige Anzahl von Calciumpuffern mit einer oder zwei Calciumbindungsstellen pro Molekül
CalC-Skripte können auch gewöhnliche Differentialgleichungen integrieren, um beispielsweise die kalziumabhängige Exozytose zu modellieren.
CalC-Ergebnisse können in Echtzeit mithilfe von xmgrace- oder Freeglut -Bibliotheken angezeigt werden (siehe unten).
Wenn Sie CalC in Ihrer veröffentlichten Arbeit verwenden, zitieren Sie bitte den Artikelartikel von Biophys J aus dem Jahr 2002 und senden Sie mir bitte eine Referenz zur Aufnahme in die CalC-Publikationsliste bei Veröffentlichung. CalC wird im Ist-Zustand bereitgestellt, ich werde jedoch auf alle Fehlerberichte oder technischen Fragen antworten.
CalC ist freie Software: Sie können sie unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, entweder Version 3 der Lizenz oder (nach Ihrer Wahl) einer späteren Version weiterverbreiten und/oder ändern.
CalC wird in der Hoffnung verbreitet, dass es nützlich ist, jedoch OHNE JEGLICHE GARANTIE; ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
In diesem Repository sollte sich eine Kopie der GNU General Public License befinden. Wenn nicht, folgen Sie dieser URL
Ausführbare Dateien für die neuesten Versionen von Windows und macOS sind im Ordner „executables“ dieses Repositorys enthalten. Beachten Sie, dass der Name der ausführbaren Datei je nach System unterschiedlich ist (Sie können ihn natürlich beliebig umbenennen). In diesem Dokument wird die ausführbare Datei mit dem Namen calc bezeichnet. Wenn die ausführbare Datei auf Ihrem Betriebssystem nicht funktioniert, befolgen Sie die nachstehenden Kompilierungsanweisungen . Andernfalls fahren Sie mit dem Ausführungsabschnitt dieser README-Datei fort.
Verwenden Sie MSDN Visual Studio, um den Code zu kompilieren. Die Visual Studio-Projektdatei CalC.vcxproj enthält alle erforderlichen Abhängigkeiten (sie befindet sich im Quellordner). Alternativ können Sie den Linux-Emulator Cygwin auf Ihrem Windows-Computer installieren und die folgenden UNIX-Installationsanweisungen befolgen.
Installieren Sie XQuartz und Xcode. Letzterer verfügt über einen C++-Compiler wie g++ und eine Art Make-Dienstprogramm zum Kompilieren des Codes. Führen Sie dann make aus . Das ist alles.
Wenn Sie Freeglut nicht installiert haben, kompilieren Sie es, indem Sie make noGraphs ausführen. Dadurch wird eine Version des Programms ohne OpenGl/GLUT/FreeGlut-Grafiken zur Laufzeit kompiliert.
Alternativ können Sie Freeglut installieren und wie gewohnt „make“ ausführen.
Nur Windows-Betriebssystem, CalC-Versionen x.10.1 oder höher: Stellen Sie sicher, dass die bereitgestellte freeglut.dll in dem Ordner vorhanden ist, der Ihre ausführbare CalC-Datei enthält.
Wenn ein Modellskript keine Befehlszeilenparameter verwendet, klicken Sie einfach auf die ausführbare Datei und geben Sie bei Aufforderung den Namen der Skriptdatei ein (die Skriptdatei sollte sich im selben Verzeichnis befinden). Alternativ können Sie Ihrem CalC-Skript den Namen DefaultScripts.txt geben. Es wird dann automatisch ausgeführt, nachdem Sie die ausführbare Datei gestartet haben.
Wenn Ihr Skript Befehlszeilenparameter verwendet, öffnen Sie eine Shell (für Windows starten Sie Startmenü -> Ausführen -> cmd), gehen Sie in das Verzeichnis, in dem sich die ausführbare Datei calc befindet, und geben Sie Folgendes ein
calc filename parList
Dabei ist calc der Name der ausführbaren Datei (ersetzen Sie ihn durch den korrekten Namen der ausführbaren Datei – siehe Ordner für ausführbare Dateien oder Anweisungen zur Kompilierung oben), fileName ist der Name der Skriptdatei, die die Simulation beschreibt, und parList ist eine optionale, durch Leerzeichen getrennte Liste von Befehlszeilen Parameter (siehe Handbuch).
Um die Programmausgabe und Fehlermeldungen zu überwachen, fügen Sie die Anweisung verbose = 4 (oder eine höhere Ausführlichkeitsstufe) in Ihr Skript ein: Dadurch wird verhindert, dass CalC nach Abschluss der Simulation automatisch beendet wird.
Simulationsergebnisse können mithilfe von Mute-Plot-Anweisungen in Echtzeit in Dateien gespeichert werden. Es werden ASCII-Dateien erstellt, die von jeder grafikfähigen Sprache wie MATLAB (Mathworks, Inc.) gelesen werden können. Weitere Informationen finden Sie in den Demoskripten und im Handbuch.
Der binäre Diagrammtyp ermöglicht das Speichern eines gesamten Konzentrationsfelds zu mehreren Zeitpunkten während der Simulation und kann mit MATLAB über Skripte gelesen und angezeigt werden, die im Beispielverzeichnis und auf der Demo-Skriptseite bereitgestellt werden
Fügen Sie den Befehl plot.method gl in Ihr Skript ein, um Echtzeit-Variablendiagramme (oder 1D- und 2D-Konzentrationsdiagramme) in Ihrem Betriebssystemfenster zu erstellen. Stellen Sie unter Windows sicher, dass sich die dynamische Bibliothek freeglut.dll im selben Ordner wie Ihre ausführbare Datei befindet (sie wird im Repository bereitgestellt). Unter macOS ist GLUT vorinstalliert (aber veraltet). Auf anderen Plattformen müssen Sie GLUT/Freeglut auf Ihrem Computer installiert haben und die Linker-Direktive im Makefile entsprechend ändern.
HINWEIS: Das Leeren des Grafikpuffers scheint bei Freeglut unregelmäßig zu sein, und manchmal werden Diagramme erst aktualisiert, wenn das gesamte Skript vollständig ausgeführt wird. Darüber hinaus kann die Einbeziehung von GL-Plots die Skriptausführung erheblich verlangsamen. Daher sind GL-Plots vor allem für das anfängliche Skript-Debugging nützlich.
Anstelle von freeglut können Sie auch die Grafikanwendung xmgrace verwenden, die auch die Anzeige der Simulationsergebnisse in Echtzeit ermöglicht. Dazu gehört die Weiterleitung der Programmausgabe an xmgrace, indem der folgende Befehl ausgeführt wird:
calc scriptFileName | xmgrace -pipe
Dabei ist calc der Name Ihrer ausführbaren CalC-Datei und scriptfileName der Name des Simulationsskripts. In diesem Fall sollte die Skriptdatei eine Anweisung plot.method xmgr enthalten.
Eine Homebrew -Installation von xmgrace ist recht einfach durchzuführen.
Wie jedes Systemprogramm kann CalC von MATLAB (Mathworks, Inc) aus gestartet werden, indem einfach der Befehl ausgeführt wird
system('.calc ScriptFileName')
Anschließend können Sie die Daten sammeln, indem Sie den Mute-Plot oder die Binärdateien lesen (siehe oben zur Datenausgabe). Weitere Details finden Sie im CalC-Demo-Skript-Repository.
Ein Hypertext-Handbuch zur CalC-Skriptsyntax finden Sie unter dieser URL. Sehen Sie sich auch die enthaltenen kommentierten Beispielskriptdateien (Dateierweiterung „.par“) an: Sie befinden sich im Beispielordner . Beispielskriptdateien sind auch unter http://web.njit.edu/~matveev/calc/scripts.html verfügbar