code: def to_sdf(files, data):
      
      # BAM
      if len(files) == 1 and files[0].endswith(".bam"):
          qual = []
          format = ["-f", "sam-pe" if bam.is_paired(files[0]) else "sam-se"]
          inputs = [files[0]]
      # fastq
      else:
          qual = ["-q", "illumina" if dd.get_quality_format(data).lower() == "illumina" else "sanger"]
          format = ["-f", "fastq"]
          if len(files) == 2:
              inputs = ["-l", files[0], "-r", files[1]]
          else:
              assert len(files) == 1
              inputs = [files[0]]
      work_dir = utils.safe_makedir(os.path.join(data["dirs"]["work"], "align_prep"))
      out_file = os.path.join(work_dir,
                              "%s.sdf" % utils.splitext_plus(os.path.basename(os.path.commonprefix(files)))[0])
      if not utils.file_exists(out_file):
          with file_transaction(data, out_file) as tx_out_file:
              cmd = _rtg_cmd(["rtg", "format", "-o", tx_out_file] + format + qual + inputs)
              do.run(cmd, "Format inputs to indexed SDF")
      return out_file
docs: Convert a fastq or BAM input into a SDF indexed file.