SuperAPI AI 工具集

cobrapy

数据与分析

查看项目

更新于 10-16 02:19

技能介绍

COBRApy 是 Constraints-Based Reconstruction and Analysis for Python 的实现,用于对微生物的大规模代谢网络进行建模。它把细胞的“代谢”表示为线性优化问题,可用于预测不同条件下的细菌生长,或设计转基因菌株。

用途

  • 预测微生物在不同营养条件下的生长速率。
  • 设计代谢工程策略(基因敲除、添加)。
  • 理解代谢通量分布。
  • 比较不同生物体的代谢能力。
  • 识别必需基因和必需反应。

核心原理

  • 通量平衡分析(FBA):在化学计量约束下,优化代谢通量以最大化生物量产出(或其他目标)。
  • 基因—蛋白—反应(GPR):基因编码催化反应的蛋白(酶);敲除会影响反应的可用性。
  • 约束:反应边界(下限/上限)表示酶容量或营养可用性。

使用方式

标准导入:

import cobra
from cobra.io import load_model, save_model

基本模式(加载模型、运行 FBA、敲除模拟、更换培养基):

# 1. Load model (e.g., E. coli)
model = cobra.io.load_model("iJO1366")
# Or: model = cobra.io.read_sbml_model("model.xml")

# 2. Run Flux Balance Analysis (FBA)
solution = model.optimize()
print(f"Growth rate: {solution.objective_value:.4f}")
print(f"Status: {solution.status}")

# 3. Knockout simulation (Gene essentiality)
with model:
    model.genes.get_by_id("b0002").knock_out()
    print(f"Growth after knockout: {model.optimize().objective_value:.4f}")

# 4. Change medium (nutrient availability)
model.medium = {
    'EX_glc__D_e': 10.0,  # Glucose uptake
    'EX_o2_e': 1000.0     # Oxygen
}
solution = model.optimize()

高级模式(通量变异性分析 FVA、基因必需性分析、添加自定义反应):

from cobra.flux_analysis import flux_variability_analysis

# Find range of possible fluxes for each reaction
fva_result = flux_variability_analysis(model, model.reactions)
# Test which genes are essential for growth
from cobra.flux_analysis import single_gene_deletion

deletion_results = single_gene_deletion(model)
essential_genes = deletion_results[deletion_results['growth'] < 0.01]
# Add a new reaction to the model
new_reaction = cobra.Reaction("NEW_RXN")
new_reaction.add_metabolites({
    model.metabolites.get_by_id("glc__D_c"): -1,
    model.metabolites.get_by_id("atp_c"): -1,
    model.metabolites.get_by_id("adp_c"): 1,
})
new_reaction.lower_bound = 0
new_reaction.upper_bound = 1000
model.add_reactions([new_reaction])

关键规则

建议做法:

  • 检查求解状态:在使用结果前确保状态为 'optimal'。
  • 使用上下文管理器:把修改包在 with model: 内,避免永久改动。
  • 设置合适的边界:反应边界应反映生物学现实。
  • 验证模型:使用 model.validate() 检查常见问题。

不建议做法:

  • 不要忽略不可行解:若优化失败,检查约束与边界。
  • 不要就地修改模型:使用上下文管理器或先复制模型。
  • 不要假设所有反应都活跃:最优解中许多反应通量为零。

适用场景与限制

COBRApy 将代谢网络转化为可计算模型,使研究者能够在系统层面预测和工程化细胞行为。它适合微生物代谢建模、生长预测与代谢工程等任务。资料未提供关于平台支持、收费或价格、以及具体性能效果的信息。