code: def _civic_regions(civic_file, variant_types=None, diseases=None, drugs=None):
      
      if isinstance(diseases, six.string_types):
          diseases = [diseases]
      with utils.open_gzipsafe(civic_file) as in_handle:
          reader = csv.reader(in_handle, delimiter="\t")
          for chrom, start, end, info_str in reader:
              info = edn_loads(info_str)
              if not variant_types or _matches(info["support"]["variants"], variant_types):
                  if not diseases or _matches(info["support"]["diseases"], diseases):
                      if not drugs or _matches(info["support"]["drugs"], drugs):
                          yield (chrom, int(start), int(end), list(info["name"])[0])
docs: Retrieve gene regions and names filtered by variant_types and diseases.