def density_functions(self, cytoplasm, external, other): cytoplasm_density = 4.8972 cytoplasm_fraction = 0.7 external_fraction = 0.1 other_fraction = 0.2 / len(other) fns = [ Function( 'amino_acid_concentration', 'linear', { 'LINEAR_COEF': -0.9757, 'LINEAR_CONSTANT': 6.3138, 'X_MIN': 0.25, 'X_MAX': 1.6, 'Y_MIN': float('-Inf'), 'Y_MAX': float('Inf') }) ] # protein fraction fns.append(self.protein_fraction(cytoplasm, cytoplasm_fraction)) fns.append(self.protein_fraction(external, external_fraction)) fns += [self.protein_fraction(c, other_fraction) for c in other] # non enzymatic fraction fns.append(self.non_enzymatic_fraction_cytoplasm(cytoplasm)) fns.append(self.non_enzymatic_fraction_secreted(external)) fns += [self.non_enzymatic_fraction_other(c) for c in other] # total density fns.append( Function(cytoplasm + '_density', 'constant', {'CONSTANT': cytoplasm_density})) return fns
def transport_functions(self, reaction, metabolites): return [ Function(self._transport_fn_id(reaction, met), 'michaelisMenten', { 'Km': 0.8, 'kmax': 1 }, met) for met in metabolites ]
def non_enzymatic_fraction_other(self, compartment_id): """ Return xml structure containing generic non-enzymatic fraction. """ params = { 'LINEAR_COEF': -0.0496, 'LINEAR_CONSTANT': 0.8965, 'X_MIN': 0.25, 'X_MAX': 1.6, 'Y_MIN': 0, 'Y_MAX': 1 } return Function(self.non_enzymatic_fraction_id(compartment_id), 'linear', params)
def non_enzymatic_fraction_cytoplasm(self, compartment_id): """ Return xml structure containing non-enzymatic fraction in cytosol. """ params = { 'LINEAR_COEF': -0.0502, 'LINEAR_CONSTANT': 0.3526, 'X_MIN': 0.25, 'X_MAX': 1.6, 'Y_MIN': 0, 'Y_MAX': 1 } return Function(self.non_enzymatic_fraction_id(compartment_id), 'linear', params)
def process_functions(self): return [ # zero function Function('zero', 'constant', {'CONSTANT': 0}), # efficiencies Function('ribosome_efficiency_MM', 'michaelisMenten', { 'kmax': 97200, 'Km': 0.5, 'Y_MIN': 32400 }), Function('ribosome_efficiency_CM', 'constant', {'CONSTANT': 97200}), Function('fraction_active_ribosomes', 'exponential', {'RATE': -0.083333}), Function( 'chaperone_efficiency_LM', 'linear', { 'LINEAR_COEF': 36044.48, 'LINEAR_CONSTANT': -2888.0051, 'X_MIN': 0.25, 'X_MAX': 1.6, 'Y_MIN': float('-Inf'), 'Y_MAX': float('Inf') }), # targets Function('mrna_degradation_flux', 'constant', {'CONSTANT': 0.15996}), Function('mrna_concentration', 'constant', {'CONSTANT': 0.01}), Function('dna_concentration', 'constant', {'CONSTANT': 0.0807}), Function( 'maintenance_atp', 'linear', { 'LINEAR_COEF': 12.1595, 'LINEAR_CONSTANT': -3.1595, 'X_MIN': 1, 'X_MAX': float('Inf'), 'Y_MIN': float('-Inf'), 'Y_MAX': float('Inf') }) ]
def transport_function(self): return Function(self.transport_id, 'constant', {'CONSTANT': 2e6}, GROWTH_RATE)
def efficiency_function(self): return Function(self.efficiency_id, 'constant', {'CONSTANT': 200000}, GROWTH_RATE)
def metabolite_concentration_function(self, id_, concentration): return Function(self.metabolite_concentration(id_), 'constant', {'CONSTANT': concentration})
def non_enzymatic_fraction_secreted(self, compartment_id): """ Return xml structure containing external non-enzymatic fraction. """ return Function(self.non_enzymatic_fraction_id(compartment_id), 'constant', {'CONSTANT': 1})
def protein_fraction(self, compartment_id, fraction): """ Return xml structure containing protein fraction in given compartment. """ return Function(self.protein_fraction_id(compartment_id), 'constant', {'CONSTANT': fraction})
def inverse_average_protein_length(length): """ Return xml structure containing average protein length. """ return Function('inverse_average_protein_length', 'constant', {'CONSTANT': 1.0 / length})