import cobra
2 全局配置
在 cobra > 0.13.4 中,我们引入了一个全局配置对象。现在,您可以配置默认的反应边界和优化求解器,新创建的反应和模型将遵循这些求解器。
2.1 配置对象
您可以通过以下方式获取配置对象 1:
= cobra.Configuration() cobra_config
1配置对象是单例。这意味着只能存在一个实例,并且在 COBRApy 中到处都被接受。
2.2 反应边界
该对象具有以下属性,你可以检查这些属性,也可以根据需要进行更改。
cobra_config.lower_bound
-1000.0
cobra_config.upper_bound
1000.0
cobra_config.bounds
(-1000.0, 1000.0)
2.2.1 更改边界
你可在反应前修改并使用这些值。
= -10, 20 cobra_config.bounds
"R1") cobra.Reaction(
Reaction identifier | R1 |
Name | |
Memory address | 0x1a995d9a150 |
Stoichiometry | --> --> |
GPR | |
Lower bound | 0.0 |
Upper bound | 20 |
请注意,默认情况下,反应是不可逆的。你可以通过取消设置下限参数来更改此行为。
"R2", lower_bound=None) cobra.Reaction(
Reaction identifier | R2 |
Name | |
Memory address | 0x1a995f25fd0 |
Stoichiometry | <=> <=> |
GPR | |
Lower bound | -10 |
Upper bound | 20 |
注意:大多数模型都明确定义了反应边界,该边界优先于配置的值。
from cobra.io import load_model
= load_model("textbook") model
model.reactions.ACt2r
Reaction identifier | ACt2r |
Name | R acetate reversible transport via proton - symport |
Memory address | 0x1a995d987d0 |
Stoichiometry | ac_e + h_e <=> ac_c + h_c Acetate + H+ <=> Acetate + H+ |
GPR | |
Lower bound | -1000.0 |
Upper bound | 1000.0 |
2.3 Solver
你可以通过新实例化模型来定义默认求解器。默认求解器取决于您的环境。为了测试 Gurobi、CPLEX 和 GLPK 的可用性。假定 GLPK 始终存在于环境中。
model.solver
<optlang.cplex_interface.Model at 0x1a995d8b950>
更改Solver
= "glpk_exact" cobra_config.solver
= load_model("textbook") new_model
new_model.solver
<optlang.glpk_exact_interface.Model at 0x1a995e65d10>
更改全局配置值在工作会话开始时最有用。