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())) 
Пример #2
0
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)