示例#1
0
def add_quality(hmmcopy_metrics, alignment_metrics, multipliers, output, training_data, tempdir):
    helpers.makedirs(tempdir)

    hmmcopy_tables = ['/hmmcopy/metrics/{}'.format(mult) for mult in multipliers]

    model = classify.train_classifier(training_data)

    feature_names = model.feature_names_

    data = classify.load_data(hmmcopy_metrics, alignment_metrics,
                              hmmcopy_tables, '/alignment/metrics',
                              feature_names)

    for i, (hmmcopy_table, tabledata) in enumerate(data):
        intermediate_output = os.path.join(
            tempdir, '{}_metrics_with_quality.csv.gz'.format(i)
        )

        predictions = classify.classify(model, tabledata)

        classify.write_to_output(
            hmmcopy_metrics,
            hmmcopy_table,
            intermediate_output,
            predictions)

        csvutils.prep_csv_files(intermediate_output, output, dtypes=dtypes()['metrics'])
示例#2
0
def add_quality(hmmcopy_metrics, alignment_metrics, output, training_data,
                tempdir):
    helpers.makedirs(tempdir)

    intermediate_output = os.path.join(tempdir, 'metrics_with_quality.csv')

    model = classify.train_classifier(training_data)

    feature_names = model.feature_names_

    data = classify.load_data(hmmcopy_metrics, alignment_metrics,
                              feature_names)

    predictions = classify.classify(model, data)

    classify.write_to_output(hmmcopy_metrics, intermediate_output, predictions)

    csvutils.prep_csv_files(intermediate_output, output)
示例#3
0
def run_hmmcopy(
        bam_file,
        corrected_reads_filename,
        segments_filename,
        parameters_filename,
        metrics_filename,
        hmmcopy_tar,
        cell_id,
        hmmparams,
        tempdir,
        docker_image
):
    # generate wig file for hmmcopy
    helpers.makedirs(tempdir)
    readcount_wig = os.path.join(tempdir, 'readcounter.wig')
    corrected_reads = os.path.join(tempdir, 'corrected_reads.csv')

    run_correction_hmmcopy(
        bam_file,
        corrected_reads,
        readcount_wig,
        hmmparams,
        docker_image
    )

    hmmcopy_tempdir = os.path.join(tempdir, '{}_hmmcopy'.format(cell_id))
    helpers.makedirs(hmmcopy_tempdir)

    run_hmmcopy_script(
        corrected_reads,
        hmmcopy_tempdir,
        cell_id,
        hmmparams,
        docker_image
    )

    hmmcopy_outdir = os.path.join(hmmcopy_tempdir, str(0))
    csvutils.prep_csv_files(
        os.path.join(hmmcopy_outdir, "reads.csv"), corrected_reads_filename
    )
    csvutils.prep_csv_files(
        os.path.join(hmmcopy_outdir, "params.csv"), parameters_filename
    )
    csvutils.prep_csv_files(
        os.path.join(hmmcopy_outdir, "segs.csv"), segments_filename
    )
    csvutils.prep_csv_files(
        os.path.join(hmmcopy_outdir, "metrics.csv"), metrics_filename
    )

    helpers.make_tarfile(hmmcopy_tar, hmmcopy_tempdir)