当前位置: 首页>>代码示例>>Python>>正文


Python tools.userError函数代码示例

本文整理汇总了Python中tools.userError函数的典型用法代码示例。如果您正苦于以下问题:Python userError函数的具体用法?Python userError怎么用?Python userError使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了userError函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: print_product_reactions_by

    def print_product_reactions_by(self,ref_type):
        """
        Prints in the output the list of all reactions this metabolite participates in 
        as a product in the model with the format specified by ref_type 
 
        INPUTS:
        -------
        ref_type: A string indicating the in what format the metabolites should be 
                  printed in the output. Current eligible choices are 'id', 'name'
                  and formula. If name or id was not provided, id used instead.
        """
        if ref_type.lower() not in ['id','name','equation']:
            raise userError("**Error! Invalid reference type (eligible choices are 'id' and 'name')")
        elif self.reactions == []:
            raise userError('**Error! List of the reactions is not defined for this metabolite ...')

        for reaction in self.product_reactions:
            if ref_type.lower() == 'id':
                rxn = reaction.id
            elif ref_type.lower() == 'name':
                if reaction.name is None:
                    rxn = reaction.id
                    userWARNING("Waarning! No name was provided for '" + reaction.id + "'. id is used instead.")
                else:
                    rxn = reaction.name
            elif ref_type.lower() == 'equation':
                if reaction.equation is None:
                    rxn = reaction.id
                    userWARNING("Waarning! No equation was provided for '" + reaction.id + "'. id is used instead.")
                else:
                    rxn = reaction.equation

            print rxn
开发者ID:auz107,项目名称:DS_lab,代码行数:33,代码来源:metabolite_v2.py

示例2: print_reactions_by

    def print_reactions_by(self,ref_type, metab_ref = None):
        """
        Prints in the output the list of all reactions this metabolite participates in 
        as a reactant or product in the model with the format specified by ref_type 
 
        INPUTS:
        -------
         ref_type: A string indicating  in what format the reactions should be 
                   printed in the output. Current eligible choices are 'id', 'name'
                   and formula. If name or id was not provided, id used instead.
        metab_ref: A string indicating in what format the metabolites should appear
                   in a reaciton equation if ref_type = 'equation'. If None, metabolite
                   ids are used
        """
        if ref_type.lower() not in ['id','name','equation']:
            raise userError("Invalid reference type (eligible choices are 'id' and 'name')")
        elif self.reactions == None:
            raise userError('List of the reactions is not defined for this metabolite ...')

        for reaction in self.reactions:
            if ref_type.lower() == 'id':
                rxn = reaction.id
            elif ref_type.lower() == 'name':
                if reaction.name is None:
                    rxn = reaction.id
                    userWARNING("Waarning! No name was not provided for '" + reaction.id + "'. id is used instead.")
                else:
                    rxn = reaction.name
            elif ref_type.lower() == 'equation':
                if metab_ref != None:
                    rxn = reaction.get_eqn_by(metab_ref)
                else:
                    rxn = reaction.get_eqn_by('id')

            print rxn 
开发者ID:auz107,项目名称:DS_lab,代码行数:35,代码来源:compound.py

