docs: def stripForDDG(self, chains = True, keepHETATM = False, numberOfModels = None, raise_exception = True):
          '''Strips a PDB to ATOM lines. If keepHETATM is True then also retain HETATM lines.
             By default all PDB chains are kept. The chains parameter should be True or a list.
             In the latter case, only those chains in the list are kept.
             Unoccupied ATOM lines are discarded.
             This function also builds maps from PDB numbering to Rosetta numbering and vice versa.
             '''
          if raise_exception:
              raise Exception('This code is deprecated.')
  
          from Bio.PDB import PDBParser
          resmap = {}
          iresmap = {}
          newlines = []
          residx = 0
          oldres = None
          model_number = 1
          for line in self.lines:
              fieldtype = line[0:6].strip()
              if fieldtype == "ENDMDL":
                  model_number += 1
                  if numberOfModels and (model_number > numberOfModels):
                      break
                  if not numberOfModels:
                      raise Exception("The logic here does not handle multiple models yet.")
              if (fieldtype == "ATOM" or (fieldtype == "HETATM" and keepHETATM)) and (float(line[54:60]) != 0):
                  chain = line[21:22]
                  if (chains == True) or (chain in chains):
                      resid = line[21:27] # Chain, residue sequence number, insertion code
                      iCode = line[26:27]
                      if resid != oldres:
                          residx += 1
                          newnumbering = "%s%4.i " % (chain, residx)
                          assert(len(newnumbering) == 6)
                          id = fieldtype + "-" + resid
                          resmap[id] = residx
                          iresmap[residx] = id
                          oldres = resid
                      oldlength = len(line)
                      # Add the original line back including the chain [21] and inserting a blank for the insertion code
                      line = "%s%4.i %s" % (line[0:22], resmap[fieldtype + "-" + resid], line[27:])
                      assert(len(line) == oldlength)
                      newlines.append(line)
          self.lines = newlines
          self.ddGresmap = resmap
          self.ddGiresmap = iresmap
  
          # Sanity check against a known library
          tmpfile = "/tmp/ddgtemp.pdb"
          self.lines = self.lines or ["\n"] 	# necessary to avoid a crash in the Bio Python module
          F = open(tmpfile,'w')
          F.write(string.join(self.lines, "\n"))
          F.close()
          parser=PDBParser()
          structure=parser.get_structure('tmp', tmpfile)
          os.remove(tmpfile)
          count = 0
          for residue in structure.get_residues():
              count += 1
          assert(count == residx)
          assert(len(resmap) == len(iresmap))