ecoli.processes.metabolism_redux
MetabolismRedux
- class ecoli.processes.metabolism_redux.FlowResult(velocities, dm_dt, exchanges, maintenance_flux, objective)[source]
Bases:
object
Reaction velocities and dm/dt for an FBA solution, with metrics.
- Parameters:
- class ecoli.processes.metabolism_redux.MetabolismRedux(parameters)[source]
Bases:
Step
-
defaults: Dict[str, Any]
{ 'aa_exchange_names': [], 'aa_targets_not_updated': set(), 'amino_acid_ids': {}, 'avogadro': 6.02214076e+23 [1/mol], 'base_reaction_ids': [], 'cell_density': 1100.0 [g/L], 'cell_dry_mass_fraction': 0.3, 'concentration_updates': None, 'constraints_to_disable': [], 'dark_atp': 33.565052868380675 [mmol/g], 'doubling_time': 44.0 [min], 'exchange_data_from_media': <function MetabolismRedux.<lambda> at 0x7f82414c0540>, 'exchange_molecules': [], 'fba_reaction_ids_to_base_reaction_ids': [], 'get_biomass_as_concentrations': <function MetabolismRedux.<lambda> at 0x7f82414c0400>, 'get_masses': <function MetabolismRedux.<lambda> at 0x7f82414c05e0>, 'get_ppGpp_conc': <function MetabolismRedux.<lambda> at 0x7f82414c04a0>, 'import_constraint_threshold': 0, 'imports': {}, 'include_ppgpp': False, 'kinetic_objective_weight': 1e-07, 'kinetic_objective_weight_in_range': 1e-10, 'kinetic_rates': [], 'linked_metabolites': None, 'maintenance_reaction': {}, 'mechanistic_aa_transport': False, 'media_id': 'minimal', 'non_growth_associated_maintenance': 8.39 [mmol/g.h], 'nutrient_to_doubling_time': {}, 'ppgpp_id': 'ppgpp', 'reaction_catalysts': {}, 'removed_aa_uptake': [], 'secretion_penalty_coeff': 0.001, 'seed': 0, 'stoich_dict': {}, 'time_step': 1, 'use_trna_charging': False}
- getBiomassAsConcentrations(doubling_time, rp_ratio=None)[source]
Caches the result of the sim_data function to improve performance since function requires computation but won’t change for a given doubling_time.
- name = 'ecoli-metabolism-redux'
-
topology
{ 'boundary': ('boundary',), 'bulk': ('bulk',), 'bulk_total': ('bulk',), 'environment': {'_path': ('environment',), 'exchange': ('exchange',)}, 'global_time': ('global_time',), 'listeners': ('listeners',), 'next_update_time': ('next_update_time', 'metabolism'), 'polypeptide_elongation': ('process_state', 'polypeptide_elongation'), 'timestep': ('timestep',)}
- update_amino_acid_targets(counts_to_molar, count_diff, amino_acid_counts)[source]
Finds new amino acid concentration targets based on difference in supply and number of amino acids used in polypeptide_elongation. Skips updates to molecules defined in self.aa_targets_not_updated: - L-SELENOCYSTEINE: rare AA that led to high variability when updated
- update_condition(timestep, states)[source]
See
update_condition()
.
-
defaults: Dict[str, Any]
- class ecoli.processes.metabolism_redux.NetworkFlowModel(stoich_arr, metabolites, reactions, homeostatic_metabolites, kinetic_reactions, get_mass, gam=0, active_constraints_mask=None)[source]
Bases:
object
A network flow model for estimating fluxes in the metabolic network based on network structure. Flow is mainly driven by precursor demand (homeostatic objective) and availability of nutrients.
- Parameters:
- set_up_exchanges(exchanges, uptakes)[source]
Set up exchange reactions for the network flow model. Exchanges allow certain metabolites to have flow out of the system. Uptakes allow certain metabolites to also have flow into the system.
- solve(homeostatic_concs, homeostatic_dm_targets, ngam_target=0, kinetic_targets=None, binary_kinetic_idx=None, objective_weights=None, aa_uptake_package=None, upper_flux_bound=100, solver=cvxpy.GLOP)[source]
Solve the network flow model for fluxes and dm/dt values.