系统生物学标记语言(英语:Systems Biology Markup Language,简称SBML)是机器可读的、基于XML的置标语言,用于描述生化反应等网络的计算模型。SBML可以描述代谢网络、细胞信号通路、调节网络、以及在系统生物学研究范畴中的其它系统。
2000年,在日本科学技术振兴机构(JST)的资助下,Hiroaki Kitano和John C. Doyle发起组建了一个研究小组试图为系统生物学的计算模型发展更佳的基础性软件。Hamid Bolouri是这个小组的组长,其成员有Andrew Finney、Herbert Sauro以及Michael Hucka。他们最初的工作集中于设计一个使现有的生物学模拟软件包中的一部分可以互相交换数据的系统。这些软件包括Berkeley BioSpice, DBSolve, E-Cell,Gepasi, Jarnac, StochSim和The Virtual Cell。从那时起,越来越多的软件开始支持SBML。
编写这些软件工具的若干工作小组于2000年4月28到29日参加了在加州理工学院(California Institute of Technology)举行的ERATO分子生物学软件平台会议。他们取得了一个共识,即为了更好地交换信息,所有的组件必须以相同的格式来进行对模型的描述。会议决定采用XML作为描述模型的编码语言,因为这时XML语言因可能被采用为因特网数据标准而得到了人们的注意。
紧接着,Kitano小组为作为体系组成部分的软件Systems Biology Workbench (SBW)和作为模型描述格式的SBML语言制定了最初的规范和方案。
SBML有如下三个主要的目的:
SBML并非是为了描述定量模型而定义的通用语言。它的目的是设计成一种“混合通用语言”,也就是说作为现有软件工具间交换计算模型的基本数据的交换格式。
SBML可以编码由生化分子及其相互反应而成的生化反应网络组成的模型。一个重要的原则是,该模型可被分解成明确标记的组成元素,而且元素的集合可比拟成对反应方程式的一种精细的再现;而这种再现并非直接将模型映射为一组(微分)反应方程式的集合或其它对模型的精细解释。这种分解在元素组成上是明确的而在大体模型框架上是模糊的,这种特性使得软件工具易于进行对模型的解释,并把SBML格式转换成任意的、在软件内部实际使用的格式。
支持SBML的软件包应该能读出使用SBML的模型描述文件,并将它转换成软件的内部格式以进行对模型的分析。例如,某个软件包可能提供通过构造反应网络中的(微分)方程式来进行模型仿真的功能,进而可对方程式进行数值的时程积分(numerical time integration),以进行对模型动力学特性的研究。又如另一种情况,某个软件包可能会构造一种离散的随机模型,并使用动态的进行对模型的仿真(如)。
SBML能够描述任意复杂度的模型。模型中的每种组件用特定的能够良好组织该组件相关信息的数据结构来描述。这些数据结构决定了整个模型如何用编码。
SBML被定义为不同级别。并支持级别的向下兼容。一般说来,级别越高,功能越多,表达能力也越强。如果一个软件能够翻译高级别的SBML,那么它也能够翻译低级别的SBML。反之,却不是这样。高的级别的SBML只代表更多的功能和更强的表达能力,并不取代低的级别。但在同一级别内,新的版本取代旧版本。
开源软件,例如libSBML支持级别1和级别2,尽可能为用户提供最大方便。
发布于2007年6月16日的L2V3是最新的SBML版本。