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
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: