code: def clean_inputs(data):
      
      if not utils.get_in(data, ("config", "algorithm", "variant_regions_orig")):
          data["config"]["algorithm"]["variant_regions_orig"] = dd.get_variant_regions(data)
      clean_vr = clean_file(dd.get_variant_regions(data), data, prefix="cleaned-")
      merged_vr = merge_overlaps(clean_vr, data)
      data["config"]["algorithm"]["variant_regions"] = clean_vr
      data["config"]["algorithm"]["variant_regions_merged"] = merged_vr
  
      if dd.get_coverage(data):
          if not utils.get_in(data, ("config", "algorithm", "coverage_orig")):
              data["config"]["algorithm"]["coverage_orig"] = dd.get_coverage(data)
          clean_cov_bed = clean_file(dd.get_coverage(data), data, prefix="cov-", simple=True)
          merged_cov_bed = merge_overlaps(clean_cov_bed, data)
          data["config"]["algorithm"]["coverage"] = clean_cov_bed
          data["config"]["algorithm"]["coverage_merged"] = merged_cov_bed
  
      if 'seq2c' in get_svcallers(data):
          seq2c_ready_bed = prep_seq2c_bed(data)
          if not seq2c_ready_bed:
              logger.warning("Can't run Seq2C without a svregions or variant_regions BED file")
          else:
              data["config"]["algorithm"]["seq2c_bed_ready"] = seq2c_ready_bed
      elif regions.get_sv_bed(data):
          dd.set_sv_regions(data, clean_file(regions.get_sv_bed(data), data, prefix="svregions-"))
      return data
docs: Clean BED input files to avoid overlapping segments that cause downstream issues.
  
      Per-merges inputs to avoid needing to call multiple times during later parallel steps.