首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将SBML公式转换为程序代码?

如何将SBML公式转换为程序代码?
EN

Stack Overflow用户
提问于 2017-01-30 22:18:26
回答 2查看 181关注 0票数 1

我对sbml是个新手,我真的很困惑。

我想和龙格·库塔一起解一首颂歌。ODE存储在SBML文件中。文件的一部分如下所示

代码语言:javascript
复制
<listOfReactions>
  <reaction id="growth_P" reversible="false" fast="false">
    <listOfReactants>
      <speciesReference species="P" constant="false"/>
    </listOfReactants>
    <listOfProducts>
      <speciesReference species="P" constant="false"/>
    </listOfProducts>
    <kineticLaw>
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <apply>
          <times/>
          <ci> Rp </ci>
          <ci> P </ci>
        </apply>
      </math>
      <listOfLocalParameters>
        <localParameter id="Rp" value="1" units="per_second"/>
      </listOfLocalParameters>
    </kineticLaw>
  </reaction>
....
</listOfReactions>

这应该描述反应dP/dt = Rp*P

我的问题来了。我不知道如何将sbml公式转换成我的程序可以处理的公式(python/C++,随便什么)。

所以最好的选择是像这样的函数

代码语言:javascript
复制
Product = evaluate_sbml_formula(formula,value_of_reactant)

我阅读了sbml文档,但没有找到它。

你有什么建议吗?谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-01-31 05:04:38

如果看不到整个SBML文件,就很难构造一组要解决的ODE。在我的python课程(1)中,我使用了libSBML (以pypi/anaconda包的形式提供)来用python解析SBML文件。下面是一个文件的链接,该文件将SBML转换为ODE,然后使用scipy进行解析:

https://www.dropbox.com/s/2bfpiausejp0gd0/convert_reactions.py?dl=0

我希望这对你有帮助

票数 3
EN

Stack Overflow用户

发布于 2019-07-18 16:13:29

sbml片段有点不寻常。反应物和产物都是P,因此反应是P -> P。这意味着P的变化率为零,即

dp/dt =0

在这种情况下,速率法则是什么并不重要。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41938120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档