code: def _summarize_inputs(samples, out_dir):
      
      logger.info("summarize target information")
      if samples[0].get("analysis", "").lower() in ["variant", "variant2"]:
          metrics_dir = utils.safe_makedir(os.path.join(out_dir, "report", "metrics"))
          samples = _merge_target_information(samples, metrics_dir)
  
      logger.info("summarize fastqc")
      out_dir = utils.safe_makedir(os.path.join(out_dir, "report", "fastqc"))
      with utils.chdir(out_dir):
          _merge_fastqc(samples)
  
      preseq_samples = [s for s in samples if tz.get_in(["config", "algorithm", "preseq"], s)]
      if preseq_samples:
          logger.info("summarize preseq")
          out_dir = utils.safe_makedir(os.path.join(out_dir, "report", "preseq"))
          with utils.chdir(out_dir):
              _merge_preseq(preseq_samples)
      return samples
docs: Summarize inputs for MultiQC reporting in display.