基于OpenCMISS的心脏电生理模拟解决方案

2014-02-05 02:41郑诗强张镇西李怡勇
中国医学装备 2014年1期
关键词:窦房结生理编程

郑诗强 张镇西 李怡勇 郭 赤

基于OpenCMISS的心脏电生理模拟解决方案

郑诗强① 张镇西② 李怡勇① 郭 赤①

目的:心脏电生理模拟对于深入了解心脏的内在工作机制和发病机制具有重要意义,为解决由于心脏电生理模拟涉及的微分方程和偏微分方程中实际编程问题,探讨研究心脏电生理模拟的高效编程方案与设计。方法:借助新西兰奥克兰生物工程研究所开发的数学建模环境OpenCMISS,给出了OpenCMISS的一些基本概念、编程原则、流程以及模拟实例。结果:OpenCMISS的良好编程环境能够有效实现心脏的电生理模拟。结论:基于OpenCMISS的心脏电生理模拟解决方案可极大减少程序开发的难度,为从事电生理模拟领域的研究者提供有效的工具。

电生理模拟;心脏;OpenCMISS;工具

[First-author’s address]Department of Medical Engineering, Wuhan General Hospital of Guangzhou Command, Wuhan 430070, China.

心脏病是威胁人类健康的三大杀手之一。据2008年《世界卫生报告》称,全球每年因心血管疾病死亡的人数约为1730万,占死亡总人数的30%,是人类死亡的首要原因。深入理解心脏的内在工作机制和发病机制,为预防和治疗心脏疾病提供有效手段是一项重大而艰巨的课题。心脏的仿真模拟相对于其他研究手段,花费的时间和资金成本低,不会受到伦理问题的困扰,能够方便地在定量条件下研究和预测心脏的工作机制和发病机制,其模型的基础来源于实验,同时其仿真结果又为实验提供理论指导。

1 心脏电生理模拟概述

心脏的仿真模拟是一项综合而富有挑战性的工作,其涉及到心脏的各种生理现象,如血液流动、机械收缩、神经调控和电信号传导等,需要整合科学界各种最新的研究成果,包括细胞、组织、器官的生物化学、生物物理和形态学等数据,以从不同时间、空间尺度下满足在分子、蛋白、细胞、组织、器官和生物体等不同层次的模拟研究[1]。心脏仿真模拟偶联的生理过程十分复杂,研究心脏的单一生理过程可极大简化模拟的难度,是全心脏仿真模拟的起点。而心脏的电活动是心脏兴奋收缩的主要动力所在,对心脏的电生理模拟是心脏研究的一大热点。

心脏电生理模拟分为单细胞层次和多细胞层次,单细胞模型通常基于Hodgkin-Huxley方程(HH方程)[2]。随着实验技术的提高(如单细胞、单通道膜片钳技术的发展),越来越多的离子通道及细胞过程被发现,同时更加精确的数学语言描述的引入,模型变得越来越复杂[3]。通常单细胞模型是由数十个代数方程和常微分方程组混合而成。对于微分方程组的算法,目前已经非常成熟,常用的有欧拉法(Euler method)、龙格-库塔法(Runge-Kutta method)、以及线性多步法等[4]。在利用这些算法提高收敛速度、计算时间时还可以加入时间步长控制来提高计算速度。通常电压变化越大,时间步长取得越小。

1.1 电兴奋传导模型—双域模型与单域模型

由于对计算要求过高,多细胞模型发展历史较短。最早的多细胞模型由Winslow于1993年提出[5]。电缆理论是多细胞模型的数学基础。Tung[6]基于此提出双域方程。双域方程可以进一步简化为单域方程,计算速度更快,适用于多数仿真研究,但有时必须使用双域[7]。双域方程式(公式1):

其中,Am为细胞表体比,Vm为跨膜电位,Cm为膜电容,Iion为离子通道电流(外向为正),Di为膜内电导率张量,Φe为膜外电势,t为时间。

