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