docs: def process_mgi_relationship_transgene_genes(self, limit=None):
          """
          Here, we have the relationship between MGI transgene alleles,
          and the non-mouse gene ids that are part of them.
          We augment the allele with the transgene parts.
  
          :param limit:
          :return:
  
          """
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          LOG.info("getting transgene genes")
          raw = '/'.join((self.rawdir, 'mgi_relationship_transgene_genes'))
          geno = Genotype(graph)
          col = [
              'rel_key', 'allele_key', 'allele_id', 'allele_label', 'category_key',
              'category_name', 'property_key', 'property_name', 'gene_num'
          ]
          with open(raw, 'r', encoding="utf8") as csvfile:
              filereader = csv.reader(csvfile, delimiter='\t', quotechar='\"')
              header = next(filereader)
              if header != col:
                  LOG.error('expected columns:  %s\n\tBut got:\n%s', col, header)
              for row in filereader:
                  # rel_key,
                  allele_key = int(row[col.index('allele_key')])
                  allele_id = row[col.index('allele_id')]
                  # allele_label,
                  # category_key,
                  # category_name,
                  # property_key,
                  # property_name,
                  gene_num = int(row[col.index('gene_num')])
  
                  if self.test_mode and allele_key not in self.test_keys.get('allele')\
                          and gene_num not in self.test_ids:
                      continue
  
                  gene_id = 'NCBIGene:' + str(gene_num)
  
                  # geno.addParts(gene_id, allele_id, self.globaltt['has_variant_part'])
                  seqalt_id = self.idhash['seqalt'].get(allele_key)
                  if seqalt_id is None:
                      seqalt_id = allele_id
                  geno.addSequenceDerivesFrom(seqalt_id, gene_id)
  
                  if not self.test_mode and limit is not None and \
                          filereader.line_num > limit:
                      break
  
          return