Пример #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