docs: def _process_disease_models(self, limit):
          """
          Here we make associations between a disease and the supplied "model".
          In this case it's an allele.
          FIXME consider changing this... are alleles really models?
          Perhaps map these alleles into actual animals/strains or genotypes?
          :param limit:
          :return:
  
          """
  
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          raw = '/'.join((self.rawdir, self.files['disease_models']['file']))
          LOG.info("processing disease models")
  
          line_counter = 0
          geno = Genotype(graph)
          fly_taxon = self.globaltt["Drosophila melanogaster"]
  
          with gzip.open(raw, 'rb') as f:
              filereader = csv.reader(
                  io.TextIOWrapper(f, newline=""),
                  delimiter='\t', quotechar='\"')
              for line in filereader:
                  # skip comments
                  if re.match(r'#', ''.join(line)) or ''.join(line) == '':
                      continue
                  (allele_id, allele_symbol, qualifier, doid_label, doid_id,
                   evidence_or_interacting_allele, pub_id) = line
                  line_counter += 1
  
                  if self.test_mode and self.test_ids['disease'] is not None \
                          and doid_id not in self.test_ids['disease']:
                      continue
  
                  rel = None
                  allele_id = 'FlyBase:' + allele_id
                  if qualifier == 'model of':
                      rel = self.globaltt['is model of']
                  else:
                      # TODO amelorates, exacerbates, and DOES NOT *
                      continue
  
                  animal_id = geno.make_experimental_model_with_genotype(
                      allele_id, allele_symbol, fly_taxon, 'fly')
  
                  assoc = G2PAssoc(graph, self.name, animal_id, doid_id, rel)
                  if pub_id != '':
                      pub_id = 'FlyBase:'+pub_id
                      assoc.add_source(pub_id)
                  if evidence_or_interacting_allele == 'inferred from mutant phenotype':
                      evidence_id = self.globaltt['mutant phenotype evidence']
                      assoc.add_evidence(evidence_id)
                  else:
                      assoc.set_description(evidence_or_interacting_allele)
  
                  assoc.add_association_to_graph()
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          return