def filter_cands_min_proteins(cands, min_proteins, verbose=1):
    """
    Filter candidates by minimum number of proteins
    :param cands: Candidate DataFrame to filter
    :param min_proteins: Minimum number of proteins
    :param verbose: Verbosity
    :return: candidates filtered by minimum number of proteins
    """
    if cands.empty:
        return cands
    filtered = cands[cands['num_proteins'] >= min_proteins]
    if verbose:
        print('Filtered candidates by minimum of {} proteins, {}/{} remained.'.format(min_proteins, len(filtered), len(cands)))
    return filtered