예제 #1
0
 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
예제 #2
0
 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
     ]
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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')
             })
     ]
예제 #6
0
 def transport_function(self):
     return Function(self.transport_id, 'constant', {'CONSTANT': 2e6},
                     GROWTH_RATE)
예제 #7
0
 def efficiency_function(self):
     return Function(self.efficiency_id, 'constant', {'CONSTANT': 200000},
                     GROWTH_RATE)
예제 #8
0
 def metabolite_concentration_function(self, id_, concentration):
     return Function(self.metabolite_concentration(id_), 'constant',
                     {'CONSTANT': concentration})
예제 #9
0
 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})
예제 #10
0
 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})
예제 #11
0
 def inverse_average_protein_length(length):
     """
     Return xml structure containing average protein length.
     """
     return Function('inverse_average_protein_length', 'constant',
                     {'CONSTANT': 1.0 / length})