docs: def _process_prb_strain_acc_view(self, limit):
          """
          Use this table to create the idmap between
          the internal marker id and the public mgiid.
          Also, add the equivalence statements between strains for MGI and JAX
          Triples:
          <strain_id> a GENO:intrinsic_genotype
          <other_strain_id> a GENO:intrinsic_genotype
          <strain_id> owl:sameAs <other_strain_id>
  
          :param limit:
          :return:
  
          """
  
          # make a pass through the table first,
          # to create the mapping between the external and internal identifiers
          line_counter = 0
          if self.test_mode:
              graph = self.testgraph
          else:
              graph = self.graph
          model = Model(graph)
          LOG.info("mapping strains to internal identifiers")
          raw = '/'.join((self.rawdir, 'prb_strain_acc_view'))
  
          tax_id = self.globaltt["Mus musculus"]
  
          with open(raw, 'r') as fh:
              fh.readline()  # read the header row; skip
              for line in fh:
                  line = line.rstrip("\n")
                  line_counter += 1
                  (accid, prefixpart, logicaldb_key, object_key, preferred) \
                      = line.split('\t')
                  # scrub out the backticks from accids
                  # TODO notify the source upstream
                  accid = re.sub(r'`', '', accid).strip()
                  if self.test_mode is True:
                      if int(object_key) not in self.test_keys.get('strain'):
                          continue
  
                  # get the hashmap of the identifiers
                  if logicaldb_key == '1' and prefixpart == 'MGI:' and preferred == '1':
                      self.idhash['strain'][object_key] = accid
                      model.addIndividualToGraph(accid, None, tax_id)
  
          # The following are the stock centers for the strains
          # (asterisk indicates complete)
          # *1	MGI	    Mouse Genome Informatics
          # *22	JAX Registry	(null)
          # *37	EMMA	European Mutant Mouse Archive
          # *38	MMRRC	Mutant Mouse Regional Resource Center
          # 39	Harwell	Mammalian Genome Unit Stock List
          # *40	ORNL	Oak Ridge National Lab mutant resource
          # *54	NCIMR	NCI Mouse Repository
          # *56	NMICE	Neuromice.org, a consortium of three NIH-sponsored
          #                   mutagenesis projects designed to search for
          #                   neurological mutations
          # 57	CARD	Center for Animal Resources and Development @ Kumamoto U
          # *70	RIKEN BRC	RIKEN BioResource Center
          # *71	CMMR	Canadian Mouse Mutant Resource
          # 84	JPGA	The Center for New Mouse Models of
          #                   Heart, Lung, BLood and Sleep Disorders,
          #                   JAX-PGA at The Jackson Laboratory
          # *87	MUGEN	Network of Excellence in Integrated Functional Genomics
          #                   in Mutant Mouse Models as Tools to Investigate the
          #                   Complexity of Human Immunological Disease
          # *90	APB	    Australian Phenomics Bank
          # ? 91	EMS	    Elizabeth M. Simpson
          # ? 93	NIG 	National Institute of Genetics,
          #                   Mammalian Genetics Laboratory, Japan
          # 94	TAC	    Taconic
          # 154	OBS 	Oriental BioService , Inc.
          # 161	RMRC-NLAC	National Applied Research Laboratories,Taiwan, R.O.C.
  
          # pass through the file again,
          # and make the equivalence statements to a subset of the idspaces
          LOG.info("mapping strain equivalent identifiers")
          line_counter = 0
          with open(raw, 'r') as fh:
              fh.readline()  # read the header row; skip
              for line in fh:
                  line = line.rstrip("\n")
                  line_counter += 1
                  (accid, prefixpart, logicaldb_key, object_key, preferred) \
                      = line.split('\t')
                  # scrub out the backticks from accids
                  # TODO notify the source upstream
                  accid = re.sub(r'`', '', accid).strip()
                  if self.test_mode is True:
                      if int(object_key) not in self.test_keys.get('strain'):
                          continue
                  mgiid = self.idhash['strain'].get(object_key)
                  if mgiid is None:
                      # presumably we've already added the relevant MGI ids,
                      # so skip those that we can't find
                      # LOG.info("can't find mgiid for %s",object_key)
                      continue
                  strain_id = None
                  deprecated = False
                  comment = None
                  if preferred == '1':  # what does it mean if it's 0?
                      if logicaldb_key == '22':  # JAX
                          # scrub out the backticks from accids
                          # TODO notify the source upstream
                          accid = re.sub(r'`', '', accid).strip()
                          strain_id = 'JAX:' + accid
                      elif logicaldb_key == '38':  # MMRRC
                          strain_id = accid
                          if not re.match(r'MMRRC:', strain_id):
                              strain_id = 'MMRRC:'+strain_id
                      elif logicaldb_key == '37':  # EMMA
                          strain_id = re.sub(r'EM:', 'EMMA:', accid)
                      elif logicaldb_key == '90':  # APB
                          strain_id = 'APB:' + accid  # Check
                      elif logicaldb_key == '40':  # ORNL
                          # ORNL is not in existence any more.
                          # these are deprecated, and we will prefix with JAX
                          strain_id = 'JAX:' + accid
                          comment = "Originally from ORNL."
                          deprecated = True
                          # add these as synonyms of the MGI mouse
                          model.addSynonym(mgiid, accid)
  
                      elif logicaldb_key == '54':  # NCIMR
                          strain_id = 'NCIMR:'+accid
                      # CMMR  not great - doesn't resolve well
                      # elif logicaldb_key == '71':
                      #     strain_id = 'CMMR:'+accid
                      elif logicaldb_key == '56':  # neuromice
                          # neuromice.org doesn't exist any more.
                          # but all these are actually MGI ids
                          strain_id = accid
                      elif logicaldb_key == '70':  # RIKEN
                          # like
                          # http://www2.brc.riken.jp/lab/animal/detail.php?brc_no=RBRC00160
                          strain_id = 'RBRC:' + accid
                      elif logicaldb_key == '87':
                          strain_id = 'MUGEN:' + accid
                          # I can't figure out how to get to some of the strains
  
                      # TODO get non-preferred ids==deprecated?
  
                  # TODO make these strains, rather than instance of taxon?
                  if strain_id is not None:
                      model.addIndividualToGraph(strain_id, None, tax_id)
                      if deprecated:
                          model.addDeprecatedIndividual(strain_id, [mgiid])
                          model.addSynonym(mgiid, accid)
                      else:
                          model.addSameIndividual(mgiid, strain_id)
                      if re.match(r'MMRRC', strain_id):
                          model.makeLeader(strain_id)
                      if comment is not None:
                          model.addComment(strain_id, comment)
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          return