docs: def generate_pymol_session(self, pymol_executable = 'pymol', settings = {}):
          ''' Generates the PyMOL session for the scaffold, model, and design structures.
              Returns this session and the script which generated it.'''
  
          if not self.fixed:
              self.fix()
  
          b = BatchBuilder(pymol_executable = pymol_executable)
  
          for s in self.structures:
              s.add_residues_of_interest(self.get_differing_atom_residue_ids(s.structure_name))
  
          PSE_files = b.run(MultiStructureBuilder, [self.structures], settings = settings)
  
          return PSE_files[0], b.PSE_scripts[0]