def update_model(sbml_file, directory, doc_fba=None): """ Submodel for dynamically updating the metabolite count/concentration. This updates the ode model based on the FBA fluxes. """ doc = builder.template_doc_update(settings.MODEL_ID) model = doc.getModel() update_notes = notes.format(""" <h2>UPDATE submodel</h2> <p>Submodel for dynamically updating the metabolite count. This updates the ode model based on the FBA fluxes.</p> """) utils.set_model_info(model, notes=update_notes, creators=creators, units=units, main_units=main_units) # compartment compartment_id = "blood" builder.create_dfba_compartment(model, compartment_id=compartment_id, unit_volume=UNIT_VOLUME, create_port=True) # dynamic species model_fba = doc_fba.getModel() builder.create_dfba_species(model, model_fba, compartment_id=compartment_id, unit_amount=UNIT_AMOUNT, create_port=True) # update reactions # FIXME: weight with X (biomass) builder.create_update_reactions(model, model_fba=model_fba, formula="-{}", unit_flux=UNIT_FLUX, modifiers=[]) # write SBML file sbmlio.write_sbml(doc, filepath=pjoin(directory, sbml_file), validate=True)
def update_model(sbml_file, directory, doc_fba=None, annotations=None): """ Update model. """ update_notes = notes.format(""" <h2>UPDATE submodel</h2> <p>Submodel for dynamically updating the metabolite count. This updates the ode model based on the FBA fluxes.</p> """) doc = builder.template_doc_update(settings.MODEL_ID) model = doc.getModel() utils.set_model_info(model, notes=update_notes, creators=creators, units=units, main_units=main_units) # compartment compartment_id = "extern" builder.create_dfba_compartment(model, compartment_id=compartment_id, unit_volume=UNIT_VOLUME, create_port=True) # dynamic species model_fba = doc_fba.getModel() builder.create_dfba_species(model, model_fba, compartment_id=compartment_id, unit_amount=UNIT_AMOUNT, hasOnlySubstanceUnits=True, create_port=True) # update reactions builder.create_update_reactions(model, model_fba=model_fba, formula="-{}", unit_flux=UNIT_FLUX, modifiers=[]) # write SBML file if annotations: annotation.annotate_sbml_doc(doc, annotations) sbmlio.write_sbml(doc, filepath=os.path.join(directory, sbml_file), validate=True)
def update_model(sbml_file, directory, doc_fba=None, annotations=None): """ Update model. """ update_notes = notes.format(""" <h2>UPDATE submodel</h2> <p>Submodel for dynamically updating the metabolite count. This updates the ode model based on the FBA fluxes.</p> """) doc = builder.template_doc_update(settings.MODEL_ID) model = doc.getModel() utils.set_model_info(model, notes=update_notes, creators=creators, units=units, main_units=main_units) # compartment compartment_id = "extern" builder.create_dfba_compartment(model, compartment_id=compartment_id, unit_volume=UNIT_VOLUME, create_port=True) # dynamic species model_fba = doc_fba.getModel() builder.create_dfba_species(model, model_fba, compartment_id=compartment_id, unit_amount=UNIT_AMOUNT, hasOnlySubstanceUnits=True, create_port=True) # update reactions builder.create_update_reactions(model, model_fba=model_fba, formula="-{}", unit_flux=UNIT_FLUX, modifiers=[]) # write SBML file if annotations: annotator.annotate_sbml_doc(doc, annotations) sbmlio.write_sbml(doc, filepath=os.path.join(directory, sbml_file), validate=True)
def update_model(sbml_file, directory, doc_fba=None): """ Submodel for dynamically updating the metabolite count/concentration. This updates the ode model based on the FBA fluxes. """ doc = builder.template_doc_update("ecoli") model = doc.getModel() update_notes = notes.format(""" <h2>UPDATE submodel</h2> <p>Submodel for dynamically updating the metabolite count. This updates the ode model based on the FBA fluxes.</p> """) utils.set_model_info(model, notes=update_notes, creators=creators, units=units, main_units=main_units) # compartment compartment_id = "bioreactor" builder.create_dfba_compartment(model, compartment_id=compartment_id, unit_volume=UNIT_VOLUME, create_port=True) # dynamic species model_fba = doc_fba.getModel() # creates all the exchange reactions, biomass must be handeled separately builder.create_dfba_species(model, model_fba, compartment_id=compartment_id, unit_amount=UNIT_AMOUNT, create_port=True) # FIXME: biomass via function mc.create_objects(model, [ mc.Parameter(sid='cf_biomass', value=1.0, unit="g_per_mmol", name="biomass conversion factor", constant=True), mc.Species(sid='X', initialAmount=0.001, compartment='c', name='biomass', substanceUnit='g', hasOnlySubstanceUnits=True, conversionFactor='cf_biomass') ]) # update reactions # FIXME: weight with X (biomass) builder.create_update_reactions(model, model_fba=model_fba, formula="-{}", unit_flux=UNIT_FLUX, modifiers=[]) # write SBML file sbmlio.write_sbml(doc, filepath=pjoin(directory, sbml_file), validate=True)