mcpField
C
cobrapy

cobrapy

github.com/tondevrel其他2448 次安装39 周前更新
代码仓库

关于 cobrapy

cobrapy 是一项使用 COBRApy 将细胞代谢建模为线性优化问题的技能,面向研究微生物生长、代谢通量和代谢工程策略的人员。

主要功能

  1. 01通量平衡分析
  2. 02通量变异分析
  3. 03基因必需性测试
  4. 04反应与基因敲除建模

适用场景

  1. 01预测不同营养条件下的生长
  2. 02比较代谢通量分布
  3. 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