Retrieve status in regions of interest, along with heterogeneity metrics.

    Provides output with overall purity and ploidy, along with region
    specific calls.

def summary_status(call, data):
    """Retrieve status in regions of interest, along with heterogeneity metrics.

    Provides output with overall purity and ploidy, along with region
    specific calls.
    """
    out_file = None
    if call.get("vrn_file") and os.path.exists(call.get("vrn_file")):
        out_file = os.path.join(os.path.dirname(call["vrn_file"]),
                                "%s-%s-lohsummary.yaml" % (dd.get_sample_name(data), call["variantcaller"]))
        if not utils.file_uptodate(out_file, call["vrn_file"]):
            out = {}
            if call["variantcaller"] == "titancna":
                out.update(_titancna_summary(call, data))
                pass
            elif call["variantcaller"] == "purecn":
                out.update(_purecn_summary(call, data))
            if out:
                out["description"] = dd.get_sample_name(data)
                out["variantcaller"] = call["variantcaller"]
                with file_transaction(data, out_file) as tx_out_file:
                    with open(tx_out_file, "w") as out_handle:
                        yaml.safe_dump(out, out_handle, default_flow_style=False, allow_unicode=False)
    return out_file if out_file and os.path.exists(out_file) else None