def get_available_finished_run_ids(conf): """Get the list of the available runs. Arguments: conf: configuration dictionary """ result = set() for hiseq_data_path in hiseq_run.get_hiseq_data_paths(conf): files = os.listdir(hiseq_data_path) for f in files: if os.path.isdir(hiseq_data_path + '/' + f) and \ hiseq_run.check_run_id(f, conf) and \ hiseq_run.check_end_run(f, conf): result.add(f) return result
def get_available_new_run_ids(conf): """Get the list of the available runs. Arguments: conf: configuration dictionary """ result = set() hiseq_run_ids_do_not_process = hiseq_run.load_deny_run_ids(conf) for hiseq_data_path in hiseq_run.get_hiseq_data_paths(conf): files = os.listdir(hiseq_data_path) for f in files: # Do not process denied runs if f in hiseq_run_ids_do_not_process: continue if not (os.path.isdir(hiseq_data_path + '/' + f) and hiseq_run.check_run_id(f, conf)): # No valid entry continue # NextSeq sequencer create this file after clusterisation step if not os.path.exists(hiseq_data_path + '/' + f + '/RunInfo.xml'): continue if common.get_rta_major_version(f, conf) == 1 and \ not os.path.exists(hiseq_data_path + '/' + common.FIRST_BASE_REPORT_FILE): continue if not hiseq_run.check_end_run(f, conf): # TODO # os.path.exists(hiseq_data_path + '/' + f + '/First_Base_Report.htm'): result.add(f) return result
def is_sync_step_enable(conf): """Check if all parameters useful for synchronization step are defined Arguments: conf: configuration dictionary """ # Synchronization step: True if common.is_conf_value_equals_true(SYNC_STEP_KEY, conf): # Check bcl path must be defined if common.is_conf_key_exists(BCL_DATA_PATH_KEY, conf): bcl_path = conf[BCL_DATA_PATH_KEY] # Check bcl not same hiseq output path for path in hiseq_run.get_hiseq_data_paths(conf): if path == bcl_path: error('Configuration error.', 'Basecalling path and hiseq output data path must be different: ' + bcl_path, conf) return False return True return False