Auckland Bioengineering Institute, The University of Auckland, Auckland, NZ.
BMC Bioinformatics. 2010 Apr 8;11:178. doi: 10.1186/1471-2105-11-178.
CellML is an XML based language for representing mathematical models, in a machine-independent form which is suitable for their exchange between different authors, and for archival in a model repository. Allowing for the exchange and archival of models in a computer readable form is a key strategic goal in bioinformatics, because of the associated improvements in scientific record accuracy, the faster iterative process of scientific development, and the ability to combine models into large integrative models.However, for CellML models to be useful, tools which can process them correctly are needed. Due to some of the more complex features present in CellML models, such as imports, developing code ab initio to correctly process models can be an onerous task. For this reason, there is a clear and pressing need for an application programming interface (API), and a good implementation of that API, upon which tools can base their support for CellML.
We developed an API which allows the information in CellML models to be retrieved and/or modified. We also developed a series of optional extension APIs, for tasks such as simplifying the handling of connections between variables, dealing with physical units, validating models, and translating models into different procedural languages.We have also provided a Free/Open Source implementation of this application programming interface, optimised to achieve good performance.
Tools have been developed using the API which are mature enough for widespread use. The API has the potential to accelerate the development of additional tools capable of processing CellML, and ultimately lead to an increased level of sharing of mathematical model descriptions.
CellML 是一种基于 XML 的语言,用于以机器独立的形式表示数学模型,这种形式适合不同作者之间的模型交换,也适合在模型库中存档。允许以计算机可读的形式交换和存档模型是生物信息学中的一个关键战略目标,因为这可以提高科学记录的准确性、加快科学发展的迭代过程,并能够将模型组合成大型综合模型。然而,为了使 CellML 模型有用,需要有能够正确处理它们的工具。由于 CellML 模型中存在一些更复杂的特性,例如导入,因此从头开始开发正确处理模型的代码可能是一项艰巨的任务。出于这个原因,非常需要一个应用程序编程接口(API),以及该 API 的良好实现,工具可以基于该 API 来支持 CellML。
我们开发了一个 API,允许检索和/或修改 CellML 模型中的信息。我们还开发了一系列可选的扩展 API,用于简化变量之间连接的处理、处理物理单位、验证模型以及将模型转换为不同的过程语言等任务。我们还提供了此应用程序编程接口的免费/开源实现,对其进行了优化以实现良好的性能。
已经使用该 API 开发了成熟到可以广泛使用的工具。该 API 有可能加速开发能够处理 CellML 的其他工具,并最终导致数学模型描述的共享水平提高。