示例3: __init__

    def __init__(self,model, optSolverName = None, createModel = None, screenOutput = None): 

        """
        INPUTS (required):
        ------
                      model: An instance of class model containing the information
                             about the metabolic model

        INPUTS (optional):
        ------
              optSolverName: Name of the LP solver to be used to solve the LP. Current 
                             allowable choices are cplex and gurobi
               screenOutput: By default (on) writes  a summary including the solve 
                             status, optimality status (if not optimal), objective 
                             function value and the elapsed time on the screen.
                             if set to a value of 'off' no resuults are written on 
                             the screen, in which case The user can instead specifiy 
                             an output fiile using the option outputFile, or store 
                             them in the variable runOutput (see the 'run' method for
                             details)
                createModel: A parameter indicating whether a pyomo model should be 
                             created (1) or not. Default is 1. The options is useful
                             for the cases a model is already created and one just 
                             wants to change some model attributes (e.g., flux bounds)
                             and rerun FBA. Setting this parameter to zero will save 
                             soem runtime as the model need not to be created again.
        """
       
        # Metabolic model
        self.model = model

        # Solver name
        if optSolverName == None:
            self.optSolverName = 'cplex'
        else:
            if optSolverName.lower() in ['cplex','gurobi']:
                self.optSolverName = optSolverName
            else:
                raise userError('**Error! Invalid solver name (eligible choices are cplex and gurobi)\n')          

        # Whether to create a pyomo model
        if createModel == None: 
            self.createModel = 1   
        elif createModel not in [0,1]:    
            raise userError('**Error! Inalid value for createModel! The allowable values are 0 and 1 ')
        else:
            self.createModel = createModel
               
        # Output to the screen 
        if screenOutput == None:
            self.screenOutput = 'on'
        elif type(screenOutput) is not str:
            raise userError("**Error! screenOutput should be a string ('on' or 'off')")
        elif screenOutput.lower() not in ['on','off']:
            raise userError("**Error! The only eligible values for screenOutput are 'on' and 'off'")
        else:
             self.screenOutput = screenOutput
开发者ID:auz107,项目名称:DS_lab,代码行数:57,代码来源:dfba.py

示例4: biomass_yield_calc

    def biomass_yield_calc(self,fba_model = None):
        """
        Calculates the biomass yield of this metabolite (if applicable).
        For the yield to be computed this metabolite should particiapte in
        in an exchange reaction (EX_m(e): m[e] <==>)

        INPUTS:
        -------
        fba_model: An instance of the class fba containing the fba model for the 
                   wild-type organism under the desired growth condition. If this is 
                   not provided, then the current fba_model of model is used 

        OUTPUS:
        -------
        The output is assigned to the global variable self.biomass_yield 
        """
        # Find the exchange reaction this metabolite participates in
        exch_rxn = [r for r in self.reactant_reactions if r.type.lower() == 'exchange']
        if len(exch_rxn) == 0:
            raise userError('**ERROR! Unable to compute the biomass yield for metabolite ' + self.id +'. The metabolite must have an excange reaction in reactant_reactions ...')
        elif len(exch_rxn) > 1:
             raise userError('**ERROR! metabolite ' + self.id + ' participates in more than one exchange reaciton ...')
        else:
            exch_rxn = exch_rxn[0]

            # Original LB on reaction flux 
            exch_rxn_LB = exch_rxn.flux_bounds[0]
  
            # Perform FBA for 10 mole uptake of this metabolite 
            exch_rxn.flux_bounds[0] = -10      

            if fba_model == None:
                # WARNING! If no fba_model is provided, the current model.fba_model is 
                # used to compute the biomass yield
                self.model.fba(create_model = False,store_opt_fluxes = True, screen_output = 'off')
                fba_solution = self.model.fba_model.solution
            else:
                fba_model.store_opt_fluxes = True
                fba_model.screen_output = 'off' 
                fba_model.run()
                fba_solution = fba_model.solution
 
            if fba_solution['exit_flag'] == 'globallyOptimal':
                if exch_rxn.flux < 0:
                    self.biomass_yield = fba_solution['objective_value']/(-exch_rxn.flux)
                else:
                    # if zero (no uptake) or positive (production)
                    self.biomass_yield = None 
                    print '\n**WARNING! The fba problem to compute the biomass yield for metabolite ' + self.id + ' resulted in a non-negative flux value for the corresponding exchange reaction. No value is assigned to biomass_yield'
            else:
                self.biomass_yield = None
                print '\n**WARNING! The fba problem to compute the biomass yield for metabolite ' + self.id + ' was not solved to optimality. No value is assigned to biomass_yield'

            # Set the lower bound on exchange reaction back to what it was before
            exch_rxn.flux_bounds[0] = exch_rxn_LB
开发者ID:auz107,项目名称:DS_lab,代码行数:55,代码来源:metabolite_v2.py

示例5: get_compounds

    def get_compounds(self,ref_type = 'id'):
        """
        Reports the list of compounds participating in this reaction in the output 
        with the format specified by ref_type 
 
        INPUTS:
        -------
        ref_type: A string indicating the in what format the compounds should be 
                  printed in the output. Current eligible choices are 'id', 'name'
                  and formula. If name or id was not provided, id used instead.
        """
        if ref_type.lower() not in ['id','name','formula']:
            raise userError("**Error! Invalid reference type (eligible choices are 'id' and 'name')")

        for metab in self.compounds:
            if ref_type.lower() == 'id':
                mm = metab.id
            elif ref_type.lower() == 'name':
                if metab.name is None:
                    mm = metab.id
                else:
                    mm = metab.name
            elif ref_type.lower() == 'formula':
                if metab.formula is None:
                    mm = metab.id
                else:
                    mm = metab.formula

            return mm
开发者ID:auz107,项目名称:DS_lab,代码行数:29,代码来源:reaction_v3.py

示例6: get_products_by

    def get_products_by(self,ref_type):
        """
        Reports the list of products of this reaciton in the output 
        with the format specified by ref_type 
 
        INPUTS:
        -------
        ref_type: A string indicating the in what format the metabolites should be 
                  printed in the output. Current eligible choices are 'id', 'name'
                  and formula. If name or id was not provided, id used instead.
        """
        if ref_type.lower() not in ['id','name']:
            raise userError("**Error! Invalid reference type (eligible choices are 'id' and 'name')")

        for metab in self.products: 
            if ref_type.lower() == 'id':
                mm = metab.id
            elif ref_type.lower() == 'name':
                if metab.name is None:
                    mm = metab.id
                else:
                    mm = metab.name
            elif ref_type.lower() == 'formula':
                if metab.formula is None:
                    mm = metab.id
                else:
                    mm = metab.formula

            print mm
开发者ID:auz107,项目名称:DS_lab,代码行数:29,代码来源:reaction_v1.py

示例7: assign_props

    def assign_props(self):
        """
        Assigns the properties of reaction
        """
        # A list of the form [dGmin,dGmax] containing the min and max values of deltaG
        # (Gibbs free energy change) for this reaction
        if self.deltaG_range == [] and self.deltaG != None and self.deltaG_uncertainty != None:
            self.deltaG_range = [min(self.deltaG - self.deltaG_uncertainty,self.deltaG + self.deltaG_uncertainty),max(self.deltaG - self.deltaG_uncertainty,self.deltaG + self.deltaG_uncertainty)]

        # List of compound objects containing all compounds participating in this reaction
        self.compounds = sorted(list(set([c for c in self.stoichiometry.keys() if self.stoichiometry[c] < 0] + [c for c in self.stoichiometry.keys() if self.stoichiometry[c] > 0])),key=lambda x:x.id) 

        # List of compound objects containing all reactants of this reaction
        self.reactants = sorted(list(set([m for m in self.stoichiometry.keys() if self.stoichiometry[m] < 0])),key=lambda x:x.id)

        # List of compound objects containing all products of this reaction
        self.products = sorted(list(set([m for m in self.stoichiometry.keys() if self.stoichiometry[m] > 0])),key=lambda x:x.id)

        # This is particularly hepful when a reaction occurs in more than one compartment
        # Here, we have a list instead of a single element because different compounds
        # in the reaction may participate in different compartment
        if self.compartment == []:
            self.compartment = list(set([c.compartment for c in self.compounds]))

        # model
        models = list(set([c.model for c in self.compounds if hasattr(c,'model') and c.model != None]))
        if len(models) == 1:
           self.model = models[0]
        elif len(models) > 1:
            raise userError('More than one model assigned to "compounds" of reaction ' + self.id + ': ' + str([m.id for m in models]))
        if len(models) == 0:
           self.model = None 
开发者ID:auz107,项目名称:DS_lab,代码行数:32,代码来源:reaction_v3.py

示例8: get_compounds

    def get_compounds(self,ref_type = 'id'):
        """
        Reports the list of compounds participating in this reaction in the output 
        with the format specified by show_cpds_by 
 
        INPUTS:
        -------
        show_cpds_by: A string indicating the in what format the compounds should be 
                  printed in the output. Current eligible choices are 'id', 'name', 'formula',
                  'ModelSEED_id', 'KEGG_id', 'BiGG_id'. If ModelSEED_id, KEGG_id or BiGG_id ir not
                  available for any compound participating in the reaction, it is replaced with 
                  its id.
        """
        if show_cpds_by.lower() not in ['id','name','formula','ModelSEED_id', 'KEGG_id', 'BiGG_id']:
            raise userError("**Error! Invalid reference type (eligible choices are 'id' and 'name')")

        for metab in self.compounds:
            if show_cpds_by.lower() == 'id':
                mm = metab.id
            elif show_cpds_by.lower() == 'name':
                if metab.name is None:
                    mm = metab.id
                else:
                    mm = metab.name
            elif show_cpds_by.lower() == 'formula':
                if metab.formula is None:
                    mm = metab.id
                else:
                    mm = metab.formula

            return mm
开发者ID:auz107,项目名称:DS_lab,代码行数:31,代码来源:reaction.py

示例9: assign_flux_bounds

    def assign_flux_bounds(self, assignLB = True, assignUB = True):
        """
        Assigns general bounds to fluxes based on the reaction type 
        assignLB and assignUB indicate whether to assign the computed lower and upper bounds
        """
        if len(self.flux_bounds) == 2:
            flux_LB = self.flux_bounds[0]
            flux_UB = self.flux_bounds[1]
        else:
            flux_LB = None
            flux_UB = None

        if (not self.is_exchange) and self.reversibility.lower() in ['irreversible','irreversible_forward']:
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 1000
        # An irreversible reaction written in the backward direction, e.g., B <-- A
        elif (not self.is_exchange) and self.reversibility.lower() == 'irreversible_backward':
            if assignLB:
                flux_LB = -1000
            if assignUB:
                flux_UB = 0
        elif (not self.is_exchange) and self.reversibility.lower() == 'reversible':
            if assignLB:
                flux_LB = -1000
            if assignUB:
                flux_UB = 1000
        elif (not self.is_exchange) and self.reversibility.lower() == 'reversible_forward':
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 1000
        # Reverse part of a reversible reaciton wirttein the forward direction. For example, if A <==> B, 
        # A --> B is reversible_forward and B --> A is reversible_backward
        elif (not self.is_exchange) and self.reversibility.lower() == 'reversible_backward':
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 1000
        elif self.is_exchange and (self.reversibility.lower() == 'reversible' or self.reversibility.lower() == 'exchange'):
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 1000
        elif self.is_exchange and self.reversibility.lower() == 'rversible_forward':
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 1000
        elif self.is_exchange and self.reversibility.lower() == 'rversible_backward':
            if assignLB:
                flux_LB = 0
            if assignUB:
                flux_UB = 0
        else:
            raise userError('Unknown reaction reversibility: {} for reaction {} with is_exchange = {}'.format(self.reversibility, self.id, self.is_exchange))

        self.flux_bounds = [flux_LB,flux_UB]
开发者ID:auz107,项目名称:DS_lab,代码行数:59,代码来源:reaction.py

示例10: objectiveFunc_rule

 def objectiveFunc_rule(self,fbaModel):
     # Reactions for which the objective coefficient has not bee assigned
     non_obj_rxns = [j.id for j in fbaModel.J if j.objective_coefficient == None]
     if len(non_obj_rxns) >= 1: 
         print("**Error! 'objective_coefficient' has not been defined for the following reacitons:")
         print non_obj_rxns
         raise userError()
     return sum(j.objective_coefficient*fbaModel.v[j] for j in fbaModel.J)