如果膜外电阻与膜内电阻相比可以忽略不计(De无穷大),或者膜外电阻同膜内电阻分布场相似(即Di=k·De,k为常数),双域模型可以进一步简化为单域模型(公式2):

该模型可以视作一个典型的反应扩散问题,包括反应和扩散两部分,即动作电位的产生和传导。其基本算法为有限差分法(finite difference method,FDM)、有限元法(finite element method,FEM)、有限体积法(finite volume method,FVM)、边界元法(boundary element method,BEM)等[8-10]。由于所涉方程数目众多,常微分方程、偏微分方程和非线性代数方程悉列其中,加之细胞类型、节点数目和传导参数复杂多样,造成实际编程求解的困难。为了更好地解决心脏建模中的算法问题,很多研究中心开发了免费软件或函数库供研究者使用,如:libMesh、deal.II、FETK、OOFEM、Continuity、CARP、Chaste、OpenCMISS等[11-18]。其中后4个专门用于心脏建模领域。

1.2 OpenCMISS函数库

OpenCMISS是一个开源的函数库,其前身是连续介质力学、图像分析、信号处理及系统识别(Continuum Mechanics,Image analysis,Signal processing and System Identification,CMISS),由新西兰奥克兰生物工程研究所自1980年开始开发,致力于求解涉及多个偏微分方程耦联的生物工程问题(意味着有多个生理过程耦联,如机械电耦联),目前已经发展得非常成熟,可以解决软组织力学、流体力学、热量物质传输等问题及其相互耦联。该软件库包含计算引擎和结果可视化软件。其算法不仅包括有限元分析,还包括边界元法和有限差分法。

根据新一代CellML、FieldML标准的公布以及开源的需要,其新版本为OpenCMISS[19-20]。该函数库基于Fortran95语言开发,可在Ubuntu或Fedora版本的Linux系统平台下运行,实现了并行和串行计算。

2 OpenCMISS中的基本对象

(1)基本函数:即有限元插值函数构造法,包括Lagrange-Hermite法和Simplex。

(2)坐标系统:包括笛卡尔坐标系、柱坐标系、球坐标系、长球面坐标系和扁球面坐标系。

(3)区域:即研究所在位置区域,如心脏、肺、心肌及心室,提供一个命名空间和容器以存放各种对象。具有分层结构,可以含有多个子区域。

(4)网格:计算网格的拓扑结构,包含节点、面元和基本函数。

(5)域:将网格分解为多个区域以进行并行计算。

(6)场:即场变量的空间分布。场的类型有:方程描述场、几何场、纤维场、材料场、独立变量场、分析场、变量场和源场。

(7)方程组:解决特定问题的方程组,与区域相联系。

(8)问题和控制回路:问题对应着一个特定的计算流程。

(9)算法器和求解方程。

3 OpenCMISS的安装及一般技巧

OpenCMISS运行于Linux平台,其大致分为4步:①安装额外必要的常用软件或函数库,如subversion、cmake、swig等,使用sudo apt-get install命令进行安装;②下载程序及附带函数库,使用svn co https://svn.physiomeproject.org/svn/ opencmissextras/utils/trunk utils命令下载额外库,从Physiome Project官网的资源链接[21]里下载安装包;③使用sudo gedit~/.bashrc命令,加入环境变量OPENCMISS_ROOT、OPENCMISSEXTRAS_ ROOT;④使用make命令,安装OpenCMISS。其具体安装步骤可参见相关网页[22]。

OpenCMISS的基本对象的创建必须经过初始化、创建、设置及创建完成的过程。其相应函数的后缀分别为_Initialise、_CreateStart、Set、_CreateFinish。

对于单域模型电生理问题,只需在OpenCMISS的examples/Bioelectrics/Monodomain/src文件夹里创建Fortran源文件,编写相应代码即可,其步骤如下:

(1)对研究区域进行网格化时需对node、mesh对象进行创建,同时在不同的维度方向上创建mesh elements对象,使用CMISSMeshElements_NodesSet函数将面元和节点相互对应,如图1所示。

