docs: def _process_mappings(self, limit=None):
          """
          This function imports linkage mappings of various entities
          to genetic locations in cM or cR.
          Entities include sequence variants, BAC ends, cDNA, ESTs, genes,
          PAC ends, RAPDs, SNPs, SSLPs, and  STSs.
          Status: NEEDS REVIEW
          :param limit:
          :return:
  
          """
  
          LOG.info("Processing chromosome mappings")
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          line_counter = 0
          model = Model(graph)
          geno = Genotype(graph)
          raw = '/'.join((self.rawdir, self.files['mappings']['file']))
  
          taxon_num = '7955'
          taxon_id = 'NCBITaxon:' + taxon_num
          taxon_label = 'Danio rerio'
          # genome_id = geno.makeGenomeID(taxon_id)
          geno.addGenome(taxon_id, taxon_label)
  
          with open(raw, 'r', encoding="iso-8859-1") as csvfile:
              filereader = csv.reader(csvfile, delimiter='\t', quotechar='\"')
              for row in filereader:
                  line_counter += 1
  
                  (zfin_num, symbol, so_id, panel_symbol,
                   chromosome, location, metric
                   # , empty
                  ) = row
  
                  if self.test_mode and zfin_num \
                          not in self.test_ids['gene'] + self.test_ids['allele']:
                      continue
  
                  zfin_id = 'ZFIN:' + zfin_num.strip()
                  if re.match(r'ZDB-GENE.*', zfin_num):
                      # assume type and label get added elsewhere
                      model.addClassToGraph(zfin_id, None)
                      geno.addTaxon(taxon_id, zfin_id)
                  elif re.match(r'ZDB-ALT.*', zfin_num):
                      # assume type and label get added elsewhere
                      model.addIndividualToGraph(zfin_id, None)
                      geno.addTaxon(taxon_id, zfin_id)
                  else:
                      continue
                      # skip any of the others
                  # ZFIN don't catalog non-fish things, thankfully
                  model.makeLeader(zfin_id)
                  # make the chromosome class
                  chr_id = makeChromID(chromosome, taxon_id, 'CHR')
                  # chr_label = makeChromLabel(chromosome, taxon_label)
                  geno.addChromosomeClass(chromosome, taxon_id, taxon_label)
  
                  pinfo = self._get_mapping_panel_info(panel_symbol)
                  panel_label = ' '.join((panel_symbol, pinfo['type'], 'map'))
                  if pinfo is not None:
                      # add the panel as a genome build
                      panel_id = 'ZFIN:' + pinfo['id']
                      geno.addReferenceGenome(panel_id, panel_label, taxon_id)
                      model.addSynonym(panel_id, panel_symbol)
                      model.addDescription(panel_id, pinfo['name'])
  
                      # add the mapping-panel chromosome
                      chr_inst_id = makeChromID(chromosome, panel_id, 'MONARCH')
                      geno.addChromosomeInstance(
                          chromosome, panel_id, panel_label, chr_id)
                      # add the feature to the mapping-panel chromosome
                      feat = Feature(graph, zfin_id, None, None)
                      feat.addSubsequenceOfFeature(chr_inst_id)
                      # TODO add the coordinates see:
                      # https://github.com/JervenBolleman/FALDO/issues/24
                  else:
                      LOG.error(
                          "There's a panel (%s) we don't have info for", panel_symbol)
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          LOG.info("Done with chromosome mappings")
          return