我是 sbml 的新手,我真的很困惑。
我想用 Runge Kutta 解决 ODE。ODE 存储在 SBML 文件中。文件的一部分如下所示
<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++ 等)
所以最好的选择是这样的功能
Product = evaluate_sbml_formula(formula,value_of_reactant)
我阅读了 sbml 文档并没有找到它。
你有什么建议吗?谢谢