def find_overlap(genotypes, df, q=0.1, col='code'):
    """Given a list of genotypes, df and a q-value, find DEG common to all."""
    # find only DE genes:
    sig = df[(df[col].isin(genotypes)) & (df.qval < q)]
    grouped = sig.groupby('target_id')
    genes = []
    for target, group in grouped:
        # make sure the group contains all desired genotypes
        all_in = (len(group[col].unique()) == len(genotypes))
        if all_in:
            genes += [target]
    return genes