docs: def get_msms_annotations(self, outdir, force_rerun=False):
          """Run MSMS on this structure and store the residue depths/ca depths in the corresponding ChainProp SeqRecords
          """
          # Now can run on Biopython Model objects exclusively thanks to Biopython updates
          # if self.file_type != 'pdb':
          #     raise ValueError('{}: unable to run MSMS with "{}" file type. Please change file type to "pdb"'.format(self.id,
          #                                                                                                     self.file_type))
  
          if self.structure:
              parsed = self.structure
          else:
              parsed = self.parse_structure()
  
          if not parsed:
              log.error('{}: unable to open structure to run MSMS'.format(self.id))
              return
  
          log.debug('{}: running MSMS'.format(self.id))
          # PDB ID is currently set to the structure file so the output name is the same with _msms.df appended to it
          msms_results = ssbio.protein.structure.properties.msms.get_msms_df(model=parsed.first_model, pdb_id=self.structure_path,
                                                                             outdir=outdir, force_rerun=force_rerun)
          if msms_results.empty:
              log.error('{}: unable to run MSMS'.format(self.id))
              return
  
          chains = msms_results.chain.unique()
  
          for chain in chains:
              res_depths = msms_results[msms_results.chain == chain].res_depth.tolist()
              ca_depths = msms_results[msms_results.chain == chain].ca_depth.tolist()
  
              chain_prop = self.chains.get_by_id(chain)
              chain_seq = chain_prop.seq_record
  
              # Making sure the X's are filled in
              res_depths = ssbio.protein.structure.properties.residues.match_structure_sequence(orig_seq=chain_seq,
                                                                                                new_seq=res_depths,
                                                                                                fill_with=float('Inf'))
  
              ca_depths = ssbio.protein.structure.properties.residues.match_structure_sequence(orig_seq=chain_seq,
                                                                                               new_seq=ca_depths,
                                                                                               fill_with=float('Inf'))
  
              chain_prop.seq_record.letter_annotations['RES_DEPTH-msms'] = res_depths
              chain_prop.seq_record.letter_annotations['CA_DEPTH-msms'] = ca_depths
              log.debug('{}: stored residue depths in chain seq_record letter_annotations'.format(chain))