def newExperiment(explog_path, plan_json=''): '''Create Experiment record''' folder = os.path.dirname(explog_path) # Test if Experiment object already exists try: newExp = models.Experiment.objects.get(unique=folder) except: newExp = None if newExp is None: # Parse the explog.txt file text = load_log_path(explog_path) explog = parse_log(text) explog["planned_run_short_id"] = '' # don't allow getting plan by shortId - other plans may exist with that id try: planObj, expObj, easObj = get_planned_exp_objects(explog,folder) newExp = update_exp_objects_from_log(explog,folder, planObj, expObj, easObj) if plan_json: update_plan_info(plan_json, planObj, easObj) except: newExp = None print traceback.format_exc() return newExp
def newExperiment(explog_path): '''Create Experiment record''' # Parse the explog.txt file text = load_log_path(explog_path) dict = parse_log(text) # Create the Experiment Record folder = os.path.dirname(explog_path) # Test if Experiment object already exists try: newExp = models.Experiment.objects.get(unique=folder) except: newExp = None if newExp is None: try: expArgs,st = exp_kwargs(dict,folder) newExp = models.Experiment(**expArgs) newExp.save() except: newExp = None print traceback.format_exc() return newExp
def newExperiment(explog_path): '''Create Experiment record''' # Parse the explog.txt file text = load_log_path(explog_path) dict = parse_log(text) # Create the Experiment Record folder = os.path.dirname(explog_path) # Test if Experiment object already exists try: newExp = models.Experiment.objects.get(unique=folder) except: newExp = None if newExp is None: try: expArgs, st = exp_kwargs(dict, folder) newExp = models.Experiment(**expArgs) newExp.save() except: newExp = None print traceback.format_exc() return newExp
def newExperiment(_explog_path, _plan_json=''): '''Create Experiment record''' folder = os.path.dirname(_explog_path) # Test if Experiment object already exists try: _newExp = models.Experiment.objects.get(unique=folder) print("DEBUG: Experiment exists in database: %s" % folder) except: print("DEBUG: Experiment does not exist in database") _newExp = None if _newExp is None: # Parse the explog.txt file text = load_log_path(_explog_path) explog = parse_log(text) explog[ "planned_run_short_id"] = '' # don't allow getting plan by shortId - other plans may exist with that id try: ret_val = generate_updateruninfo_post(folder, logger) if ret_val == "Generated POST": # Get experiment object exp_set = models.Experiment.objects.filter(unique=folder) if exp_set: # Experiment object exists in database _newExp = exp_set[0] else: print( "ERROR: Could not update/generate new Experiment record in database" ) print(ret_val) return None # Append to expName to indicate imported dataset. _newExp.expName += "_foreign" chefLog_parsed = isChefInfoAvailable(folder) if chefLog_parsed: update_chefSummary(_newExp, chefLog_parsed) _newExp.save() if _plan_json: planObj = _newExp.plan easObj = _newExp.get_EAS() update_plan_info(_plan_json, planObj, easObj) except: print("DEBUG: There was an error adding the experiment") _newExp = None print(traceback.format_exc()) return _newExp
def newExperiment(_explog_path, _plan_json=''): '''Create Experiment record''' folder = os.path.dirname(_explog_path) # Test if Experiment object already exists try: _newExp = models.Experiment.objects.get(unique=folder) print("DEBUG: Experiment exists in database: %s" % folder) except: print("DEBUG: Experiment does not exist in database") _newExp = None if _newExp is None: # Parse the explog.txt file text = load_log_path(_explog_path) explog = parse_log(text) explog[ "planned_run_short_id"] = '' # don't allow getting plan by shortId - other plans may exist with that id try: ret_val = generate_updateruninfo_post(folder, logger) if ret_val == "Generated POST": # Get experiment object exp_set = models.Experiment.objects.filter(unique=folder) if exp_set: # Experiment object exists in database _newExp = exp_set[0] else: print("ERROR: Could not update/generate new Experiment record in database") print(ret_val) return None # Append to expName to indicate imported dataset. _newExp.expName += "_foreign" chefLog_parsed = isChefInfoAvailable(folder) if chefLog_parsed: update_chefSummary(_newExp, chefLog_parsed) _newExp.save() except: print("DEBUG: There was an error adding the experiment") _newExp = None print(traceback.format_exc()) if _plan_json: update_plan_info(_plan_json, _newExp.plan, _newExp.get_EAS()) return _newExp
def newExperiment(_explog_path, _plan_json=""): """Create Experiment record""" folder = os.path.dirname(_explog_path) # Test if Experiment object already exists try: _newExp = models.Experiment.objects.get(unique=folder) print "DEBUG: Experiment exists in database: %s" % (folder) except: print "DEBUG: Experiment does not exist in database" _newExp = None if _newExp is None: # Parse the explog.txt file text = load_log_path(_explog_path) explog = parse_log(text) explog["planned_run_short_id"] = "" # don't allow getting plan by shortId - other plans may exist with that id try: ret_val = generate_updateruninfo_post(folder, logger) if ret_val == "Generated POST": # Get experiment object exp_set = models.Experiment.objects.filter(unique=folder) if exp_set: # Experiment object exists in database _newExp = exp_set[0] else: print "ERROR: Could not update/generate new Experiment record in database" print ret_val return None # Append to expName to indicate imported dataset. _newExp.expName += "_foreign" _newExp.save() if _plan_json: planObj = _newExp.plan easObj = _newExp.get_EAS() update_plan_info(_plan_json, planObj, easObj) except: print "DEBUG: There was an error adding the experiment" _newExp = None print traceback.format_exc() return _newExp
#!/usr/bin/env python # Copyright (C) 2013 Ion Torrent Systems, Inc. All Rights Reserved '''Parses explog.txt and explog_final.txt''' from ion.utils.explogparser import load_log_path from ion.utils.explogparser import parse_log explog_path = "./explog.txt" # Parse the explog.txt file text = load_log_path(explog_path) dict = parse_log(text) #NOTE: keywords will have spaces replaced with underscores and all letters lowercased. keywords = [ "experimenterrorlog", "experimentinfolog", "explog_done", "experiment_name", "f", ] for key,value in dict.items(): if any(key.startswith(item) for item in keywords): print "(%s) ==> %s" % (key, value)
#!/usr/bin/env python # Copyright (C) 2013 Ion Torrent Systems, Inc. All Rights Reserved '''Parses explog.txt and explog_final.txt''' from ion.utils.explogparser import load_log_path from ion.utils.explogparser import parse_log explog_path = "./explog.txt" # Parse the explog.txt file text = load_log_path(explog_path) dict = parse_log(text) #NOTE: keywords will have spaces replaced with underscores and all letters lowercased. keywords = [ "experimenterrorlog", "experimentinfolog", "explog_done", "experiment_name", "f", ] for key, value in dict.items(): if any(key.startswith(item) for item in keywords): print "(%s) ==> %s" % (key, value)