Convert flattened dictionary from CWL representation into dictionary.

    CWL flattens somatic/germline tags into a set of strings, which we
    reconstitute as a dictionary.

def _clean_flat_variantcaller(data):
    """Convert flattened dictionary from CWL representation into dictionary.

    CWL flattens somatic/germline tags into a set of strings, which we
    reconstitute as a dictionary.
    """
    vc = dd.get_variantcaller(data)
    if isinstance(vc, (list, tuple)) and all([x.count(":") == 1 for x in vc]):
        out = {}
        for v in vc:
            k, v = v.split(":")
            if k in out:
                out[k].append(v)
            else:
                out[k] = [v]
        data = dd.set_variantcaller(data, out)
    return data