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