Desenvolvido por Victor Matveev, Departamento de Ciências Matemáticas, NJIT (2003-2023)
Desenvolvimento inicial (2001-2003): Laboratório de Modelagem Biológica, NIDDK, NIH
A versão para buffers complexos (dois locais de ligação de cálcio) está neste repositório
Envie qualquer relatório de bug por e-mail (certifique-se de incluir seu script) para: [email protected]
CalC ("Calculadora de Cálcio") é uma ferramenta de modelagem para simular a difusão e o tamponamento do cálcio intracelular. CalC resolve PDEs de reação-difusão contínua que descrevem a entrada de cálcio em um volume através de canais pontuais e sua difusão, tamponamento e ligação aos receptores de cálcio. CalC usa uma variação do método de diferença finita Alternating Direction Implicit (ADI), que é bastante eficiente em termos de tempo de CPU e preciso de 2ª ordem no tempo e no espaço. O passo de tempo varia de forma adaptativa durante a simulação. Outras características principais são:
CalC é independente de plataforma (Windows, OS X, Linux, cygwin, etc.)
CalC é operado por uma linguagem de script simples (com funcionalidade opcional de controle de fluxo).
CalC é facilmente combinado com MATLAB sem quaisquer modificações especiais (veja abaixo).
CalC permite simulações em qualquer geometria: cartesiana 3D, 2D ou 1D, polar, esférica, cilíndrica, cônica, etc.
CalC permite um número arbitrário de tampões de cálcio, com um ou dois locais de ligação de cálcio por molécula
Os scripts CalC também podem integrar equações diferenciais ordinárias, por exemplo, para modelar exocitose dependente de cálcio.
Os resultados do CalC podem ser visualizados em tempo real usando as bibliotecas xmgrace ou freeglut (veja abaixo)
Se você usar CalC em seu trabalho publicado, cite o artigo do artigo Biophys J de 2002 e envie-me uma referência para inclusão na lista de publicações do CalC após a publicação. O CalC é fornecido no estado em que se encontra, mas responderei a quaisquer relatórios de bugs ou perguntas técnicas.
CalC é software livre: você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença Pública Geral GNU conforme publicada pela Free Software Foundation, seja a versão 3 da Licença ou (a seu critério) qualquer versão posterior.
CalC é distribuído na esperança de ser útil, mas SEM QUALQUER GARANTIA; mesmo sem a garantia implícita de COMERCIALIZAÇÃO ou ADEQUAÇÃO A UM DETERMINADO FIM. Veja a Licença Pública Geral GNU para mais detalhes.
Você deverá ver uma cópia da Licença Pública Geral GNU neste repositório. Caso contrário, siga este URL
Os executáveis para as versões mais recentes do Windows e macOS estão contidos na pasta de executáveis deste repositório. Observe que o nome do arquivo executável varia entre os diferentes sistemas (você pode renomeá-lo como quiser, obviamente). Neste documento, o executável é referido pelo nome calc . Se o executável não estiver funcionando no seu sistema operacional, siga as instruções de compilação abaixo. Caso contrário, prossiga para a seção de execução deste arquivo README.
Use o MSDN Visual Studio para compilar o código. O arquivo de "Projeto" do Visual Studio CalC.vcxproj contém todas as dependências necessárias (ele reside na pasta de origem). Alternativamente, você pode instalar o emulador Linux cygwin em sua máquina Windows e seguir as instruções de instalação do UNIX abaixo.
Instale o XQuartz e o Xcode. Este último terá um compilador C++ como g++, e algum tipo de utilitário make para compilar o código. Então, execute make . Isso é tudo.
Se você não tiver o freeglut instalado, compile executando make noGraphs . Isto irá compilar uma versão do programa sem gráficos OpenGl/GLUT/FreeGlut em tempo de execução.
Alternativamente, instale o freeglut e execute "make" normalmente.
Somente sistema operacional Windows, versões CalC x.10.1 ou superior: certifique-se de que o freeglut.dll fornecido esteja presente na pasta que contém o executável do calc.
Se um script de modelo não usar parâmetros de linha de comando, basta clicar no executável e inserir o nome do arquivo de script quando solicitado (o arquivo de script deve residir no mesmo diretório). Como alternativa, nomeie seu script CalC como DefaultScripts.txt e ele será executado automaticamente após você iniciar o executável.
Se o seu script utiliza parâmetros de linha de comando, abra um shell (para Windows, inicie Menu Iniciar -> Executar -> cmd), vá para o diretório onde o executável calc está residindo e digite
calc filename parList
onde calc é o nome do executável (substitua pelo nome correto do executável - consulte a pasta de executáveis ou as instruções de compilação acima), fileName é o nome do arquivo de script que descreve a simulação e parList é uma lista opcional separada por espaço de linha de comando parâmetros (ver manual).
Para monitorar a saída do programa e as mensagens de erro, inclua a instrução verbose = 4 (ou nível de verbosidade superior) em seu script: isso impedirá que o CalC termine automaticamente ao concluir a simulação.
Os resultados da simulação podem ser salvos em arquivos em tempo real usando instruções mute plot. São produzidos arquivos ASCII que podem ser lidos por qualquer linguagem com capacidade gráfica, como MATLAB (Mathworks, Inc). Veja os scripts de demonstração e consulte o manual para obter detalhes.
O tipo de gráfico binário permite salvar um campo de concentração inteiro em vários momentos durante a simulação, e pode ser lido e exibido usando MATLAB através de scripts fornecidos no diretório de exemplos e na página de script de demonstração
Inclua o comando plot.method gl em seu script para criar gráficos de variáveis em tempo real (ou gráficos de concentração 1D e 2D) na janela do seu sistema operacional. No sistema operacional Windows, certifique-se de que a biblioteca dinâmica freeglut.dll esteja na mesma pasta do seu executável (é fornecida no repositório). No macOS, o GLUT está pré-instalado (mas descontinuado). Em outras plataformas, você deve ter o GLUT/freeglut instalado em seu computador e alterar a diretiva do vinculador no Makefile apropriadamente.
NOTA: A liberação do buffer gráfico parece instável com o freeglut e, às vezes, os gráficos não são atualizados até que todo o script seja executado até a conclusão. Além disso, incluir gráficos gl pode retardar significativamente a execução do script. Portanto, os gráficos gl são úteis principalmente para depuração inicial de scripts.
Você pode usar o aplicativo gráfico xmgrace em vez do freeglut , que também permite visualizar os resultados da simulação em tempo real. Isso envolve canalizar a saída do programa para o xmgrace, executando o seguinte comando:
calc scriptFileName | xmgrace -pipe
onde calc é o nome do seu executável CalC, scriptfileName é o nome do script de simulação. Neste caso, o arquivo de script deve conter uma instrução plot.method xmgr .
Uma instalação homebrew do xmgrace é bastante fácil de executar.
Como qualquer programa de sistema, o CalC pode ser iniciado no MATLAB (Mathworks, Inc) simplesmente executando o comando
system('.calc ScriptFileName')
Você pode então coletar os dados lendo o gráfico mudo ou arquivos binários (veja acima sobre a saída de dados). Consulte o repositório de scripts de demonstração do CalC para obter mais detalhes.
Um manual de sintaxe de script CalC de hipertexto pode ser encontrado neste URL. Além disso, examine os arquivos de script de exemplo comentados incluídos (extensão de arquivo ".par"): eles residem na pasta de exemplos . Arquivos de script de exemplo também estão disponíveis em http://web.njit.edu/~matveev/calc/scripts.html