def runPathologic(thermo, reactionList): pl = Pathologic( db=SqliteDatabase("../res/gibbs.sqlite", "r"), public_db=SqliteDatabase("../data/public_data.sqlite"), html_writer=HtmlWriter("../res/mog_finder.html"), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=-3.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None, ) add_cofactor_reactions(pl) add_redox_reactions(pl) for r in reactionList: pl.add_reaction(Reaction.FromFormula(r, "Auto generate #%s" % hash(r))) pl.delete_reaction(134) pl.delete_reaction(344) pl.delete_reaction(575) pl.delete_reaction(212) # pl.add_reaction(Reaction.FromFormula('C00149 + C00006 <=> C00036 + C00005 + C00080', # 'malate + NADP+ = oxaloacetate + NADPH',343)) # pl.add_reaction(Reaction.FromFormula('C00222 + C00010 + C00006 <=> C00083 + C00005', # 'malonate-semialdehyde + CoA + NADP+ = malonyl-CoA + NADPH',740)) r = Reaction.FromFormula("2 C00288 => C00048") pl.find_path("MOG_finder", r)
def example_reductive(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) add_redox_reactions(pl) r = Reaction.FromFormula("3 C00011 => C00022") #r.Balance() pl.find_path("reductive", r)
def example_oxidative(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=10, maximal_dG=0, thermodynamic_method=OptimizationMethods.MAX_TOTAL, update_file=None) add_cofactor_reactions(pl) add_redox_reactions(pl, NAD_only=False) r = Reaction.FromFormula("C00022 => 3 C00011") #r.Balance() pl.find_path("oxidative", r)
def example_lower_glycolysis(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=8, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) add_redox_reactions(pl) #r = Reaction.FromFormula("C00003 + C00118 + C00001 => C00022 + C00004 + C00009") r = Reaction.FromFormula("C00118 => C00022") #r.Balance() pl.find_path("GAP => PYR", r)
def example_glycolysis(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl, free_ATP_hydrolysis=False) ban_toxic_compounds(pl) #add_carbon_counts(pl) #r = Reaction.FromFormula("C00031 => 6 C06265") r = Reaction.FromFormula("C00031 + 3 C00008 => 2 C00186 + 3 C00002") #r.Balance() pl.find_path("GLC => 2 LAC, 3 ATP, No methylglyoxal", r)
def runBeta2Alpha(thermo, reactionList): pl = Pathologic( db=SqliteDatabase("../res/gibbs.sqlite", "r"), public_db=SqliteDatabase("../data/public_data.sqlite"), html_writer=HtmlWriter("../res/Beta2Alpha.html"), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None, ) add_cofactor_reactions(pl) add_redox_reactions(pl) for r in reactionList: pl.add_reaction(Reaction.FromFormula(r, "Auto generate #%s" % hash(r))) r = Reaction.FromFormula("C00099 => C01401") pl.find_path("Beta2Alpha", r)
def example_glucose_to_ethanol_and_formate(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) #add_cofactor_reactions(pl) #add_XTP_reactions(pl, '=>') #add_redox_reactions(pl) #pl.delete_reaction(761) # F6P + Pi = E4P + acetyl-P #pl.delete_reaction(1621) # X5P + Pi = GA3P + acetyl-P r = Reaction.FromFormula("2 C00031 + 3 C00001 => 6 C00058 + 3 C00469") r.Balance() pl.find_path("glucose_to_ethanol_and_formate", r)
def example_more_than_two_pyruvate(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=20, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) #add_cofactor_reactions(pl) #add_XTP_reactions(pl, '=>') #add_redox_reactions(pl) #pl.delete_reaction(761) # F6P + Pi = E4P + acetyl-P #pl.delete_reaction(1621) # X5P + Pi = GA3P + acetyl-P r = Reaction.FromFormula("3 C00031 + 3 C00011 + C00003 => 7 C00022 + 3 C00001 + C00004") r.Balance() pl.find_path("more_than_two_pyr", r)
def runPathologic(thermo, reactionList): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/mog_finder.html'), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=-3.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) add_redox_reactions(pl) for r in reactionList: pl.add_reaction(Reaction.FromFormula(r, "Auto generate #%s" % hash(r))) pl.delete_reaction(134) pl.delete_reaction(344) pl.delete_reaction(575) pl.delete_reaction(212) #pl.add_reaction(Reaction.FromFormula('C00149 + C00006 <=> C00036 + C00005 + C00080', # 'malate + NADP+ = oxaloacetate + NADPH',343)) #pl.add_reaction(Reaction.FromFormula('C00222 + C00010 + C00006 <=> C00083 + C00005', # 'malonate-semialdehyde + CoA + NADP+ = malonyl-CoA + NADPH',740)) r = Reaction.FromFormula("2 C00288 => C00048") pl.find_path("MOG_finder", r)
def example_three_acetate(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=20, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) #add_redox_reactions(pl) pl.delete_reaction(761) # F6P + Pi = E4P + acetyl-P pl.delete_reaction(1621) # X5P + Pi = GA3P + acetyl-P r = Reaction.FromFormula("C00031 => 3 C00033") #r.Balance() pl.find_path("three_acetate", r)
def runBeta2Alpha(thermo, reactionList): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/Beta2Alpha.html'), thermo=thermo, max_solutions=None, max_reactions=15, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) add_redox_reactions(pl) for r in reactionList: pl.add_reaction(Reaction.FromFormula(r, "Auto generate #%s" % hash(r))) r = Reaction.FromFormula("C00099 => C01401") pl.find_path("Beta2Alpha", r)
def example_rpi_bypass(thermo): pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=10, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl) #add_redox_reactions(pl) pl.delete_reaction(1056) # ribose-phosphate isomerase pl.delete_reaction(1081) # ribose isomerase r = Reaction.FromFormula("C00117 => C01182") #r.Balance() pl.find_path("rpi_bypass", r)
def example_formate(thermo, product_cid=22, co2_conc=1e-5): co2_hydration = Reaction.FromFormula("C00011 + C00001 => C00288") co2_hydration_dG0_prime = float(thermo.GetTransfromedKeggReactionEnergies([co2_hydration])) carbonate_conc = co2_conc * np.exp(-co2_hydration_dG0_prime / (R*default_T)) thermo.bounds[11] = (co2_conc, co2_conc) thermo.bounds[288] = (carbonate_conc, carbonate_conc) pl = Pathologic(db=SqliteDatabase('../res/gibbs.sqlite', 'r'), public_db=SqliteDatabase('../data/public_data.sqlite'), html_writer=HtmlWriter('../res/pathologic.html'), thermo=thermo, max_solutions=None, max_reactions=20, maximal_dG=0.0, thermodynamic_method=OptimizationMethods.GLOBAL, update_file=None) add_cofactor_reactions(pl, free_ATP_hydrolysis=True) add_redox_reactions(pl, NAD_only=False) pl.delete_reaction(134) # formate:NADP+ oxidoreductase pl.delete_reaction(519) # Formate:NAD+ oxidoreductase pl.delete_reaction(24) # Rubisco pl.delete_reaction(581) # L-serine:NAD+ oxidoreductase (deaminating) pl.delete_reaction(220) # L-serine ammonia-lyase pl.delete_reaction(13) # glyoxylate carboxy-lyase (dimerizing; tartronate-semialdehyde-forming) pl.delete_reaction(585) # L-Serine:pyruvate aminotransferase pl.delete_reaction(1440) # D-Xylulose-5-phosphate:formaldehyde glycolaldehydetransferase pl.delete_reaction(5338) # 3-hexulose-6-phosphate synthase pl.add_reaction(Reaction.FromFormula("C06265 => C00011", name="CO2 uptake")) pl.add_reaction(Reaction.FromFormula("C06265 => C00288", name="carbonate uptake")) pl.add_reaction(Reaction.FromFormula("C06265 => C00058", name="formate uptake")) r = Reaction.FromFormula("5 C06265 + C00058 => C%05d" % product_cid) # at least one formate to product #r.Balance() kegg = Kegg.getInstance() pl.find_path("formate to %s" % kegg.cid2name(product_cid), r)