开发者ID:auz107,项目名称:DS_lab,代码行数:8,代码来源:dfba.py

示例11: __init__

    def __init__(self, id, name = '', name_aliases = [], domain = '', genus = '', species = '', strain = '', model_id = None, ModelSEED_type = '', gDW_per_cell = None, gWW_per_cell = None, cells_per_ml = None, gDW_per_ml = None, mu = None, random_mortality_rate = None, notes = ''): 
    
        # Organism id 
        self.id = id

        # organism complete name (case insensitive string)
        self.name = name

        # Name aliases
        self.name_aliases = name_aliases

        # Domain (case insensitive string).Example of choices are:  
        # bacteria, archaea,Eukaryotes 
        self.domain = domain

        # Genus (case insensitive string). Example: Escherichia 
        self.genus = genus

        # Species ((case insensitive string)). Example: coli
        self.species = species

        # Strain ((case insensitive string)). Example: MG1655
        self.strain = strain

        # model id
        self.model_id = model_id

        # ModelSEED type (bacteria_GramPositive, bacteria_GramNegative, Human and Plant)
        self.ModelSEED_type = ModelSEED_type

        # Gram of dry weight per (one) cell
        self.gDW_per_cell = gDW_per_cell

        # Gram of wet weight per (one) cell
        self.gWW_per_cell = gWW_per_cell

        # Cell mass concnetration in number of cells per ml of the culture
        self.cells_per_ml = cells_per_ml

        # Cell mass concentration in gram of dry weight per ml of the culture
        self.gDW_per_ml = gDW_per_ml

        # Specific growth rate (in 1/h)
        self.mu = mu

        # Mortality rate
        if random_mortality_rate > 0:
            raise userError('Mortality rate for organism ' + self.id + ' must be non-positive')
        else:
            self.random_mortality_rate = random_mortality_rate

        # Notes and comments
        if isinstance(notes,str):
            self.notes = notes
        else:
            self.notes = ''
开发者ID:auz107,项目名称:DS_lab,代码行数:56,代码来源:organism.py

示例12: find_coopr_exchrxns_fluxRanges

def find_coopr_exchrxns_fluxRanges(results_filename = 'coopr_exchrxns_fluxRanges.py', warnings = True, stdout_msgs = True):
    """
    Finds the min and max value of each compound that can be produced by the wild-type strain
    """
    from auxoMetabs import auxoMetabsMutants

    # Model path
    model_path = '/usr2/postdoc/alizom/work/models/Escherichia_coli/iJO1366/'

    # Exchange reactions needed for cooperaiton in all pairs
    cooperative_exchrxn_ids = list(set([r for m in auxoMetabsMutants.keys() for r_list in auxoMetabsMutants[m] for r in r_list]))
  
    WT = create_model(warnings = warnings, stdout_msgs = stdout_msgs)

    # Growth medium
    set_specific_bounds(model = WT, file_name = model_path + 'iJO1366_minimal_glucose_anaerobic.py',limiting_nutrients = {'EX_glc(e)':[-10,1000]})

    with open(results_filename,'w') as f:
        f.write('coopr_exchrxns_fluxRanges = {}\n')

    for exchrxn_id in cooperative_exchrxn_ids:

        if stdout_msgs:
            print '\n------- ',exchrxn_id,' ---------\n'

        exchrxn = WT.reactions_by_id[exchrxn_id]

        # Find maximum
        for rxn in WT.reactions:
            rxn.objective_coefficient = 0
        exchrxn.objective_coefficient = 1
 
        WT.fba(store_opt_fluxes = False, warnings = warnings, stdout_msgs = stdout_msgs)
        if WT.fba_model.solution['exit_flag'] == 'globallyOptimal':
             max_exch = WT.fba_model.solution['objective_value']
        else:
             max_exch = 0

        # Find minimum
        for rxn in WT.reactions:
            rxn.objective_coefficient = 0
        exchrxn.objective_coefficient = -1
 
        WT.fba(store_opt_fluxes = False, warnings = warnings, stdout_msgs = stdout_msgs)
        if WT.fba_model.solution['exit_flag'] == 'globallyOptimal':
             min_exch = -WT.fba_model.solution['objective_value']
        else:
             min_exch = 0

        if min_exch > max_exch:
            raise userError('min_exch = {} > max_exch = {}'.format(min_exch,max_exch))

        with open(results_filename,'a') as f:
            f.write("coopr_exchrxns_fluxRanges['" + exchrxn_id + "'] = (" + str(min_exch) + ',' + str(max_exch) + ')\n') 

    print '\nResults were written into coopr_exchrxns_fluxRanges.py ...\n'
