<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_ddG_results(self):
 """Parse the results from BuildModel and get the delta delta G's. A positive ddG means that the mutation(s) is destabilzing, negative means stabilizing. - highly stabilising (ΔΔG < −1.84 kcal/mol); - stabilising (−1.84 kcal/mol ≤ ΔΔG < −0.92 kcal/mol); - slightly stabilising (−0.92 kcal/mol ≤ ΔΔG < −0.46 kcal/mol); - neutral (−0.46 kcal/mol < ΔΔG ≤ +0.46 kcal/mol); - slightly destabilising (+0.46 kcal/mol < ΔΔG ≤ +0.92 kcal/mol); - destabilising (+0.92 kcal/mol < ΔΔG ≤ +1.84 kcal/mol); - highly destabilising (ΔΔG > +1.84 kcal/mol). Returns: dict: Dictionary of mutation group to predicted ddG. """

        foldx_avg_df = self.df_mutation_ddG_avg

        foldx_avg_ddG = {}
        results = foldx_avg_df[['Pdb', 'total energy', 'SD']].T.to_dict().values()
        for r in results:
            ident = r['Pdb'].split('_')[-1]
            ddG = r['total energy']
            ddG_sd = r['SD']

            foldx_avg_ddG[self.mutation_index_to_group[int(ident)]] = (ddG, ddG_sd)

        return foldx_avg_ddG