docs: def write_pdb(self, custom_name='', out_suffix='', out_dir=None, custom_selection=None, force_rerun=False):
          """Write a new PDB file for the Structure's FIRST MODEL.
  
          Set custom_selection to a PDB.Select class for custom SMCRA selections.
  
          Args:
              custom_name: Filename of the new file (without extension)
              out_suffix: Optional string to append to new PDB file
              out_dir: Optional directory to output the file
              custom_selection: Optional custom selection class
              force_rerun: If existing file should be overwritten
  
          Returns:
              out_file: filepath of new PDB file
  
          """
          if not custom_selection:
              custom_selection = ModelSelection([0])
  
          # If no output directory, custom name, or suffix is specified, add a suffix "_new"
          if not out_dir or not custom_name:
              if not out_suffix:
                  out_suffix = '_new'
  
          # Prepare the output file path
          outfile = ssbio.utils.outfile_maker(inname=self.structure_file,
                                              outname=custom_name,
                                              append_to_name=out_suffix,
                                              outdir=out_dir,
                                              outext='.pdb')
          try:
              if ssbio.utils.force_rerun(flag=force_rerun, outfile=outfile):
                  self.save(outfile, custom_selection)
          except TypeError as e:
              # If trying to save something that can't be saved as a PDB (example: 5iqr.cif), log an error and return None
              # The error thrown by PDBIO.py is "TypeError: %c requires int or char"
              log.error('{}: unable to save structure in PDB file format'.format(self.structure_file))
              raise TypeError(e)
  
          return outfile