开发者ID:auz107,项目名称:DS_lab,代码行数:56,代码来源:coopr_level_dynamic.py

示例13: integrate_results_files

def integrate_results_files(results_filenames, results_var_name, mutant_pair, output_file_name):
    """
    Integrates the results of all scripts (when splitting one job to multiple smaller jobs) inot one sinble file 
 
    INPUTS:
    -------
    results_file_names: A list of strings containing the names of the files containing the results
      results_var_name: Name of the variable storing the results
      output_file_name: Name of the output file name containing the integration of all results
           mutant_pair: A tuple containiing the names of the mutant pairs
    """
    from imp import load_source

    # sum of the entries in all result files
    entries_sum = 0

    results = {}
    results[mutant_pair] = {}
    # Import the data in the module stored in file_name
    for file_name in results_filenames:
        if type(file_name) == str:
            if not os.path.isfile(file_name):
                raise IOError("No such file was found :'" + file_name + "'")
            else:
                # First delete the model dataFile if it already exists. If it is not deleted
                # the new module data is merged with the previous ones
                try:
                    del sys.modules['dataFile']
                except:
                    pass
                load_source('dataFile',file_name)
                import dataFile
        exec('results_curr = dataFile.' + results_var_name)
        
        entries_sum += len(results_curr[mutant_pair].keys())
        print 'Total # of entries in ', file_name,' = ',len(results_curr[mutant_pair].keys())

        results_keys = results[mutant_pair].keys()
        for k in results_curr[mutant_pair].keys():
            if k in results_keys:
                raise userError(str(k) + ' in ' + file_name + ' already in results_keys\n')
            else:
                results[mutant_pair][k] = results_curr[mutant_pair][k]

    print '\nThe total # of entries in results = {},  entries_sum = {} '.format(len(results[mutant_pair].keys()),entries_sum)

    # Write the results inot the specified output file
    with open(output_file_name,'w') as f:
        f.write(results_var_name + ' = {}\n')
        f.write(results_var_name + '[' + str(mutant_pair) + '] = {}\n')
        for k in results[mutant_pair].keys():
            f.write(results_var_name + '[' + str(mutant_pair) + '][' + str(k) + '] = ' + str(results[mutant_pair][k]) + '\n')
    print '\nResults were integrated and written into ',output_file_name,'\n'
开发者ID:auz107,项目名称:DS_lab,代码行数:53,代码来源:coopr_level_dynamic.py

示例14: create_job_files

