docs: def _build_gene_disease_model(
              self,
              gene_id,
              relation_id,
              disease_id,
              variant_label,
              consequence_predicate=None,
              consequence_id=None,
              allelic_requirement=None,
              pmids=None):
          """
          Builds gene variant disease model
  
          :return: None
          """
          model = Model(self.graph)
          geno = Genotype(self.graph)
  
          pmids = [] if pmids is None else pmids
  
          is_variant = False
          variant_or_gene = gene_id
  
          variant_id_string = variant_label
          variant_bnode = self.make_id(variant_id_string, "_")
  
          if consequence_predicate is not None \
                  and consequence_id is not None:
              is_variant = True
              model.addTriple(variant_bnode,
                              consequence_predicate,
                              consequence_id)
              # Hack to add labels to terms that
              # don't exist in an ontology
              if consequence_id.startswith(':'):
                  model.addLabel(consequence_id,
                                 consequence_id.strip(':').replace('_', ' '))
  
          if is_variant:
              variant_or_gene = variant_bnode
              # Typically we would type the variant using the
              # molecular consequence, but these are not specific
              # enough for us to make mappings (see translation table)
              model.addIndividualToGraph(variant_bnode,
                                         variant_label,
                                         self.globaltt['variant_locus'])
              geno.addAffectedLocus(variant_bnode, gene_id)
              model.addBlankNodeAnnotation(variant_bnode)
  
          assoc = G2PAssoc(
              self.graph, self.name, variant_or_gene, disease_id, relation_id)
          assoc.source = pmids
          assoc.add_association_to_graph()
  
          if allelic_requirement is not None and is_variant is False:
              model.addTriple(
                  assoc.assoc_id, self.globaltt['has_allelic_requirement'],
                  allelic_requirement)
              if allelic_requirement.startswith(':'):
                  model.addLabel(
                      allelic_requirement,
                      allelic_requirement.strip(':').replace('_', ' '))