docs: def sspro8_summary(self):
          """Parse the SSpro8 output file and return a summary of secondary structure composition.
  
          The output file is just a FASTA formatted file, so you can get residue level
              information by parsing it like a normal sequence file.
  
          Returns:
              dict: Percentage of:
                  H: alpha-helix
                  G: 310-helix
                  I: pi-helix (extremely rare)
                  E: extended strand
                  B: beta-bridge
                  T: turn
                  S: bend
                  C: the rest
  
          """
          summary = {}
  
          records = ssbio.protein.sequence.utils.fasta.load_fasta_file(self.out_sspro8)
          for r in records:
              seq_summary = {}
              seq_summary['percent_H-sspro8'] = r.seq.count('H') / float(len(r))
              seq_summary['percent_G-sspro8'] = r.seq.count('G') / float(len(r))
              seq_summary['percent_I-sspro8'] = r.seq.count('I') / float(len(r))
              seq_summary['percent_E-sspro8'] = r.seq.count('E') / float(len(r))
              seq_summary['percent_B-sspro8'] = r.seq.count('B') / float(len(r))
              seq_summary['percent_T-sspro8'] = r.seq.count('T') / float(len(r))
              seq_summary['percent_S-sspro8'] = r.seq.count('S') / float(len(r))
              seq_summary['percent_C-sspro8'] = r.seq.count('C') / float(len(r))
  
              summary[r.id] = seq_summary
  
          return summary