def create_job_files(total_comb_num,interval_size, job_filename_base, joboutput_filename_base, max_walltime, coopr_level_m1_str, coopr_level_m2_str, glc_conc, glc_excess, use_DMMM_coopr):
    """
    Creates the job files given:
             total_comb_num: Total number of combinations 
              interval_size: The desired of iteration intervals
          outfile_base_name: The base name of the output files
                       task: The task that should be performed ('analyze_games' or 'analyze_cost')
          job_filename_base: Base name of the output job file
    joboutput_filename_base: The name of the file storing the dynamic output of the job. It is essentially the same as job_filename_base
                             with the file path deleted (in order to create .out files in the same directory as the job file)
    """
    if not glc_excess:
        if glc_conc == 111.01:
            results_filename_base = 'results/coopr_level_expGlc'
        elif glc_conc == 1000:
            results_filename_base = 'results/coopr_level_fixedGlc'
        else:
            raise userError('Unknonw glc_conc:' + str(glc_conc))
    else:
        results_filename_base = 'results/coopr_level_excessGlc'

    coopr_level_m1 = range(0,101,5)

    slices = create_intervals(total_comb_num = total_comb_num,interval_size = interval_size)

    for slice in slices:
        job_filename = job_filename_base + '_' + str(slice[0]) + '_' + str(slice[1]) + '.sh'
        joboutput_filename = joboutput_filename_base + '_' + str(slice[0]) + '_' + str(slice[1]) + '.out'
        print 'creating file ',job_filename,'...'
        with open(job_filename,'w') as outfile:
            outfile.write('#!/bin/bash -l\n')
            outfile.write('#$-l h_rt=' + str(int(max_walltime))+ ':00:00\n\n')
            outfile.write('cd /usr2/postdoc/alizom/work/EcoliPairs\n\n')

            # This is to merge the .e[jobid] and .o[jobid] files
            outfile.write('#$ -j y\n')

            # Set the output file
            outfile.write('\n#$ -o ' + joboutput_filename + '\n')

            outfile.write('\nsource activate /projectnb/bioinfor/SEGRE/alizom\n\n')

            # python -c "import time;print '\n**Job started at ',time.strftime('%c'),'\n'" > job_dynamic_yeast_stsrt_pos_end_pos.out 2>&1
            outfile.write("\npython -c \"import time;print '\\n**Job started at ',time.strftime('%c'),'\\n'\"\n")

            start_pos = slice[0]
            end_pos = slice[1]

            outfile.write('\npython -c \"from coopr_level import run_master_func;run_master_func(start_pos_pair = ' + str(start_pos) + ', end_pos_pair = ' + str(end_pos) + ', coopr_level_m1 = ' + coopr_level_m1_str + ', coopr_level_m2 = ' + coopr_level_m2_str + ', glc_conc = ' + str(glc_conc) + ", glc_excess = " + str(glc_excess) + ", use_DMMM_coopr = " + str(use_DMMM_coopr) + ", run_main = True, run_test = False, results_filename_base = '" + results_filename_base + "')\"\n\n")

            # python -c "import time;print '\n**Job ended at ',time.strftime('%c'),'\n'" >> job_dynamic_yeast_start_pos_end_pos.out 2>&1
            outfile.write("\npython -c \"import time;print '\\n**Job ended at ',time.strftime('%c'),'\\n'\"\n")
开发者ID:auz107,项目名称:DS_lab,代码行数:52,代码来源:coopr_level_dynamic.py

示例15: set_products

    def set_products(self, products):
        """
        Makes modificaitons to attribute reactants
        """
        if not isinstance(products,list)  and not isinstance(products,list):
            raise TypeError("Invalid 'products' format for reaction {}! Compounds must be a list of products but a {} object was provided instead".format(self.id, type(products))) 
        if len([n for n in products if not isinstance(n,compound.compound)]) > 0:
            raise TypeError("Invalid 'products' format for reaction {}! Compounds must be a list of 'compound' object but objects of {} were observed in the list instead. ".format(self.id, list(set([type(n) for n in products if not isinstance(n,compound.compound)]))))

        problem_cpds = [cpd.id for cpd in products if cpd not in [c for c in self.stoichiometry.keys() if self.stoichiometry[c] > 0]]
        if len(problem_cpds) > 0:
            raise userError('The following {} compounds appear in reactants of reaction {} but they do not appear in the reaction stoichiometry: {}'.format(len(problem_cpds), self.id, problem_cpds))

        if isinstance(products,tuple):
            self.__dict__['products'] = products
        elif isinstance(products,list):
            self.__dict__['products'] = list(products)
开发者ID:auz107,项目名称:DS_lab,代码行数:17,代码来源:reaction.py


注:本文中的tools.userError函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。