图1 面元节点对应关系示意图

(2)创建GeometricField,使用CMISSField_ ParameterSetUpdateNode函数将每个节点的坐标位置标定清楚。

(3)创建MaterialsField,设定心电传导参数分布场,即细胞表体比Am、膜电容Cm以及细胞间导电率的分布。

(4)初始化CellML环境,使用CMISS CellML_ ModelImport函数将CellML语言编辑的单细胞模型导入。

此类单细胞模型可以使用可视化编程工具OpenCell进行创建,有许多现成的模型可提供下载[23-24]。该软件基于XML语言,将细胞模型视为网状结构,包括组分(含各个离子通道电流中的所有变量以及数学表达式)、连接(表示各个组分中相同变量间的依赖关系,包括private,public两大类型)、单位(所有变量的单位)、输入(可选部分,将其他细胞模型的成分导入,实现模型组件的重复利用)以及群组(表达各个组分间包含关系)5大部分。其软件界面如图2所示。

图2 OpenCell界面

(5)根据需要将单细胞模型中的变量设为“Known”或“Wanted”。

(6)将细胞膜电压Vm和DependentField场中电压V相互映射,并设定其初值。

(7)创建CellMLModelsField,即细胞类型分布场,将每个节点对应已导入的单细胞模型。

(8)创建CellMLParametersField,对标为“Known”的变量建立场分布。

(9)创建Problem对象,设定其问题类型为“MONODOMAIN”;创建ControlLoop,设定模拟时间;创建Solver对象,设定ODE、PDE问题的算法;创建和设定边界条件,一般为Neumann边界条件。

(10)使用CMISSProblem_Solve函数求解;使用CMISSFinalise函数结束程序。

(11)结果处理:将生成的时间序列文件用CMGUI软件导入,进行相应图像处理,将结果展示出来[25]。

当然也可以使用Perl语言将结果提取出来,再到专门图像处理软件中进行处理。

4 编程实例

窦房结作为心脏的正常起搏位点,是一个结构复杂的组织。研究发现,窦房结组织由窦房结细胞、心房细胞和纤维原细胞等多种细胞组成。Verheijck等[26]提出混合模型,不同区域细胞组成比例不同,而这一差异正是造成窦房结细胞动作电位传导的重要因素。本研究采取20×20细胞窦房结方形组织,含有心房细胞和窦房结细胞,但上下部分心房细胞含量各不相同,分别为60%,40%。采用伪随机方法生成伪窦房结方形组织,如图3所示。

图3 窦房结混合模型

窦房结细胞采用Maltsev模型[27],细胞尺寸假定为70 μm×4 μm(长×半径)的长柱体,实验获得的细胞间偶联电导率为gc=7.5 nS,电导率张量同细胞间偶联电导率的关系[28]如公式3:

表体比为公式4:

可求得Am=530 mm-1,D=10.4 nS mm-1。

心房细胞采用Lindblad等[29]提出的细胞模型。利用OpenCMISS编程,最终产生的窦房结组织兴奋传播伪彩图,可见不同区域细胞组成比例可以引起兴奋向心房细胞含量多的区域传播(如图4所示)。

图4 窦房结混合模型兴奋传播伪彩图

5 结论

深入了解心脏的电生理特性等内在工作机理,对心脏疾病的预防和治疗有极其重要的意义。心脏的模拟仿真可以避免伦理道德问题的尴尬,其投入时间和金钱均较其他研究方法低,且可在理想参数下研究和预测心脏的发病机制,为其他研究方法提供理论指导,是必不可少的研究手段。

OpenCMISS提供了一个极好的编程环境,其结构的模块化可以极大减少心脏电生理模拟开发、调试的时间,使研究者更关注于模拟结果的生理阐释。通过有限元方法设计更为实际的心脏二维或三维结构,收集更加完善的生理参数,将使心脏电生理模型更加符合实际,进而更好的预测和研究心脏电生理活动。由于OpenCMISS提供了多个偏微分方程耦联的解决方案,未来将心脏的其他生理活动如血液流动、机械收缩、神经调控和电信号传导等耦联进去,通过并行超大计算,可实现一个鲜活心脏的仿真模拟[30]。将对心脏疾病的研究、药物等治疗手段的研发提供有效的理论指导,为人类健康事业的进步提供推动力。

[1]Hunter P,Robbins P,Noble D.The IUPS human physiome project[J].Pflugers Arch,2002,445(1):1-9.

[2]Hodgkin AL,Huxley AF.A quantitative description of membrane current and its application to conduction and excitation in nerve.1952[J].Bull Math Biol,1990,52(1-2):25-71.

[3]Fink M.Noble ND.Markov models for ion channels:versatility versus identifiability and speed[J].Philos Trans A Math Phys Eng Sci,2009,367(1896):2161-2179.

[4]李荣华.微分方程数值解法[M].4版.北京:高等教育出版社,2009.

[5]Winslow RL,Varghese A,Noble D,et al.Generation and propagation of ectopic beats induced by spatially localized Na-K pump inhibition in atrial network models[J].Proc Biol Sci,1993,254(1339):55-61.

[6]Tung,Leslie.A bidomain model for describing ischemic myocardial DC potentials[D].Cambridge:Massachusetts Institute of Technology,1978.

[7]Eason J,Trayanova N.Phase singularities and termination of spiral wave reentry[J].J Cardiovasc Electrophysiol,2002,13(7):672-679.

[8]Qu Z Garfinkel A.An advanced algorithm for solving partial differential equation in cardiac conduction[J].IEEE Trans Biomed Eng,1999,46(9):1166-1168.

[9]Nicotson J,Ca E.A practical method for numerical evaluation of solutions of partial differential equations of the heat-conduction type[J].Proc Camb Phil Soc,1947,43(1):50-67.

[10]Rogers JM,McCulloch AD.A collocation-Galerkin finite element model of cardiac action potential propagation[J].IEEE Trans Biomed Eng,1994,41(8):743-757.

[11]Kirk JW,Stogner RH.libMesh:a C++ library for parallel adaptive mesh refinement/coarsening simulations[J].Eng Comput,2006,22(2):237-254.

[12]Bangerth RH,Kanschat.II—a general-purpose object-oriented finite element library[J].ACM Trans Math So ftware,2007,33(1):24-27.

[13]Olst M.Adaptive numerical treatment of elliptic systems on manifolds[J].AdvComput Math,2001,15(2):139-191.

[14]Patzák ZB.Design of object oriented finite element code[J].Adv Eng Software,2001,32(3):759-767.

[15]Jeff Van Dorn.Continuity 6:A problem solving environment for multi-scale Biology[EB/OL]. (2013-05-01)[2013-09-03]www.continuity. ucsd.edu.

[16]Vigmond EJ,Plank MH,Leon LJ.Computational tools for modeling electrical activity in cardiac tissue[J].J Electrocardiol,2003,36(1):69-74.

[17]Pitt-Francis JP,Bernabeu MO.Chaste:a testdriven approach to software development for biological modelling[J].Comput Phys Commun,2009,180(16):2452-2471.

[18]Bradley BA,Britten R.OpenCMISS:a multiphysics and multi-scale computational infrastructure for the VPH/Physiome project[J]. Prog Biophys Mol Biol,2011,107(1):32-47.

[19]Cuellar AA,Lloyd CM, Nielsen PF,et al.An overview of CellML 1.1,a biological model description language[J].SIMULATION:Trans Soc for Model Simulation Int,2003,79(3):740-747.

[20]Christie GR,PMN,SA.Blackett,et al.Field-ML:concepts and implementation[J].Philos Transact A Math PhysEngSci,2009,367(10):1869-1884.

