docs: def get_dssp_annotations(self, representative_only=True, force_rerun=False):
          """Run DSSP on structures and store calculations.
  
          Annotations are stored in the protein structure's chain sequence at:
          ``<chain_prop>.seq_record.letter_annotations['*-dssp']``
  
          Args:
              representative_only (bool): If analysis should only be run on the representative structure
              force_rerun (bool): If calculations should be rerun even if an output file exists
  
          Todo:
              * Some errors arise from storing annotations for nonstandard amino acids, need to run DSSP separately for those
  
          """
          if representative_only:
              if self.representative_structure:
                  try:
                      self.representative_structure.get_dssp_annotations(outdir=self.structure_dir, force_rerun=force_rerun)
                  except PDBException as e:
                      log.error('{}: Biopython error, issue matching sequences with {}'.format(self.id, self.representative_structure))
                      print(e)
                  except TypeError as e:
                      log.error('{}: Biopython error, DSSP SeqRecord length mismatch with {}'.format(self.id, self.representative_structure))
                      print(e)
                  except Exception as e:
                      log.error('{}: DSSP failed to run on {}'.format(self.id, self.representative_structure))
                      print(e)
              else:
                  log.warning('{}: no representative structure set, cannot run DSSP'.format(self.id))
          else:
              for s in self.structures:
                  try:
                      s.get_dssp_annotations(outdir=self.structure_dir)
                  except PDBException as e:
                      log.error('{}: Biopython error, issue matching sequences with {}'.format(self.id, s.id))
                      print(e)
                  except TypeError as e:
                      log.error('{}: Biopython error, DSSP SeqRecord length mismatch with {}'.format(self.id, s.id))
                      print(e)
                  except Exception as e:
                      log.error('{}: DSSP failed to run on {}'.format(self.id, s.id))
                      print(e)