def get_our_costs_at_Rihn(costs_Rihn, costs_ours, data, aa_mutation_rates):
    '''Get our costs at their positions'''
    c = costs_ours.set_index('pos').loc[costs_Rihn['pos']]['median']
    costs_Rihn_by_pos = costs_Rihn.set_index('pos')
    c_float = []
    c_IQD_target_specfic = []
    for (p, mut), ci in zip(costs_Rihn_by_pos.iterrows(), c):
        if ci == '<0.001':
            ci = 0
        elif ci == '>0.1':
            ci = 1
        else:
            ci = float(ci)
        c_float.append(ci)
        cons, ipos, target_aa = mut['mut'][0], int(mut['mut'][1:-1]), mut['mut'][-1]
        ipos +=714
        print(cons, mut['NL4-3'], translate(data['init_codon']['pol']['p2'][ipos]))
        c_IQD_target_specfic.append(fitness_cost_mutation('pol', data,
                                    aa_mutation_rates, ipos,
                                    target_aa, nbootstraps=100))

    c[:] = c_float
    c_IQD_target_specfic = np.array(c_IQD_target_specfic)

    comp = (pd.concat([c, costs_Rihn.set_index('pos')['cost']], axis=1)
            .rename(columns={'median': 'ours', 'cost': 'Rihn'}))

    return comp, c_IQD_target_specfic
def load_other_experiments(data, aa_mutation_rates):
    fc = pd.read_csv('../data/fitness_costs_experiments.csv')
    coefficients = {}
    for ii, mut in fc.iterrows():
        region = mut['region']
        offset = offsets[mut['feature']]
        aa, pos = mut['mutation'][-1], int(mut['mutation'][1:-1])+offset
        coefficients[(mut['feature'], mut['mutation'])] = (mut['normalized'],
            fitness_cost_mutation(region, data, aa_mutation_rates, pos, aa, nbootstraps=100))

    return coefficients