docs: def remapMutations(self, mutations, pdbID = '?'):
          '''Takes in a list of (Chain, ResidueID, WildTypeAA, MutantAA) mutation tuples and returns the remapped
             mutations based on the ddGResmap (which must be previously instantiated).
             This function checks that the mutated positions exist and that the wild-type matches the PDB.
          '''
          raise Exception('This code is deprecated. Please use map_pdb_residues_to_rosetta_residues instead.')
  
          remappedMutations = []
          ddGResmap = self.get_ddGResmap()
  
          for m in mutations:
              ns = (PDB.ChainResidueID2String(m['Chain'], str(ddGResmap['ATOM-%s' % PDB.ChainResidueID2String(m['Chain'], m['ResidueID'])])))
              remappedMutations.append(Mutation(m['WildTypeAA'], ns[1:].strip(), m['MutantAA'], ns[0]))
  
          # Validate the mutations against the Rosetta residues
          sequences, residue_map = self.GetRosettaResidueMap()
          for rm in remappedMutations:
              offset = int(residue_map[rm.Chain][0][0])
              pr = residue_map[rm.Chain][int(rm.ResidueID) - offset]
              assert(pr[0] == rm.ResidueID)
              assert(pr[1] == rm.WildTypeAA)
          return remappedMutations