NJIT 수리과학과 Victor Matveev가 개발함(2003-2023)
초기 개발(2001-2003): 생물학적 모델링 연구소, NIDDK, NIH
복잡한 완충용 버전(두 개의 칼슘 결합 부위)이 이 저장소에 있습니다.
버그 보고서를 [email protected]로 이메일로 보내세요(스크립트를 반드시 포함하세요).
CalC("칼슘 계산기")는 세포내 칼슘 확산 및 완충을 시뮬레이션하기 위한 모델링 도구입니다. CalC는 점 모양의 채널을 통해 칼슘이 부피로 들어가는 것과 확산, 완충 및 칼슘 수용체에 대한 결합을 설명하는 연속 반응 확산 PDE를 해결합니다. CalC는 ADI(Alternating Direction Implicit) 유한 차분 방법의 변형을 사용합니다. 이 방법은 CPU 시간이 상당히 효율적이고 시간과 공간에서 2차 정확도를 갖습니다. 시간 단계는 시뮬레이션 중에 적응적으로 변경됩니다. 기타 주요 기능은 다음과 같습니다.
CalC는 플랫폼 독립적입니다(Windows, OS X, Linux, cygwin 등).
CalC는 간단한 스크립트 언어(선택적 흐름 제어 기능 포함)로 작동됩니다.
CalC는 특별한 수정 없이 MATLAB과 쉽게 결합됩니다(아래 참조).
CalC는 직교 3D, 2D 또는 1D, 극좌표, 구형, 원통형, 원추형 등 모든 형상에서 시뮬레이션을 허용합니다.
CalC는 분자당 하나 또는 두 개의 칼슘 결합 부위가 있는 임의의 수의 칼슘 완충제를 허용합니다.
CalC 스크립트는 예를 들어 칼슘 의존성 세포외유출을 모델링하기 위해 상미분 방정식도 통합할 수 있습니다.
CalC 결과는 xmgrace 또는 freeglu 라이브러리를 사용하여 실시간으로 볼 수 있습니다(아래 참조).
출판물에 CalC를 사용하는 경우 2002 Biophys J 기사를 인용하고 출판 시 CalC 출판 목록에 포함할 참고 자료를 보내주십시오. CalC는 있는 그대로 제공되지만, 버그 보고서나 기술적인 질문이 있으면 답변해 드리겠습니다.
CalC는 무료 소프트웨어입니다. 자유 소프트웨어 재단(Free Software Foundation)에서 발행한 GNU General Public License(라이센스 버전 3) 또는 (귀하의 선택에 따라) 이후 버전의 조건에 따라 CalC를 재배포 및/또는 수정할 수 있습니다.
CalC는 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 제공하지 않습니다. 상품성이나 특정 목적에의 적합성에 대한 묵시적인 보증도 제공되지 않습니다. 자세한 내용은 GNU 일반 공중 사용 허가서를 참조하세요.
이 저장소에서 GNU General Public License의 사본을 볼 수 있습니다. 그렇지 않은 경우 다음 URL을 따르십시오.
최신 버전의 Windows 및 macOS 용 실행 파일은 이 리포지토리의 실행 파일 폴더에 포함되어 있습니다. 실행 파일의 이름은 시스템마다 다릅니다(분명히 원하는 대로 이름을 바꿀 수 있습니다). 이 문서에서 실행 파일은 calc라는 이름으로 참조됩니다. 실행 파일이 OS에서 작동하지 않으면 아래 컴파일 지침을 따르십시오. 그렇지 않은 경우에는 이 README 파일의 실행 섹션으로 진행하세요.
MSDN Visual Studio를 사용하여 코드를 컴파일합니다. Visual Studio "프로젝트" 파일 CalC.vcxproj 에는 필요한 모든 종속성이 포함되어 있습니다(소스 폴더 내에 있음). 또는 Windows 시스템에 Linux 에뮬레이터 cygwin을 설치하고 아래 UNIX 설치 지침을 따를 수 있습니다.
XQuartz와 Xcode를 설치합니다. 후자에는 g++와 같은 C++ 컴파일러와 코드를 컴파일하는 일종의 make 유틸리티가 있습니다. 그런 다음 make 를 실행하십시오. 그게 전부입니다.
freeglull이 설치되어 있지 않은 경우 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 농도 플롯)을 만들려면 스크립트 내에 플롯.method gl 명령을 포함하십시오. Windows OS에서는 freeglut.dll 동적 라이브러리가 실행 파일과 동일한 폴더에 있는지 확인하세요(저장소에 제공됨). macOS에는 GLUT가 사전 설치되어 있지만 더 이상 사용되지 않습니다. 다른 플랫폼에서는 컴퓨터에 GLUT/freeglunt가 설치되어 있어야 하고 Makefile에서 링커 지시문을 적절하게 변경해야 합니다.
참고: 그래픽 버퍼 플러싱은 자유 과잉으로 인해 불안정하게 나타나고 때로는 전체 스크립트 실행이 완료될 때까지 그래프가 업데이트되지 않습니다. 또한 gl 플롯을 포함하면 스크립트 실행 속도가 크게 느려질 수 있습니다. 따라서 gl 플롯은 주로 초기 스크립트 디버깅에 유용합니다.
freeglut 대신 xmgrace 그래픽 애플리케이션을 사용할 수 있으며, 이를 통해 시뮬레이션 결과를 실시간으로 볼 수도 있습니다. 여기에는 다음 명령을 실행하여 프로그램 출력을 xmgrace로 파이프하는 작업이 포함됩니다.
calc scriptFileName | xmgrace -pipe
여기서 calc 는 CalC 실행 파일의 이름이고 scriptfileName 은 시뮬레이션 스크립트의 이름입니다. 이 경우 스크립트 파일에는 명령 plot.method xmgr이 포함되어야 합니다.
xmgrace의 홈브류 설치는 수행하기가 매우 쉽습니다.
다른 시스템 프로그램과 마찬가지로 CalC는 간단히 명령을 실행하여 MATLAB (Mathworks, Inc)에서 시작할 수 있습니다.
system('.calc ScriptFileName')
그런 다음 음소거 플롯 이나 바이너리 파일을 읽어 데이터를 수집할 수 있습니다(데이터 출력에 대해서는 위 참조). 자세한 내용은 CalC 데모 스크립트 저장소를 참조하세요.
하이퍼텍스트 CalC 스크립트 구문 매뉴얼은 이 URL에서 찾을 수 있습니다. 또한 포함된 주석이 달린 예제 스크립트 파일(파일 확장자 ".par")을 검토하십시오. 해당 파일은 예제 폴더에 있습니다. 예제 스크립트 파일은 http://web.njit.edu/~matveev/calc/scripts.html에서도 볼 수 있습니다.