cobrapy
4
总安装量
1
周安装量
#48596
全站排名
安装命令
npx skills add https://github.com/tondevrel/scientific-agent-skills --skill cobrapy
Agent 安装分布
mcpjam
1
claude-code
1
replit
1
junie
1
windsurf
1
zencoder
1
Skill 文档
COBRApy – Metabolic Modeling
Models the “metabolism” of a cell as a linear optimization problem. Used to predict bacterial growth under different conditions or design GMO strains.
When to Use
- Predicting microbial growth rates under different nutrient conditions.
- Designing metabolic engineering strategies (knockouts, additions).
- Understanding metabolic flux distributions.
- Comparing metabolic capabilities across organisms.
- Identifying essential genes and reactions.
Core Principles
Flux Balance Analysis (FBA)
Optimizes metabolic fluxes to maximize biomass production (or other objectives) subject to stoichiometric constraints.
Gene-Protein-Reaction (GPR)
Genes encode proteins (enzymes) that catalyze reactions. Knockouts affect reaction availability.
Constraints
Reaction bounds (lower/upper limits) represent enzyme capacity or nutrient availability.
Quick Reference
Standard Imports
import cobra
from cobra.io import load_model, save_model
Basic Patterns
# 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()
Critical Rules
â DO
- Check solution status – Ensure status is ‘optimal’ before using results.
- Use context managers – Wrap modifications in
with model:to avoid permanent changes. - Set appropriate bounds – Reaction bounds should reflect biological reality.
- Validate model – Use
model.validate()to check for common issues.
â DON’T
- Don’t ignore infeasible solutions – If optimization fails, check constraints and bounds.
- Don’t modify model in place – Use context managers or copy the model first.
- Don’t assume all reactions are active – Many reactions have zero flux in optimal solution.
Advanced Patterns
Flux Variability Analysis (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)
Gene Essentiality Analysis
# 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]
Adding Custom Reactions
# 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 transforms metabolic networks into computable models, enabling researchers to predict and engineer cellular behavior at the systems level.