关于 cobrapy
cobrapy 是一项使用 COBRApy 将细胞代谢建模为线性优化问题的技能,面向研究微生物生长、代谢通量和代谢工程策略的人员。
主要功能
- 01通量平衡分析
- 02通量变异分析
- 03基因必需性测试
- 04反应与基因敲除建模
适用场景
- 01预测不同营养条件下的生长
- 02比较代谢通量分布
- 03识别生长必需基因
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tondevrel/ scientific-agent-skills --skill cobrapy安装后在 Claude Code 中输入/cobrapy确认已加载。
详细介绍
COBRApy - 代谢建模
将细胞的“代谢”建模为线性优化问题。可用于预测不同条件下细菌的生长情况,或设计转基因生物菌株。
适用场景
- 预测不同营养条件下微生物的生长速率。
- 设计代谢工程策略(基因敲除、添加)。
- 了解代谢流分布。
- 比较不同生物体的代谢能力。
- 识别必需基因和反应。
核心原则
通量平衡分析(FBA)
在满足化学计量约束的条件下,优化代谢通量,以最大化生物量产出(或其他目标)。
基因-蛋白质-反应(GPR)
基因编码催化反应的蛋白质(酶)。基因敲除会影响反应的可用性。
约束
反应边界(下限/上限)表示酶的能力或营养物质的可用性。
快速参考
标准导入
import cobra
from cobra.io import load_model, save_model
基本模式
# 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()
关键规则
✅ 应当
- 检查求解状态 —— 使用结果前,确保状态为 'optimal'。
- 使用上下文管理器 —— 将修改放在
with model:中,避免永久更改。 - 设置恰当的边界 —— 反应边界应反映生物学实际情况。
- 验证模型 —— 使用
model.validate()检查常见问题。
❌ 不要
- 不要忽略不可行的解 —— 如果优化失败,请检查约束和边界。
- 不要原地修改模型 —— 使用上下文管理器,或先复制模型。
- 不要假定所有反应都处于活跃状态 —— 最优解中许多反应的通量为零。
高级模式
通量变异性分析(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])
COBRApy 将代谢网络转化为可计算的模型,使研究人员能够在系统层面预测和设计细胞行为。
评论
支持 Markdown