def conditional_pre_gpb_drop(df_occ_slice: list, df_meta_slice: list):
    """
    Drop samples from metadata dataframe slice depending on already reduced Occurrences slice (occ slice set up as basis
    for drop because it's the fastest to compute. Only runs if contents df_occ_slice have already been reduced.
    :param df_occ_slice: list of (file_code, df_occurrence_slice) tuples
    :param df_meta_slice: list of (file_code, df_meta_slice) tuples
    :return: reduced df_meta_slice
    """
    for df_code_i, df_slice_i in df_occ_slice:
        for df_code_j, df_slice_j in df_meta_slice:
            if df_code_i == df_code_j:
                seq_occ = df_slice_i.Sequence.values
                df_slice_j.query("Sequence.isin(@seq_occ)", inplace=True)
    return df_meta_slice