Разработан Виктором Матвеевым, кафедра математических наук НЖИТ (2003–2023 гг.)
Начальная разработка (2001–2003 гг.): Лаборатория биологического моделирования, NIDDK, NIH.
Версия для сложных буферов (два сайта связывания кальция) находится в этом репозитории.
Отправляйте любые отчеты об ошибках (не забудьте включить свой скрипт) по адресу: [email protected].
CalC («Калькулятор кальция») — это инструмент моделирования для моделирования внутриклеточной диффузии и буферизации кальция. CalC решает задачи непрерывной реакции-диффузии, описывающие поступление кальция в объем через точечные каналы, а также его диффузию, буферизацию и связывание с рецепторами кальция. CalC использует вариант метода конечных разностей неявного чередования направлений (ADI), который достаточно эффективен в использовании процессорного времени и имеет точность до 2-го порядка по времени и пространству. Временной шаг изменяется адаптивно во время моделирования. Другими основными особенностями являются:
CalC не зависит от платформы (Windows, OS X, Linux, cygwin и т. д.).
CalC управляется простым языком сценариев (с дополнительной функцией управления потоком).
CalC легко комбинируется с MATLAB без каких-либо специальных модификаций (см. ниже).
CalC позволяет моделировать любую геометрию: декартову 3D, 2D или 1D, полярную, сферическую, цилиндрическую, коническую и т. д.
CalC допускает произвольное количество кальциевых буферов с одним или двумя сайтами связывания кальция на молекулу.
Скрипты CalC также могут интегрировать обыкновенные дифференциальные уравнения, например, для моделирования кальций-зависимого экзоцитоза.
Результаты CalC можно просмотреть в реальном времени с помощью библиотек xmgrace или freeglut (см. ниже).
Если вы используете CalC в своей опубликованной работе, процитируйте статью Biophys J 2002 года и пришлите мне ссылку для включения в список публикаций CalC после публикации. CalC предоставляется «как есть», но я отвечу на любые сообщения об ошибках или технические вопросы.
CalC является свободным программным обеспечением: вы можете распространять его и/или изменять в соответствии с условиями Стандартной общественной лицензии GNU, опубликованной Фондом свободного программного обеспечения, либо версии 3 Лицензии, либо (по вашему выбору) любой более поздней версии.
CalC распространяется в надежде, что он будет полезен, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ; даже без подразумеваемой гарантии ТОВАРНОЙ ПРИГОДНОСТИ или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. Дополнительную информацию см. в Стандартной общественной лицензии GNU.
В этом репозитории вы должны увидеть копию Стандартной общественной лицензии GNU. Если нет, перейдите по этому URL
Исполняемые файлы для последних версий Windows и macOS содержатся в папке исполняемых файлов этого репозитория. Обратите внимание, что имя исполняемого файла различается в разных системах (конечно, вы можете переименовать его по своему усмотрению). В этом документе исполняемый файл называется Calc . Если исполняемый файл не работает в вашей ОС, следуйте инструкциям по компиляции ниже. В противном случае перейдите к разделу выполнения этого файла README.
Используйте MSDN Visual Studio для компиляции кода. Файл проекта Visual Studio CalC.vcxproj содержит все необходимые зависимости (он находится в исходной папке). Альтернативно вы можете установить эмулятор Linux cygwin на свой компьютер с Windows и следовать инструкциям по установке UNIX, приведенным ниже.
Установите XQuartz и Xcode. У последнего будет компилятор C++, такой как g++, и какая-то утилита make для компиляции кода. Затем запустите make . Вот и все.
Если у вас не установлен freeglut, скомпилируйте его, выполнив make noGraphs . Это скомпилирует версию программы без графики OpenGl/GLUT/FreeGlut во время выполнения.
Альтернативно, установите freeglut и запустите make как обычно.
Только для ОС Windows, версии CalC x.10.1 или выше: убедитесь, что предоставленный файл freeglut.dll присутствует в папке, содержащей исполняемый файл Calc.
Если сценарий модели не использует параметры командной строки, просто щелкните исполняемый файл и при появлении запроса введите имя файла сценария (файл сценария должен находиться в том же каталоге). Альтернативно, назовите свой сценарий CalC DefaultScripts.txt , и он будет выполнен автоматически после запуска исполняемого файла.
Если ваш скрипт использует параметры командной строки, откройте оболочку (для Windows запустите меню «Пуск» -> «Выполнить» -> cmd), перейдите в каталог, где находится исполняемый файл Calc , и введите
calc filename parList
где Calc — имя исполняемого файла (замените правильным именем исполняемого файла — см. папку с исполняемыми файлами или инструкции по компиляции выше), fileName — имя файла сценария, описывающего моделирование, а parList — необязательный список командной строки, разделенный пробелами. параметры (см. руководство).
Чтобы отслеживать вывод программы и сообщения об ошибках, включите в свой сценарий оператор verbose = 4 (или более высокий уровень детализации): это предотвратит автоматическое завершение CalC после завершения моделирования.
Результаты моделирования можно сохранять в файлы в режиме реального времени с использованием операторов отключения графиков. Создаются файлы ASCII, которые читаются любым языком с поддержкой графики, например MATLAB (Mathworks, Inc). Посмотрите демонстрационные сценарии и обратитесь к руководству за подробностями.
Тип двоичного графика позволяет сохранять все поле концентрации в несколько моментов времени во время моделирования и может быть прочитан и отображен с помощью MATLAB с помощью сценариев, представленных в каталоге примеров и на странице демонстрационного сценария.
Включите командуplot.method gl в свой скрипт, чтобы создавать графики переменных в реальном времени (или 1D и 2D графики концентрации) в окне вашей ОС. В ОС Windows убедитесь, что динамическая библиотека freeglut.dll находится в той же папке, что и ваш исполняемый файл (она имеется в репозитории). В macOS предустановлен GLUT (но его поддержка устарела). На других платформах на вашем компьютере должен быть установлен GLUT/freeglut и соответствующим образом изменить директиву компоновщика в Makefile.
ПРИМЕЧАНИЕ. Очистка графического буфера при freeglut выглядит нестабильной, и иногда графики не обновляются до тех пор, пока весь скрипт не завершится. Кроме того, включение графиков gl может значительно замедлить выполнение скрипта. Таким образом, графики gl полезны в основном для начальной отладки скриптов.
Вместо freeglut можно использовать графическое приложение xmgrace, которое также позволяет просматривать результаты моделирования в режиме реального времени. Это включает в себя передачу вывода программы в xmgrace путем выполнения следующей команды:
calc scriptFileName | xmgrace -pipe
где Calc — имя исполняемого файла CalC, имя_файла сценария — имя сценария моделирования. В этом случае файл сценария должен содержать инструкциюplot.method xmgr .
Самодельную установку xmgrace выполнить довольно легко.
Как и любую системную программу, CalC можно запустить из MATLAB (Mathworks, Inc) простым выполнением команды
system('.calc ScriptFileName')
Затем вы можете собрать данные, прочитав график отключения звука или двоичные файлы (см. выше о выводе данных). Дополнительную информацию см. в репозитории демонстрационных сценариев CalC.
Руководство по синтаксису гипертекстового сценария CalC можно найти по этому URL-адресу. Кроме того, изучите прилагаемые файлы сценариев с комментариями (расширение файла «.par»): они находятся в папке примеров . Примеры файлов сценариев также доступны по адресу http://web.njit.edu/~matveev/calc/scripts.html.