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