def ensure_overlap(lh, mor, expr):
    """ ensures label overlap with weights and expression matrix

    Args:
        lh (pandas DataFrame): sparse DataFrame indicating likelihood for regulators
        mor (pandas DataFrame): sparse DataFrame indicating mode or regulation for transcription factors
        expr (:obj: `pandas DataFrame`): pandas DataFrame of shape [n_feats, n_samps]

    Returns:
        expression, mor, lh (pandas DataFrame): expression, mode of regulation, and likelihood frames, respectfully,
            re-indexed to be concordant with weights associated with regulon
        """

    expression = expr.reindex(mor.columns)
    mor = mor.reindex(expression.index, axis=1)
    lh = lh.reindex(expression.index, axis=1)

    return expression, mor, lh