code: def _merge_hla_fastq_inputs(data):
      
      hla_key = ["hla", "fastq"]
      hla_sample_files = [x for x in (tz.get_in(hla_key, data) or []) if x and x != "None"]
      merged_hlas = None
      if hla_sample_files:
          out_files = collections.defaultdict(list)
          for hla_file in utils.flatten(hla_sample_files):
              rehla = re.search(r".hla.(?P<hlatype>[\w-]+).fq", hla_file)
              if rehla:
                  hlatype = rehla.group("hlatype")
                  out_files[hlatype].append(hla_file)
          if len(out_files) > 0:
              hla_outdir = utils.safe_makedir(os.path.join(dd.get_work_dir(data), "align",
                                                           dd.get_sample_name(data), "hla"))
              merged_hlas = []
              for hlatype, files in out_files.items():
                  out_file = os.path.join(hla_outdir, "%s-%s.fq" % (dd.get_sample_name(data), hlatype))
                  optitype.combine_hla_fqs([(hlatype, f) for f in files], out_file, data)
                  merged_hlas.append(out_file)
      data = tz.update_in(data, hla_key, lambda x: merged_hlas)
      return data
docs: Merge HLA inputs from a split initial alignment.