Développé par Victor Matveev, Département des sciences mathématiques, NJIT (2003-2023)
Développement initial (2001-2003) : Laboratoire de Modélisation Biologique, NIDDK, NIH
La version pour les tampons complexes (deux sites de liaison au calcium) se trouve dans ce référentiel
Envoyez tout rapport de bug par e-mail (assurez-vous d'inclure votre script) à : [email protected]
CalC (« Calcium Calculator ») est un outil de modélisation permettant de simuler la diffusion et le tamponnage intracellulaires du calcium. CalC résout les PDE de réaction-diffusion continue décrivant l'entrée du calcium dans un volume par des canaux ponctuels, ainsi que sa diffusion, son tampon et sa liaison aux récepteurs du calcium. CalC utilise une variante de la méthode des différences finies Alternating Direction Implicit (ADI), qui est assez efficace en termes de temps CPU et précise au 2ème ordre dans le temps et l'espace. Le pas de temps varie de manière adaptative au cours de la simulation. Les autres caractéristiques principales sont :
CalC est indépendant de la plateforme (Windows, OS X, Linux, cygwin, etc.)
CalC est exploité par un langage de script simple (avec une fonctionnalité de contrôle de flux en option).
CalC se combine facilement avec MATLAB sans aucune modification particulière (voir ci-dessous).
CalC permet des simulations dans n'importe quelle géométrie : cartésienne 3D, 2D ou 1D, polaire, sphérique, cylindrique, conique, etc.
CalC autorise un nombre arbitraire de tampons calciques, avec un ou deux sites de liaison au calcium par molécule
Les scripts CalC peuvent également intégrer des équations différentielles ordinaires, par exemple pour modéliser l'exocytose dépendante du calcium.
Les résultats CalC peuvent être visualisés en temps réel à l'aide des bibliothèques xmgrace ou freeglut (voir ci-dessous)
Si vous utilisez CalC dans vos travaux publiés, veuillez citer l'article de Biophys J de 2002 et envoyez-moi une référence à inclure dans la liste des publications de CalC lors de la publication. CalC est fourni tel quel, mais je répondrai à tout rapport de bug ou question technique.
CalC est un logiciel libre : vous pouvez le redistribuer et/ou le modifier selon les termes de la licence publique générale GNU telle que publiée par la Free Software Foundation, soit la version 3 de la licence, soit (à votre choix) toute version ultérieure.
CalC est distribué dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans même la garantie implicite de QUALITÉ MARCHANDE ou d’ADAPTATION À UN USAGE PARTICULIER. Voir la licence publique générale GNU pour plus de détails.
Vous devriez voir une copie de la licence publique générale GNU dans ce référentiel. Sinon, suivez cette URL
Les exécutables des dernières versions de Windows et macOS sont contenus dans le dossier exécutables de ce référentiel. Notez que le nom du fichier exécutable varie selon les systèmes (vous pouvez évidemment le renommer comme vous le souhaitez). Dans ce document, l'exécutable est désigné par le nom calc . Si l'exécutable ne fonctionne pas sur votre système d'exploitation, suivez les instructions de compilation ci-dessous. Sinon, passez à la section exécution de ce fichier README.
Utilisez MSDN Visual Studio pour compiler le code. Le fichier « Projet » de Visual Studio CalC.vcxproj contient toutes les dépendances nécessaires (il réside dans le dossier source). Vous pouvez également installer l'émulateur Linux cygwin sur votre ordinateur Windows et suivre les instructions d'installation UNIX ci-dessous.
Installez XQuartz et Xcode. Ce dernier aura un compilateur C++ tel que g++, et une sorte d'utilitaire make pour compiler le code. Ensuite, exécutez make . C'est tout.
Si freeglut n'est pas installé, compilez en exécutant make noGraphs . Cela compilera une version du programme sans graphiques d'exécution OpenGl/GLUT/FreeGlut.
Vous pouvez également installer freeglut et exécuter "make" comme d'habitude.
Système d'exploitation Windows uniquement, versions CalC x.10.1 ou supérieures : assurez-vous que le fichier freeglut.dll fourni est présent dans le dossier contenant votre exécutable calc.
Si un script de modèle n'utilise pas de paramètres de ligne de commande, cliquez simplement sur l'exécutable et entrez le nom du fichier de script lorsque vous y êtes invité (le fichier de script doit résider dans le même répertoire). Vous pouvez également nommer votre script CalC DefaultScripts.txt , et il sera exécuté automatiquement après avoir lancé l'exécutable.
Si votre script utilise des paramètres de ligne de commande, ouvrez un shell (pour Windows, lancez le menu Démarrer -> Exécuter -> cmd), accédez au répertoire où réside l'exécutable calc et tapez
calc filename parList
où calc est le nom de l'exécutable (remplacer par le nom correct de l'exécutable -- voir le dossier des exécutables ou les instructions de compilation ci-dessus), fileName est le nom du fichier de script décrivant la simulation et parList est une liste facultative de lignes de commande séparées par des espaces. paramètres (voir manuel).
Afin de surveiller la sortie du programme et les messages d'erreur, incluez l'instruction verbose = 4 (ou un niveau de verbosité supérieur) dans votre script : cela empêchera CalC de se terminer automatiquement une fois la simulation terminée.
Les résultats de simulation peuvent être enregistrés dans des fichiers en temps réel à l'aide d'instructions de tracé muettes. Des fichiers ASCII sont produits et lisibles par n'importe quel langage graphique tel que MATLAB (Mathworks, Inc). Voir les scripts de démonstration et reportez-vous au manuel pour plus de détails.
Le type de tracé binaire permet de sauvegarder un champ de concentration entier à plusieurs moments de la simulation, et peut être lu et affiché à l'aide de MATLAB via les scripts fournis dans le répertoire des exemples et sur la page de script de démonstration.
Incluez la commande plot.method gl dans votre script pour créer des tracés variables en temps réel (ou des tracés de concentration 1D et 2D) dans la fenêtre de votre système d'exploitation. Sous Windows, assurez-vous que la bibliothèque dynamique freeglut.dll se trouve dans le même dossier que votre exécutable (elle est fournie dans le référentiel). Sur macOS, GLUT est préinstallé (mais obsolète). Sur d'autres plates-formes, vous devez avoir GLUT/freeglut installé sur votre ordinateur et modifier la directive de l'éditeur de liens dans le Makefile de manière appropriée.
REMARQUE : le vidage du tampon graphique semble irrégulier avec freeglut, et parfois les graphiques ne sont pas mis à jour tant que l'intégralité du script n'est pas terminée. De plus, l'inclusion de tracés gl peut ralentir considérablement l'exécution du script. Par conséquent, les tracés gl sont principalement utiles pour le débogage initial du script.
Vous pouvez utiliser l'application graphique xmgrace à la place de freeglut , qui permet également de visualiser les résultats de la simulation en temps réel. Cela implique de rediriger la sortie du programme vers xmgrace, en exécutant la commande suivante :
calc scriptFileName | xmgrace -pipe
où calc est le nom de votre exécutable CalC, scriptfileName est le nom du script de simulation. Dans ce cas, le fichier script doit contenir une instruction plot.method xmgr .
Une installation homebrew de xmgrace est assez simple à réaliser.
Comme tout programme système, CalC peut être lancé depuis MATLAB (Mathworks, Inc) simplement en exécutant la commande
system('.calc ScriptFileName')
Vous pouvez ensuite collecter les données en lisant le tracé muet ou les fichiers binaires (voir ci-dessus à propos de la sortie des données). Voir le référentiel de scripts de démonstration CalC pour plus de détails.
Un manuel de syntaxe de script CalC hypertexte peut être trouvé à cette URL. Examinez également les exemples de fichiers de script commentés inclus (extension de fichier « .par ») : ils résident dans le dossier des exemples . Des exemples de fichiers de script sont également disponibles sur http://web.njit.edu/~matveev/calc/scripts.html