Add COBRApy sample code

parents
.idea/*
!.idea/runConfigurations/
venv/
pip install git+https://github.com/shjchan/cobrapy.git@implement_find_act_rxns
pip install lxml
pip install scipy
\ No newline at end of file
#!/usr/bin/env python3
# coding: utf-8
from argparse import ArgumentParser
from os import path, mkdir
from timeit import default_timer as timer
from cobra.flux_analysis import flux_variability_analysis, add_loopless
from cobra.io import read_sbml_model
parser = ArgumentParser(description="FVA Solver")
parser.add_argument("--model", help="SBML file with the model")
parser.add_argument("--method", help="Loop removal method", default="fastSNP")
args = parser.parse_args()
workdir = f"instances/{args.model}/"
outdir = path.join(workdir, "output")
if not path.exists(outdir):
mkdir(outdir)
file = path.join(workdir, f"{args.model}.xml")
model = read_sbml_model(file)
model.solver = "cplex"
# model.objective = "FRD7"
print(f"Number of reactions: {len(model.reactions)}")
print(f"Number of metabolites: {len(model.metabolites)}")
time = timer()
add_loopless(model, zero_cutoff=1E-6, method=args.method)
fba = model.optimize(raise_error=True)
time = timer() - time
print(f"Time: {time}")
print(f"FBA objective: {fba.objective_value}")
fba.fluxes.to_csv(path.join(outdir, f"cobrapy-fba-{args.method}.tsv"), sep='\t', header=True)
for optimum in [0.0, 1.0]:
fva = flux_variability_analysis(model, model.reactions, loopless=False, fraction_of_optimum=optimum)
outfile = path.join(outdir, f"cobrapy-fva-{args.method}-opt{optimum}.tsv")
fva.to_csv(outfile, sep='\t', encoding="utf-8", float_format="%.10f")
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment