def get_targ_pairs(start_cond, end_cond):
    """Return boolean mask for paired target conditions.

    This function returns a mask indicating which start/end target conditions
    in the provided lists come from a paired set.  For example, the entry for a
    a target condition 'T1 -> T5' will have a corresponding value of True if
    'T5 -> T1' also exists in the data.

    Inputs:
    start_cond - List of strings indicating starting conditions
    end_cond - List of strings indicating ending conditions

    Returns:
    mask - List of boolean indicating whether each of the input elements is
            part of a pair
    """
    
    # Define target pair and flipped target pair conditions
    cond = [''.join([s, e]) for s, e in zip(start_cond, end_cond)]
    filp_cond = [''.join([e, s]) for s, e in zip(start_cond, end_cond)]
    
    # If the flipped version of a target condition appears in the set of unique
    # target conditions, then the target has a matching condition
    uni_cond = set(cond)
    mask = [True if c in uni_cond else False for c in filp_cond]
    
    return mask