def run(): """Do the simple task of generating a bunch of random parameters for an sbml model. The input can either be the sbml model or an initparams file """ description = "Create random parameters from an init params file" parent_parser = guess_initparams.get_argument_parser() parser = argparse.ArgumentParser(add_help=False, parents=[parent_parser], description=description) arguments = parser.parse_args() if len(arguments.filenames) < 1: print ("Must provide an initial parameters file") sys.exit(1) filename = arguments.filenames[0] if utils.has_xml_or_sbml_ext(filename): params = guess_initparams.init_params_model_file(filename, arguments) else: params = parameters.get_init_param_parameters(filename) for param in params: print(param.name + "\t" + str(param.get_random_value_full_range()))
def run(): """Perform the banalities of command-line argument processing and then actually do the main work """ description = "Analyse SBML files for invariants" parser = argparse.ArgumentParser(description=description) # Might want to make the type of this 'FileType('r')' parser.add_argument("filenames", metavar="F", nargs="+", help="an sbml file to check invariants for") parser.add_argument("--pretty", action="store_true", help="Pretty print the xml") parser.add_argument("--column", action=utils.ListArgumentAction, help="Specify a column to be interpreted") parser.add_argument("--mcolumn", action=utils.ListArgumentAction, help="Specify a column not to be interpreted") arguments = parser.parse_args() sbml_files = [x for x in arguments.filenames if utils.has_xml_or_sbml_ext(x)] copasi_files = [x for x in arguments.filenames if utils.has_copasi_ext(x)] timecourse_files = [x for x in arguments.filenames if not x in sbml_files and not x in copasi_files] events = [] species = [] for filename in timecourse_files: timecourse = timeseries.get_timecourse_from_file(filename) species.extend(timecourse.get_column_names()) these_events = events_from_timecourse(timecourse, arguments) events.extend(these_events) if not events: print("No events to add, doing nothing:") sys.exit(1) if not sbml_files and not copasi_files: for event in events: print(event.format_event()) else: for filename in sbml_files: add_events_sbml(filename, events, species, arguments) for filename in copasi_files: add_events_copasi(filename, events, arguments)