[21]Chris Bradley.OpenCMISS[EB/OL].(2011-05-22) [2013-09-03]https://github.com/OpenCMISS.

[22]Chris Bradley.OpenCMISS documentation[EB/OL]. (2013-09-03)[2013-09-03]http://cmiss.bioeng. auckland.ac.nz/OpenCMISS/doc/programmer.

[23]Michael T,Cooling,OpenCell[EB/OL].(2010-02-28)[2013-09-03]http://www.cellml.org/tools/ opencell.

[24]Cell ML.Model Repository[EB/OL].(2010-05-02) [2013-09-03]http://models.cellml.org/cellml.

[25]Peter Hunter.CMGUI[EB/OL].(2012-04-16)[2013-09-03]http://www.cmiss.org/ReleaseCenter/ cmgui.

[26]Verheijck EE,Wessels A,van Ginneken AC,et al.Distribution of atrial and nodal cells within rabbit sinoatrial node:models of sinoatrialtransition[J].Circu lation,1998,97(16):1623-1631.

[27]Maltsev VA,Lakatta EG.Synergism of coupled subsarcolemmal Ca2+clocks and sarcolemmalvoltage clocks confers robust and flexible pacemaker function in a novel pacemaker cell model[J].Am J Physiol Heart Circ Physiol,2009,296(3):594-615.

[28] Garny A,Kohl P,Hunter PJ,et al.One-dimensional rabbit sinoatrial node models:benefits and limitations[J].J Cardiovasc Electrophysiol,2003,14(10 Suppl):S121-132.

[29]Lindblad DS,Murphey CR,Clark JW,et al.A model of the action potential and underlying membrane currents in a rabbit atrial cell[J].Am J Physiol,1996,271(4):1666-1696.

[30]Santos D,Weber R,Rafael SO,et al.Parallel and adaptive numerical techniques applied to cardiac modeling[J].Main Thematic Areas,2012,21:151.

Research on one novel scheme for cardiac electrophysiological simulation based on OpenCMISS

/ZHENG Shi-qiang, ZHANG Zhen-xi, LI Yi-yong, et al// China Medical Equipment,2014,11(1):42-46.

Objective:The cardiac electrophysiological simulation can further the insight of intrinsic mechanism of heart and its related diseases. However, as too many ordinary differential equations, partial differential equations and cell nodes involved in this simulation, it is very hard for ordinary people to solve the problem programmatically (in code).To solve this problem, we intended to investigate effective programming design for cardiac electrophysiological simulation.Methods:With the aid of OpenCMISS developed by Auckland Bioengineering Institute in New Zealand, some key concepts of OpenCMISS, basic programming principle or strategies and one example are illustrated.Results:The friendly programming environment of OpenCMISS can promote the programming of cardiac elctrophysiological simulation.Conclusion:This novel scheme for cardiac electrophysiological simulation based on OpenCMISS can greatly reduce the difficulty of the application development and provide a powerful tool for researchers in electrophysiological simulation.

Electrophysiological simulation; Heart; OpenCMISS; Tools

1672-8270(2014)01-0042-05

R319

A

10.3969/J.ISSN.1672-8270.2014.01.015

2013-08-26

①广州军区武汉总医院医学工程科 湖北 武汉 430070

②西安交通大学生命学院生物医学分析及仪器研究所 陕西 西安 710049

郑诗强,男,(1989- ),硕士,主管技师。广州军区武汉总医院医学工程科,从事医院信息化、医疗设备开发与维护等科研工作。

猜你喜欢
窦房结生理编程
编程,是一种态度
元征X-431实测:奔驰发动机编程
HCN4表达变化对兔窦房结缺血再灌注时电生理功能的影响
编程小能手
电磁效应对心肌细胞搏动行为的影响
纺织机上诞生的编程
大脑如何知觉音乐的形式美?——来自电生理的证据
肉鸡铬需要量及其营养生理作用
基于BP神经网络的旋转血泵生理控制
窦房结功能障碍和房性心律失常:一枚硬币的两面?