docs: def _process_kegg_disease2gene(self, limit=None):
          """
          This method creates an association between diseases and
          their associated genes. We are being conservative here, and only
          processing those diseases for which there is no mapping to OMIM.
  
          Triples created:
          <alternate_locus> is an Individual
          <alternate_locus> has type <variant_locus>
          <alternate_locus> is an allele of  <gene_id>
  
          <assoc_id> has subject <disease_id>
          <assoc_id> has object <gene_id>
          :param limit:
          :return:
  
          """
  
          LOG.info("Processing KEGG disease to gene")
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          model = Model(graph)
          line_counter = 0
          geno = Genotype(graph)
          rel = self.globaltt['is marker for']
          noomimset = set()
          raw = '/'.join((self.rawdir, self.files['disease_gene']['file']))
          with open(raw, 'r', encoding="iso-8859-1") as csvfile:
              filereader = csv.reader(csvfile, delimiter='\t', quotechar='\"')
              for row in filereader:
                  line_counter += 1
                  (gene_id, disease_id) = row
  
                  if self.test_mode and gene_id not in self.test_ids['genes']:
                      continue
  
                  gene_id = 'KEGG-' + gene_id.strip()
                  disease_id = 'KEGG-' + disease_id.strip()
  
                  # only add diseases for which
                  # there is no omim id and not a grouping class
                  if disease_id not in self.kegg_disease_hash:
                      # add as a class
                      disease_label = None
                      if disease_id in self.label_hash:
                          disease_label = self.label_hash[disease_id]
                      if re.search(r'includ', str(disease_label)):
                          # they use 'including' when it's a grouping class
                          LOG.info(
                              "Skipping this association because " +
                              "it's a grouping class: %s",
                              disease_label)
                          continue
                      # type this disease_id as a disease
                      model.addClassToGraph(disease_id, disease_label)
                      # , class_type=self.globaltt['disease'])
                      noomimset.add(disease_id)
                      alt_locus_id = self._make_variant_locus_id(gene_id, disease_id)
                      alt_label = self.label_hash[alt_locus_id]
                      model.addIndividualToGraph(
                          alt_locus_id, alt_label, self.globaltt['variant_locus'])
                      geno.addAffectedLocus(alt_locus_id, gene_id)
                      model.addBlankNodeAnnotation(alt_locus_id)
                      # Add the disease to gene relationship.
                      assoc = G2PAssoc(graph, self.name, alt_locus_id, disease_id, rel)
                      assoc.add_association_to_graph()
  
                  if not self.test_mode and (
                          limit is not None and line_counter > limit):
                      break
  
          LOG.info("Done with KEGG disease to gene")
          LOG.info("Found %d diseases with no omim id", len(noomimset))
  
          return