code: def get_sv_bed(data, method=None, out_dir=None, include_gene_names=True):
      
      if method is None:
          method = (tz.get_in(["config", "algorithm", "sv_regions"], data) or dd.get_variant_regions(data)
                    or dd.get_sample_callable(data))
      gene_file = dd.get_gene_bed(data)
      if method and os.path.isfile(method):
          return method
      elif not gene_file or not method:
          return None
      elif method == "exons":
          return gene_file
      elif method.startswith("transcripts"):
          window = method.split("transcripts")[-1]
          window = int(float(window)) if window else 0
          return _collapse_transcripts(gene_file, window, data, out_dir, include_gene_names=include_gene_names)
      else:
          raise ValueError("Unexpected transcript retrieval method: %s" % method)
docs: Retrieve a BED file of regions for SV and heterogeneity calling using the provided method.
  
      method choices:
        - exons: Raw BED file of exon regions
        - transcripts: Full collapsed regions with the min and max of each transcript.
        - transcriptsXXXX: Collapsed regions around transcripts with a window size of
          XXXX.
        - A custom BED file of regions