docs: def scrape_args(self, records, executable='raxmlHPC-AVX', partition_files=None,
                      model=None, outfiles=None, threads=1, parsimony=False, fast_tree=False,
                      n_starts=1):
          """
          Examine a list of records and generate RAxML command line arguments for tree inference.
          :param records: list of `Alignment` records
          :param executable: name of the RAxML executable on the system to use. Must be in the user's path.
          :param partition_files: List of RAxML partition files used to describe any partitioning scheme
              to be used (optional)
          :param model: Choice of model to use. Defaults to GTRGAMMA for DNA, or PROTGAMMALGX for amino acid alignments.
          :param outfiles: A list of output file locations to write results (required length = 1 per alignment)
          :param threads: Number of threads for RAxML to use. This is independent of any threading used by the
              `JobHandler`, and the user should be sure that their choice is appropriate for the number of threads
              available to their system, and for the RAxML executable being used.
          :param parsimony: Use RAxML's parsimony tree search only
          :param fast_tree: Use RAxML's experimental fast tree search (-f E)
          :return: (List of command line arguments, List of created temporary files)
          """
          args = []
          to_delete = []
          if partition_files is None:
              partition_files = [None for rec in records]
          if outfiles is None:
              outfiles = [None for rec in records]
          for (rec, qfile, ofile) in zip(records, partition_files, outfiles):
              if model is None:
                  model = 'GTRGAMMA' if rec.is_dna() else 'PROTGAMMALGX'
              filename, delete = rec.get_alignment_file(as_phylip=True)
              if delete:
                  to_delete.append(filename)
                  to_delete.append(filename + '.reduced')
  
              if qfile is None:
                  # Attempt to find partition file on disk, using extension 'partitions.txt'
                  if filename.endswith('.phy'):
                      likely_qfile = filename.replace('phy', 'partitions.txt')
                  else:
                      likely_qfile = filename + '.partitions.txt'
                  if os.path.exists(likely_qfile):
                      qfile = likely_qfile
                  else:
                      with tempfile.NamedTemporaryFile(mode='w', delete=False) as tmpfile:
                          qfile = tmpfile.name
                          to_delete.append(tmpfile.name)
                          mymodel = 'DNAX' if rec.is_dna() else model.replace('PROT', '').replace('GAMMA', '').replace('CAT', '')
                          partition_string = '{model}, {name} = 1-{seqlen}\n'.format(
                              model=mymodel,
                              name=rec.name, seqlen=len(rec))
                          tmpfile.write(partition_string)
  
              args.append((executable, filename, model, qfile, ofile, threads, parsimony, fast_tree, n_starts))
          return args, to_delete