docs: def extract_helices_dssp(in_pdb):
      """Uses DSSP to find alpha-helices and extracts helices from a pdb file.
  
      Returns a length 3 list with a helix id, the chain id and a dict
      containing the coordinates of each residues CA.
  
      Parameters
      ----------
      in_pdb : string
          Path to a PDB file.
      """
      from ampal.pdb_parser import split_pdb_lines
  
      dssp_out = subprocess.check_output(
          [global_settings['dssp']['path'], in_pdb])
      helix = 0
      helices = []
      h_on = False
      for line in dssp_out.splitlines():
          dssp_line = line.split()
          try:
              if dssp_line[4] == 'H':
                  if helix not in [x[0] for x in helices]:
                      helices.append(
                          [helix, dssp_line[2], {int(dssp_line[1]): None}])
                  else:
                      helices[helix][2][int(dssp_line[1])] = None
                  h_on = True
              else:
                  if h_on:
                      helix += 1
                      h_on = False
          except IndexError:
              pass
      with open(in_pdb, 'r') as pdb:
          pdb_atoms = split_pdb_lines(pdb.read())
      for atom in pdb_atoms:
          for helix in helices:
              if (atom[2] == "CA") and (atom[5] == helix[1]) and (atom[6] in helix[2].keys()):
                  helix[2][atom[6]] = tuple(atom[8:11])
      return helices