首页> 中国专利> 用于模型细胞模拟的动态协调框架

用于模型细胞模拟的动态协调框架

摘要

本文描述了一种在生物细胞的模拟中在多个子模型之间分配资源的方法。该方法接收包括多个子模型中的初始汇总资源的初始状态数据集,其中,多个子模型组成全细胞模型。该方法在第一时间步计算多个子模型中的每一个的第一结果,该结果包括在至少两个子模型之间共享的至少一种资源的局部产生、局部消耗和局部净值。该方法基于多个子模型中的每一个的结果计算后续状态数据集。后续状态数据集包括后续汇总资源、局部产生、局部消耗和局部净值。该方法在第二时间步基于后续汇总资源以及局部产生、局部消耗和局部净值,确定多个子模型中的每一个的第二结果。

著录项

  • 公开/公告号CN112970066A

    专利类型发明专利

  • 公开/公告日2021-06-15

    原文格式PDF

  • 申请/专利权人 X开发有限责任公司;

    申请/专利号CN201980073137.0

  • 发明设计人 F.鲁索;J.汤普森;N.鲁格罗;

    申请日2019-08-19

  • 分类号G16B5/30(20060101);G16B50/00(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人金玉洁

  • 地址 美国加利福尼亚州

  • 入库时间 2023-06-19 11:26:00

说明书

相关申请的交叉引用

本申请要求2018年9月6日提交的美国专利申请第16/123,877号的权益,出于所有目的通过引用将该专利申请整体并入本文。

技术领域

本说明书总体上涉及在细胞的模型系统的子模型之间进行协调,并且具体地涉及将共用资源分滩给独立操作的子模型。

背景技术

全细胞的模型系统可以由数百个分子组成,这些分子的关系可以在任意数量的子模型之间划分,每个子模型具有在每个子模型之间链接的连接关系和反应。将链接的网络划分为多个子模型允许在不同的数学框架上构建每个子模型。例如,可以根据偏微分方程(PDE)关系构造第一子模型,而可以根据质量平衡约束构造第二子模型。但是,将模型系统划分为不同的子模型通常会造成困难,因为各种子模型共用的资源(诸如ATP、酶和蛋白质)被分发给各个子模型中的每一个。确定如何在子模型之间协调共用资源的产生和消耗可能会变得困难。

发明内容

可以将生物细胞的功能和结构概念化为链接的子模型的模型系统,这些子模型一起操作以模拟全细胞的行为。因此,全细胞可以分解为各种链接的宏观级别功能,包括细胞代谢过程、细胞壁和膜等物理要素的生成、转录和翻译的过程、蛋白质和其他大分子的生成等。这些宏观级别功能中的每一个都可以通过不同的子模型进行建模。细胞资源(例如分子)在全细胞的各个子模型之间分配。本文描述的状态数据集协调全细胞的子模型之间共用资源的使用。

本文描述了一种用于在生物细胞的模拟中在多个子模型之间分配资源的方法。该方法接收包括多个子模型中的初始汇总资源的初始状态数据集。多个子模型组成全细胞模型。该方法在第一时间步计算多个子模型中的每一个的结果。该结果包括在至少两个子模型之间共享的至少一种资源的局部产生、局部消耗和局部净值。该方法基于多个子模型中的每一个的结果计算后续状态数据集。后续状态数据集包括后续汇总资源、局部产生、局部消耗和局部净值。该方法在第二时间步基于后续汇总资源以及局部产生、局部消耗和局部净值,确定多个子模型中的每一个的第二结果。

附图说明

图1是示出根据一些实施例的用于对生物细胞的行为进行建模的模拟系统的计算组件的框图。

图2A是根据一些实施例的全细胞模型的抽象级别的框图。

图2B是根据一些实施例的图2A的全细胞模型的实现级别的框图。

图3是根据一些实施例的状态数据集的组成部分的示图。

图4是根据一些实施例的使用协调状态数据集的时间序列的框图。

图5是根据一些实施例的用于在生物细胞的模拟中在多个子模型之间分配资源的方法的流程图。

具体实施方式

细胞的功能和结构可以转化为共同形成细胞的模型系统的反应物和产物之间路径的链接网络。可以在几个不同的级别上构建链接网络。在基线级别,链接网络是分子节点、过程节点和将分子节点链接到它们参与的过程的边的反应网络。在质量平衡模型中,在每个节点处施加约束,该约束要求分子的净输入通量与净输出通量匹配,例如,不能消耗或产生质量。质量平衡要求允许进行许多数学简化,但是也意味着在模型(诸如子模型)的较高级别上的分子的输入和输出通量是用于调节和确定子模型行为的主要参数,因为它们连接到网络的基本约束。

将链接网络划分为多个子模型具有许多好处。可以使用不同的算法(例如PDE、常微分方程(ODE)、通量平衡分析(FBA)、其他数值方法等)更好地对某些生物过程进行建模,并且将整个网络划分为不同类型的模型允许每个子模型模型更好地匹配生物学行为。另外,不同的子模型允许全细胞模型的分割,使得每个子模型独立地进行操作。但是,将链接网络划分为子模型意味着必须将有限的全局细胞资源(诸如ATP、酶和蛋白质)分配给各种子模型。在细胞的单次模拟期间,由于对于每个时间步运行子模型,因此难以在独立的子模型之间进行协调,因为单个子模型可能会完全耗尽或独占分子,从而阻止其他子模型工作。这对于具有高“吞吐量”(即网络中的产生和消耗速率)的分子尤其成问题,因为这些分子的量的微小扰动会迅速导致完全耗尽,从而影响众多子模型。这样的分发问题的先前解决方案通常(与该基于细胞的背景无关)聚焦于构建“主”分发算法,该算法通过其自身的内部计算将资源少量地发放给各种子模型。但是,这不是理想的解决方案,因为它不能反映细胞的生物学现实,需要进行额外的计算,并且由于选择的分发算法经常导致全细胞模型中的伪影(artifacts)。

状态数据集用于协调共用分子在全细胞模型内的多个子模型之间的分配。状态数据集汇总全细胞模型的所有子模型之间所有分子的产生、消耗和净“现有量(amount onhand)”,并为每个子模型存储这些指标。状态数据集可以将这些指标转换为任何本征或导出单位,诸如分子计数、克、摩尔、pH等,这取决于对每个子模型哪些单位最有用。例如,一个子模型可以具有与其关联的最大pH度,在这种情况下,它可以向状态数据集请求pH值,而另一子模型可以主要根据基于分子计数计算的算法来构建,在这种情况下,pH度可能不相关。

对于模拟的每个时间步,用每个子模型的结果更新状态数据集。根据存储和从状态数据集取回的先前时间步的结果来计算下一时间步。每个子模型中的产生和消耗根据汇总指标(例如,全细胞中的总现有量、产生和消耗)以及来自先前时间步的子模型自己的指标来计算。因此,每个子模型仅“看到”总体行为及其自身过去的行为,而不通过汇总指标以外的任何信息“知道”关于其他子模型的情况。基于子模型自身的过去行为和汇总行为,子模型计算其下一时间步的产生和消耗。因此,如果作为先前时间步的结果,可用100个ATP分子的网,并且该子模型消耗了50个并产生了10000个,则该子模型在下一时间步中的行为将反映以下事实:子模型是ATP的主要产生者,并且其产生和消耗会与先前时间步的产生和消耗成比例。

通过根据先前时间步计算每个子模型的行为,可以避免子模型耗尽分子的情况,因为作为分子的主要产生者的子模型不可能轻易地切换成为主要消耗者。另外,通过记录产生和消耗两者,而不是将这些速率组合为单个增量测量,可以使用模型的质量平衡约束来帮助确定子模型行为。状态数据集框架消除了对主分配算法的需要,从而允许每个子模型独立地确定其下一行为,并基于汇总和局部的产生和消耗有效地分配资源。

由此产生的好处是,作为模型细胞的输出而产生的模拟数据更有可能反映正在被建模的细胞的生物学特性,而不是通过使用主分配算法对该生物学特性的歪曲观点。消除这种歪曲的可能性提高了正确性,并因此提高了模拟数据的可信度,这意味着平均而言为了可靠地估计模型细胞的行为将需要执行较少的计算机模拟(silico simulation),从而降低了计算机处理要求(在运行时间和所产生的模拟数据所使用的存储器两个方面),并减少了为了从计算机模拟转变到关于模型细胞的细胞通路或感兴趣目标的体外或体内评估所需要考虑的数据量。例如,如果使用了主分配算法,则在考虑主分配算法可能会引入的偏差的同时可能需要某个数量X的模拟(产生X个数据集)来评估模型细胞。通过本文的方法和系统,反而可能需要某个较少数量Y(X>Y)的模拟,从而产生Y个数据集。在所有其他条件相同的情况下,使用Y个数据集比X个数据集更容易识别模拟/实验中的发现或错误。作为特定示例,给定模拟的输出可以直接通知是否应当执行后续模拟。作为特定示例,由于存在主分配算法的结果在模拟数据中检测到的偏差可能指示需要后续模拟来调整这样的检测到的影响。

此外,由模型细胞的多次模拟产生的模拟数据集(例如,如上所述的X或Y)可以提供一些参数空间,该参数空间将在湿(wet)实验室(例如,使用细胞培养)中在体外或体内被询问。例如,对于药物发现过程的目标识别或化合物(命中)评估可能就是这种情况。减少计算机模拟的数量以及由模拟产生的结果数据集的数量然后可以与湿实验室测试的参数空间的减少对应。在员工时间、所需的物理资源、物理空间等方面,湿实验室测试的成本很高。就这一点而言,湿实验室评估的参数空间的任何减少都会产生切实的好处。

另外,在用户可以首先在计算机上运行模拟并且仅在体外或体内执行包括潜在新发现的那些实验的情况下,该技术对于实验设计可能是有用的,以节省时间和实验室资源。使用主分配算法会创建附加的“故障点”,其可能会使确定模拟数据是否指示模拟中的错误或潜在的新发现变得更加困难。

通常,相对于以体外或体内方式执行实验,有效地在计算机中模拟模型细胞的能力允许操作者更快且更经济地执行那些实验。许多这样的实验的总体目标涉及运行对模型细胞的模拟,以确定在给定的一组环境条件下,模型细胞的状态在模拟过程中将如何变化,该组环境条件不仅包括诸如温度的变量,而且还包括存在扰动,诸如感兴趣的分子化合物。可以通过用模型细胞的模拟的执行的实验示例包括但不限于:评估提出的基因敲除、小分子、生物化合物、细胞环境变化或对生长的其他扰动、基因表达或模型细胞的其他属性的影响;筛选多种药物、化合物或其他扰动,以识别对实现期望结果有效的扰动;筛选偏离目标影响的多种药物、化合物或其他扰动,诸如对于毒性问题;预测给定的模型细胞在给定的条件组下是否将生长;预测给定模型细胞的表型,计算模型细胞的预期产物产率;识别新的可能目标以到达期望的治疗效果,评估新型合成化合物(诸如蛋白质)或整个人工细胞的行为;评估已知药物对不同模型细胞(例如用于动物治疗的非人类细胞等)的影响;在多种培养基条件下筛选模型细胞,以识别针对敲除或修饰的基因,以用于识别应用于这些基因的抗生素化合物;和评估模型细胞产生的氨基酸或其他遗传或细胞产物的产生率或产率,以确定可提高产生率或产率的环境条件或可适用的化合物。

对于模型细胞,以上任何示例都可以单次或多次运行。例如,可以在单个模型细胞上评估单个基因敲除对RNA转录的影响。替代地,可以针对单个模型细胞评估多个不同基因敲除的影响。因此,操作者可以模拟数百个(或更多)潜在的基因敲除实验,以确定哪些基因敲除产生有利的结果。基于此,操作者可以在体外或体内执行识别的实验子集,从而省去了在体外或体内进行其他数百次实验的工作量。如果体外或体内实验之一证明是有利的,则可以探索针对该特定基因敲除目标的疗法。该原理扩展到其他示例,例如,假设存在潜在化合物通过运行模型细胞的模拟以识别哪些化合物产生有利结果,可以筛选出数百种(或更多种)潜在化合物来上调或下调给定目标。基于此,操作者可以在体外或体内执行识别的实验子集,从而节省了在体外或体内执行其他数百个实验的工作量。模型细胞也是有利的,因为它可以提供关于化合物毒性的信息,该信息可以节省或减少与用于满足将化合物提供给患者群体的监管要求的动物研究相关的成本和时间。

此外,模拟模型细胞的另一好处是,与任何湿实验室实验中可能的相比,模拟允许以高得多的时间分辨率且在广泛得多的变量集上分析模型细胞内状态变化的动态。例如,这将使操作者例如以在给定任何的湿实验室工作量的情况下都将不容易处理的方式检查免疫细胞与其靶标之间的相互作用以及对该相互作用的一系列可能的扰动。

图1是示出了根据实施例的用于对生物细胞的行为进行建模的计算机模拟系统100(在本文中简称为“模拟系统”)的计算组件的框图。取决于实施例,模拟系统100的每个组件可以在被配置为通过网络(例如,互联网、局域网等)通信的一个或多个服务器或其他计算设备上实现。替代地,所有计算组件可以本地地存在于单个计算设备上。组成图1中所示的模拟系统100的计算组件是生化数据库102、工作数据文件104、模型编译器106、模拟引擎108和GUI 110。

生化数据库102是存储关于使用模拟系统100模拟的生化环境中可能存在或可能发生的分子和过程的数据的数据库。生化数据库102存储在模拟中可能有用的每个分子的组成数据,以及指定每个分子可以如何参与模拟系统100模拟的一个或多个过程的数据。生化数据库102可以更具体地包括描述处于各种特异性级别的有机体的信息。例如,在更详细的级别上,生化数据库102包括有机体的基因、转录本、蛋白质等的目录(catalog)。在更高的一般性级别,生化数据库102可以包括诸如有机体的蛋白质复合物的结构。尽管可以使用任何数据库结构来实现生化数据库102,但是在一些实施例中,生化数据库102被实现为二分反应(bipartite reaction)网络,这将参考图2进行更详细地描述。本领域技术人员将会认识到相同的生化可以存储在另一类型的数据结构中。

工作数据文件104(有时称为工作文件)是用于配置模拟系统100的一组指令。模拟系统100可以被配置为模拟单组分子和过程,因此,而不针对模拟系统100的每次使用单独配置。替代地,工作文件104用于选择要在模拟系统100中进行模拟的分子和过程,因此针对模拟系统100的每次使用单独配置。另外,工作文件104可以指定要被建模的特定细胞功能以及要被包括在模拟系统100中的模型。此外,工作文件104可以包括模拟系统100中包括的一个或多个子模型的参数,以及这些模型中的每一个的一组初始条件。

模型编译器106使用工作文件104来编译模拟系统100,从而使得模拟可以被运行。模型编译器106访问从生化数据库102和工作文件104检索的数据以生成每个模拟的各种组成部分,其示例包括但不限于:化学计量矩阵、二分网络链接分子和过程节点、描述分子的产生和/或消耗速率的初始通量向量和模型被运行进行第一次迭代之前的量、每个模型的目标函数以及对任何模型的任何约束。在处理模拟的各个组成部分之后,模型编译器106输出模拟配置数据文件(有时称为配置文件或simconfig文件)。该配置文件是模拟引擎108生成工作文件104描述的细胞过程的模拟的输入。在某些实施方式中,配置文件是由模拟引擎执行以准确地生成模拟的一组指令。

模拟引擎108管理由模型编译器106产生的配置或simconfig文件的执行,以使用模拟系统100来模拟生化过程。模拟引擎108可以使用由编译器106构造并包含在simconfig文件中的初始条件来初始化给定的模拟。模拟引擎108创建初始状态向量,其包括模拟中包括的每种分子的浓度。模拟引擎108创建进出模拟中的每个模型的任何初始交换通量值,这为关联的分子设置了初始消耗和产生速率。然后,模拟引擎108迭代通过模拟的时间步,以输入状态向量和通量来运行模拟模型。通常,这涉及模拟引擎108在初始状态之后达到模型对于第一时间步的解,其中,该时间步具有预定长度。时间步的长度可以由状态数据集确定,这将在下面进一步详细描述。每个模型对于该时间步的解可以包括但不限于每个模型输出的分子浓度、这些分子的通量以及由每个模型模拟的过程引起的总体生化环境的任何变化(例如,温度变化、pH值变化等)。

在模拟的初始时间步完成之后,模拟引擎108用初始时间步的输出来更新初始状态数据集、通量向量和任何其他相关的数据集。作为基于FBA的子模型的特定示例,模拟引擎108可以使用在模型运行期间确定的通量乘以预定时间步的长度来确定模拟的模型中包含的分子的新浓度。模拟引擎108还可以计算在模拟中将每个模型与每个其他模型连接的交换通量。然后,模拟系统100使用更新的状态数据集和模拟的任何其他参数,类似于第一时间步运行模拟的第二时间步。模拟引擎108将该过程持续多个时间步,或者直到达到终止状态或接收终止输入为止。参考图4更详细地描述在模拟时间步之间更新的状态数据集的示例。

在一些示例中,生化数据库102存储构造为二分图的反应网络。反应网络表征反应路径、沿着该反应路径发生的任何步骤的输入和输出。二分图由通过边连接的两组不同的节点,分子和过程,组成。另外,二分图包括表示反应的输入分子的输入分子节点。每个输入分子节点通过一个或多个边连接至中间过程节点或输出分子节点中的至少一个。

在反应网络的二分图结构中,输入分子节点表示反应的第一产物。取决于反应网络路径中分子和过程节点的数量,反应网络中可以有任意数量的分子节点和边。在这样的网络的一种特定用途中,输出分子节点表示诸如代谢的特定细胞功能(或一组细胞功能)的输出,并且是二分代谢网络的输出边界。

分子节点可以表示诸如水、二氧化碳、质子等的小分子,或者表示诸如蛋白质、脂质、醇、有机酸、维生素等的大分子。分子节点还可以表示有机体特定分子,诸如转录、蛋白质和蛋白质复合物。分子节点可以包含多个元数据字段来描述分子,包括分子名称、分子式、氨基酸序列、大分子结构、电荷、化学或物理性质(pKa、熔点、溶解度等);以及任何组成分子。另外,一些非物理性质可以包括在分子节点的元数据中,包括药物相互作用、3D结构等。分子节点不需要包含前述元数据类别中的每一种的信息。在一些示例中,分子节点可以具有关联的通量值。分子节点的通量值表示分子下游消耗和分子上游产生的净速率。通量值因此描述分子通过反应网络的“流量(flow)”。

过程节点描述在生物化学环境中的分子作用,包括但不限于化学反应、调节相互作用、结合、转运或其他分子作用。过程节点包括多个描述性元数据字段,这些元数据字段提供关于过程的信息,包括但不限于分子列表及其在过程中的关联角色、反应速率信息和过程的能量需求、该过程中可能涉及的子过程或其他更详细的信息。

在替代实施例中,生化数据库102可以存储使用与上述二分表示示例不同的表示描述细胞过程的信息。例如,对于细胞转录建模的转录子模型可以使用转录和相对浓度来构造在各个时间步采样的单项分配(monomial distribution)或序列组成技术,以将采样的转录组转换为对核苷三磷酸需求的分析,二分反应网络对此将不如其他表示有用。

图2A是根据一些实施例的全细胞模型的抽象级别200的框图。全细胞模型的抽象级别200演示了由同一全细胞模型的实现级别220生成的全细胞模型的子模型之间的实际上的关系,下面将参考图2B对其进行讨论。因此,全细胞模型的抽象级别200是与全细胞模型交互的用户或执行全细胞模型的模拟的任何处理器所看到的全细胞模型的“视图”。

全细胞模型包含任意数量的子模型,这些子模型与其他子模型相连,并且将分子输入和/或输出到其他子模型。如图2A所示,子模型包括细胞修复子模型202、复制子模型204、代谢子模型206、基因表达子模型208和/或细胞通信子模型210。子模型之间的箭头可以表示在子模型之间转移的分子的输入通量和/或输出通量。例如,如果代谢子模型206基于FBA框架,在该框架中,反应和产物分子之间的质量平衡关系用于求解稳态输入和输出通量值,则引向和引出代谢子模型206的箭头可以表示FBA解的通量值。子模型与细胞代谢206之间的箭头可以表示子模型之间分子的供需,或子模型之间分子的任何转移。例如,如果细胞通信子模型210具有过量的ATP分子,则可以将它们转移到复制子模型204。

除了子模型和细胞代谢206内的分子浓度之外,全细胞模型200还可以包括分子垫层(molecule cushion)212,其存在于子模型之间的直接供需系统之外。分子垫层212表示细胞环境内分子的储备。例如,分子垫层212可以是存在于细胞质中的分子,并且在需要时可用于分子过程。分子垫层212包含不同分子的不同储备浓度。例如,第一分子(分子

分子垫层212内可以有任何数量的分子。由分子

分子垫层212对全细胞模型的影响是分子垫层浓度允许对分子的需求瞬时(例如,对于评估子单元的给定单个时间步)超过供应而不破坏全细胞模型。这允许产生网络继续工作,因为需求负荷被应用于全细胞模型的系统,从而给细胞时间来增加分子的产生以满足新需求。

全细胞模型的模拟是在全细胞模型的所有子模型之间的数学计算,并且与相同的一组初始输入参数关联。输入参数是可以在模拟之间变化的变量,并且将参考图3-4进行更详细地描述。单个模拟产生一组模拟数据,其包括描述全细胞模型的子模型的方程的所有数学解。模拟可以迭代地求解全细胞模型200,以在时间序列上产生模拟数据,使得每个时间步与全细胞模型的一组解关联。单个时间步的解可以是单个确定性计算的结果,或者是在相同初始条件下且在相同时间步中来自一个或多个子模型的解的多次迭代的统计平均。这可以取决于描述每个子模型的方程的类型。例如,可以根据代谢子模型的单个FBA分析确定解,或者根据用Monte-Carlo方法建模的子模型的100个解确定解。进一步参考图3-4描述模拟时间步。

为了在整个时间尺度上产生全细胞模型200的模拟,将在第一时间的解用作后续时间步的初始条件。可以调整时间序列中的时间步以防止分子浓度的耗尽,使得在全细胞模型200中分子的高流速下,时间步比消耗和产生的速率减小时的要小。来自全细胞模型200的多个模拟的模拟数据的集合包括(comprise)“实验”。

在抽象级别200,子模型(诸如细胞修复子模型202、复制子模型204、代谢子模型206、基因表达子模型208和细胞通信子模型210)均在彼此之间转移分子。子模型基于每个子模型内分子的产生和消耗来转移分子和资源。在抽象级别200,子模型通过基于每个子模型内分子的局部产生和消耗来传送分子从而彼此“通信”。如本文所述,“局部产生”和“局部消耗”是指单个子模型内分子的产生或使用。例如,响应于代谢子模型206内的ATP的局部过产生,关于ATP过产生的信息可以被传送到基因表达子模型208,其可能对ATP具有巨大的需求。作为响应,过量的ATP分子可以从代谢子模型206传送到基因表达子模型208。因此,在抽象级别200的全细胞模型内的分子的产生和消耗可以不集中,并且每个子模型都能够在彼此之间通信和转移分子。如图2A所示,这由子分子中的每一个之间的双向箭头指示。

然而,随着全细胞模型内子模型的数量增加,允许分子在每个子模型之间直接转移可能变得复杂。为了基于在全细胞模型的所有子模型之间的产生和消耗分发分子,全细胞模型对每个子模型内的相对供求程度进行权衡(weight)。例如,如果在细胞通信子模型210中对ATP的需求比在基因表达子模型208中更高,则可以将过量的ATP分子传送到细胞通信子模型210而不是基因表达子模型208。尽管在抽象级别200,子模型均具有其自己的通道以与其他子模型转移分子,但是使到每个子模型分发去中央化在计算上可能变得复杂且不灵便。因此,抽象级别200可能不反映如何实现全细胞模型的架构。相反,抽象级别200表示全细胞模型的实际行为,其中,分子从子模型转移到子模型。下文将进一步详细描述产生抽象级别200行为的实现级别。

图2B是根据一些实施例的图2A的全细胞模型的实现级别220的框图。为了实现抽象级别200行为,其中,在全细胞模型的每个子模型之间交换分子,实现级别220包括状态数据集222,该状态数据集协调每个子模型之间的分子转移。因此,虽然从用户的视角来看,每个子模型被连接并根据每个子模型内的产生和消耗交换分子,但全细胞模型实际上是用协调状态数据集222构造的,如实现级别220所示。

如细胞修复子模型202、复制子模型204、FBA代谢子模型206、基因表达子模型208和细胞通信子模型210与状态数据集222之间的箭头所示,每个子模型都与状态数据集222通信。每个子模型用在模拟的每个时间步期间由状态数据集222跟踪的分子浓度的任何局部变化、分子的产生和消耗或任何其他参数来更新状态数据集222。状态数据集222汇总全细胞模型的所有子模型上的信息,并确定哪些信息要传送回每个子模型。例如,状态数据集可以根据每个子模型使用的数学框架自定义单位或其他参数。例如,状态数据集222可以向FBA代谢子模型206提供通量值,因为代谢的FBA概念使用通量值作为FBA计算中的主要参数。参考图3-5更详细地描述存储在状态数据集222内并由每个子模型更新的元素。

因此,在实现级别220,全细胞模型中的每个子模型都不直接彼此通信,而是将关于其分子的局部产生和消耗的信息传送到状态数据集222。数据集222充当关于所有子模型上的分子的信息的集中式信息池,从而允许根据每个子模型内分子的相对产生和消耗来分发分子。因此,通过将信息传送到状态数据集222的每个子模型在实现级别220模拟抽象级别200中示出的子模型之间的分子的直接转移,该状态数据集222又在子模型之间分发分子。但是,从用户的视角来看,实现级别220可能不“可见”,并且全细胞模型的行为就像每个子模型在直接与其他子模型进行通信一样。参考图3-5更详细地描述将分子分发到全细胞模型的每个子模型的过程。

图3是根据一些实施例的状态数据集302的组成部分的示图300。状态数据集302可以是如图2B所示的状态数据集222。状态数据集302收集全细胞模型的所有子模型(诸如图2B中所示的子模型)上的分子信息。状态数据集302存储关于分子产生和消耗的汇总信息和局部信息两者,如下所述。

状态数据集302汇总有关全细胞模型内每个分子的信息,并在分子304的数据集的一部分中存储每个分子的分子信息。例如,如果分子存在于单个子模型中,则它将在分子304内包含分子条目。如果分子存在于多个子模型中,则它在分子304中将具有单个分子条目。因此,在全细胞模型内的每个分子在分子304中被赋予条目。例如,分子

状态数据集302还包括一组本征速率参数308。本征速率参数308表示分子产生和消耗的生物学极限。例如,由于细胞过程的固有速率、分子的传输、酶或促进分子的有限结合速率或任何其他与分子浓度无关的生物学速率限制,细胞可能无法瞬时提高其产生速率以满足下游需求。本征速率参数308除了化学计量或质量平衡约束之外,还表示对产生的其他固有约束。本征速率参数308是一组与时间无关的系数。如下所述,本征速率参数308限制了任何子模型对外部子模型需求的产生或消耗的“导数”响应、产生或消耗的“积分”响应以及产生或消耗的“二阶导数”响应。其他本征速率参数308可以限制产生或消耗的“比例”响应,或者产生或消耗的任何更高阶的导数响应。

例如,本征速率参数是“迟钝(inertia)”,其表示子模型可以向反应供应分子的本征速率。“迟钝”是子模型内产生的“二阶导数”极限,因为它表示产生的瞬时“当前”变化率的极限,因此限制了变化率本身可以调整的速率。“迟钝”对细胞能够产生分子的速率具有阻尼作用。

第二本征速率参数是“补给(replenishment)”,其表示子模型可以生成分子的供应以满足外部需求的本征速率。“补给”是导数控制的一种形式,原因在于它作用于分子的外部需求速率与内部消耗速率之间的差。补给的作用是检查上游供应对下游需求的敏感性。

本征速率参数的第三示例是分子的“半衰期”,其表示子模型内分子的本征消耗速率。“半衰期”是产生的“积分”极限,因为它表示子模型内分子的先前产生。

可以为子模型内的每个分子定义本征速率参数,使得每个分子具有其自己的“迟钝”、“补给”和“半衰期”或反映使用分子作为化学反应中的反应物的生物学限制的任何其他定义的本征速率参数。在一些示例中,可以将应用于相同分子的不同本征速率参数用于不同子模型。例如,基因表达子模型208内的相同分子可以具有与细胞修复子模型202不同的本征速率参数组。在一些示例中,相同的本征速率参数组被用于全细胞模型的所有子模型中的相同分子。在该示例中,本征速率参数308是“全局变量”,并且适用于所有子模型上的分子。本征速率参数用于确定全细胞模型的子模型内分子的产生和消耗。

状态数据集302还包括模拟时间步310。模拟时间步310定义全细胞模型的模拟内全细胞模型的方程的迭代解之间的时间段。参考图4示出了模拟时间步310在全细胞模型的模拟中的作用。模拟时间步310可以被初始化为初始时间步。在一些示例中,模拟时间步310可以被初始化为一秒,但是,实际上,时间步可以与此相差几个数量级,这取决于被建模的系统和该模拟中起作用的动态。通常,将时间步选择为使其比信息传播通过系统所花费的时间量短。这可能跨越多个数量级,并取决于被模拟的生物系统。优选地,由被模拟系统输出的模拟数据应当是被建模系统中事件的因果链的结果,而不是所选择的时间步的伪影(artifact)。

在一些示例中,在全细胞模型的整个模拟中,模拟时间步310可以是恒定的。在一些示例中,模拟时间步310是动态的,并且响应于全细胞模型的模拟期间分子浓度的波动而被调整。在这些示例中,可以响应于子模型内的分子浓度在先前时间步之间保持在阈值以上(例如,保持在零以上)来增加模拟时间步310。在一些示例中,可以响应于全细胞模型的所有子模型上的分子的净浓度保持高于阈值增加模拟时间步310。在一些示例中,可以响应于分子垫层212内的所有分子的恒定浓度增加模拟时间步310。在一些示例中,可以响应于分子垫层212内阈值数量的分子的恒定浓度增加模拟时间步310。例如,如果从分子垫层212使用少于10个分子的储备浓度,则模拟引擎108可以增加模拟时间步310,例如从一秒增加到两秒。

作为可以如何计算这种增加的一个示例,可以执行两个单独的模拟并行运行,其中,每个并行运行使用不同的时间步。作为示例,用于第一运行的时间步t

替代地,增加的时间步允许在模拟期间进行更少的计算。因此,当全细胞模型的子模型内的分子的吞吐量保持稳定时,可以增加模拟时间步310以减少与全细胞模型的模拟关联的计算。

在一些示例中,响应于子模型内的分子浓度在先前时间步之间下降到阈值以下而减少模拟时间步310。在一些示例中,响应于全细胞模型的所有子模型上的分子的净浓度下降到阈值以下,可以减少模拟时间步310。在一些示例中,可以响应于分子垫层212内的阈值数量的分子的浓度的变化来减少模拟时间步310。例如,如果从分子垫层212使用了多于15个分子的储备浓度,则模拟引擎108可以减少模拟时间步310,例如,从1秒减少到半秒。如上所述的类似的并行运行过程可以用于确定是否改变时间步。在一些示例中,响应于使用分子垫层212内的单个分子,可以减少模拟时间步310。减小模拟时间步310增加了与全细胞模型的模拟关联的计算的数量,但是,它也允许在模拟过程中对子模型上分子的分发进行更多的调整,这在下面进一步详细描述。模拟时间步310的减少因此可以防止子模型之间对分子的冲突,并且可以防止全细胞模型中的分子完全耗尽。

模拟时间步310存储在状态数据集302中,并通过状态数据集302传送到子模型。如果模拟时间步310是动态的,则状态数据集302在全细胞模型的每个迭代解之后将更新的模拟时间步310的值传送给子模型。如图1所示,可以由计算机模拟系统100的模拟引擎108来调整模拟时间步310。

对于分子304内的每个分子条目,每分子存储多个指标。作为示例,在图3中示出了存储在分子

全细胞模型的解可以转换为任意数量的单位312。例如,作为FBA代谢的解的结果,代谢子模型可以产生进出代谢子模型的分子通量值。虽然通量值是由代谢子模型的FBA公式产生的初始解,但通量值可以转换为多种其他单位,诸如代谢内分子的净浓度、分子产生的pH度、分子摩尔等。取决于子模型的数学框架,不同的单位可能比其他单位更有用。例如,如果子模型包含质量平衡要求,则与子模型中的分子关联的质量可能是比pH度更有用的指标。对于每个分子,状态数据集302包含多个不同的单位312,可以以该单位转换全细胞模型中分子的解和条件。单位312可以是国际单位制(SI单位)中的任何一个。例如,单位

一旦从单位312中选择了单位,就将指标315转换为所选择的单位。例如,如图3所示,分子

状态数据集302将汇总指标作为模拟的时间步的全分子模型结果334传送到所有子模型336。因此,在每个时间步之后,对模拟求解并确定汇总指标。在计算下一时间步之前,所有子模型336接收全分子模型结果334,该结果包括净值316、净升率318和净降率320,它们根据从单位312中选择的单位进行表达。这参考图4进行更详细的描述。所有子模型336因此能够“看到”所有其他子模型上的每个分子的汇总状态。状态数据集302还将其他局部指标315传送到子模型,这在下面进一步详细描述。

状态数据集302中存储的每个分子304的指标315还包括局部指标,该局部指标衡量全细胞模型的子模型的局部环境中的分子状态。与汇总指标类似,局部指标根据选择的单位来表达。例如,在图3中示出了根据所选单位

除了全分子模型结果334之外,每个子模型的局部指标被传送到它们对应的子模型。因此,在每个时间步之后,模拟被求解并且局部指标被确定。在计算下一时间步之前,每个子模型接收其对应的局部子模型结果。参考图4对此进行更详细的描述。因此,所有子模型336都能够“看到”其自身内每个分子的局部状态,但是不能访问其他子模型内的分子的局部状态。因此,子模型结果324包括子模型

指标315、全细胞模型结果334和每个单独的子模型结果(例如,子模型结果342和子模型结果344)在迭代求解全细胞模型之后的每个时间步之后被更新。基于接收的全细胞模型结果334及其局部结果,每个子模型确定其对每个分子304的局部产生和消耗。因此,所有子模型共用的分子304基于状态数据集302的输出在全分子模型的子模型之间分配。这在下面进一步详细描述。

图4是根据一些实施例的使用协调状态数据集的时间序列400的框图。状态数据集被构造为状态数据集302,并且包含参考图3描述的元素。时间序列400产生全细胞模型的模拟。作为示例,在图4中示出了在t

在进行通过时间序列400之前,初始化初始状态数据集402内的值。因此,如参考图3所述,为分子404内的每种分子赋予每个指标315的初始值。例如,分子

除了初始化与每种分子关联的指标外,初始状态数据集402还包括初始时间步410。如参考图3所讨论,可以在时间序列400期间改变时间步410。本征速率参数408也被初始化,但是这些值在整个模拟400中保持不变。

基于初始化指标315,初始状态数据集402为全细胞模型的每个子模型提供分子404中的每种分子的全局指标,该全局指标从初始化净值316、初始化净升率318和初始化净降率320确定。如图3所述,全局指标以全细胞模式提供给每个子模型。每个子模型还从初始状态数据集402接收它们相应的局部指标,该局部指标从初始化子模型值、初始化子模型升率和初始化子模型降率确定。初始状态数据集402还向每个子模型传送本征速率参数408和初始化时间步410。因此,子模型414接收全局指标和子模型414的局部指标。

然后,在给定初始状态数据集402中提供的值的情况下,确定全细胞模型的解。全细胞模型中的每个子模型产生子模型结果,这是该子模型的解。例如,如果子模型基于FBA,则子模型的结果可以是在给定来自初始状态数据集402的输入值的情况下的FBA方程的通量值解。因此,子模型414产生结果420,子模型416产生结果422,并且子模型M产生结果424。

子模型结果根据全局指标和局部指标确定。因此,给定子模型的结果基于关于该子模型的分子的局部状态和分子的汇总状态的信息。因此,在给定子模型的过去行为(初始状态数据集402提供的初始局部指标)和子模型外部的汇总条件(初始状态数据集402提供的全局指标)的情况下,确定每个子模型的分子的产生和消耗。

来自每个子模型的单独的结果被组合以确定全细胞模型结果426。例如,每个结果可以被加在一起以产生全细胞模型结果426。

在第一时间步t

后续状态数据集428除了每个相应子模型的局部结果之外,还将从后续状态数据集428确定的全分子模型结果426传送到全分子模型中的每个子模型。例如,结果420被传送到子模型414,结果422被传送到子模型416,并且结果424被传送到子模型M 418。基于这些指标,对于第二时间步t

该过程可以重复任何数量的时间步,因为给定先前时间步的解以及对于后续时间步传送到子模型的相关指标,状态数据集被迭代地更新。

图5是根据一些实施例的用于在生物细胞的模拟中在多个子模型之间分配资源的方法的流程图500。该方法可以由计算机模拟系统100执行,并且更具体地由模拟引擎108执行。模拟引擎108接收502初始状态数据集,该初始状态数据集包括多个子模型中的初始汇总资源。初始状态数据集可以是参考图4描述的初始状态数据集402。如本文所述,汇总资源可以是一起组成全细胞模型结果的净值316、净升率318和净降率320。可以为分子304中的每个分子确定汇总资源并将其存储在初始状态数据集402内。

模拟引擎108在第一时间步计算504多个子模型中的每个子模型的结果。这可以是如参考图4进一步详细描述的第一时间步t

模拟引擎108基于多个子模型中的每个子模型的结果来计算506后续状态数据集。这可以是如参考图4进一步详细描述的后续状态数据集428。多个分子中的每一个的结果可以是如图4所示的结果420、422和424。因此,根据先前时间步的初始状态数据集更新后续状态数据集。

模拟引擎108在第二时间步基于后续汇总资源以及局部产生、局部消耗和局部净值来确定508多个子模型中的每一个的第二结果。后续汇总资源可以是全分子模型结果426。局部产生、局部消耗和局部净值可以分别是子模型值、子模型升率和子模型降率。因此,局部产生、局部消耗和局部净值是子模型的结果(例如结果432、434和436),它们反映了单个子模型内分子的局部状态。第二时间步可以是如图4所示的时间步t

应当理解,本公开的附图和描述已经被简化以说明与清楚理解本公开相关的元件,同时为了清楚起见,省去了在一般系统中发现的许多其他元件。本领域普通技术人员可以认识到,在实现本公开时其他元件和/或步骤是期望和/或需要的。然而,因为这样的元件和步骤在本领域中是公知的,并且因为它们不促进对本公开的更好的理解,所以这里不提供对这样的元件和步骤的讨论。本文的公开内容涉及本领域技术人员已知的对此类元件和方法的所有此类变型和修改。

上面的描述的某些部分根据算法和信息操作的符号表示来描述实施例。这些算法的描述和表示通常由数据处理领域的技术人员用来将其工作的实质有效地传达给本领域的其他技术人员。这些操作虽然在功能上、计算上或逻辑上进行了描述,但应理解为由计算机程序或等效电路、微代码等实现。此外,在不失一般性的情况下,有时将这些操作安排称为模块有时也很方便。所描述的操作及其相关模块可以以软件、固件、硬件或其任何组合来体现。

如本文所使用的,对“一个实施例”或“实施例”的任何提及意味着结合该实施例描述的特定元件、特征、结构或特性包括在至少一个实施例中。说明书中各个地方出现的短语“在一个实施例中”不一定都指的是同一实施例。

如本文所使用的,术语“包括”、“包含”、“具有”或其任何其他变型旨在覆盖非排他性包含。例如,包括一系列元素的过程、方法、物品或设备不一定仅限于那些元素,而是可以包括未明确列出的或此类过程、方法、物品或设备固有的其他元素。此外,除非另有明确相反的声明,否则“或”是指包含性的“或”而不是排他性的“或”。例如,条件A或B由以下任一项满足:A为真(或存在)且B为假(或不存在),A为假(或不存在)且B为真(或存在),以及A和B均为真(或存在)。

此外,使用“一个”或“一种”来描述本文的实施方式的元件和组件。这样做仅仅是为了方便并给出本发明的一般意义。该描述应被理解为包括一个或至少一个,并且单数也包括复数,除非很明显它另有含义。

尽管已经图示和描述了特定的实施例和应用,但是应当理解,所公开的实施例不限于本文所公开的精确构造和组件。在不脱离所附权利要求书所限定的精神和范围的情况下,可以对本文公开的方法和装置的布置、操作和细节进行对本领域技术人员而言显而易见的各种修改、改变和变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号