docs: def _get_identifiers(self, limit):
          """
          This will process the id mapping file provided by Biogrid.
          The file has a very large header, which we scan past,
          then pull the identifiers, and make equivalence axioms
  
          :param limit:
          :return:
  
          """
  
          LOG.info("getting identifier mapping")
          line_counter = 0
          f = '/'.join((self.rawdir, self.files['identifiers']['file']))
          myzip = ZipFile(f, 'r')
          # assume that the first entry is the item
          fname = myzip.namelist()[0]
          foundheader = False
  
          # TODO align this species filter with the one above
          # speciesfilters = 'Homo sapiens,Mus musculus,Drosophila melanogaster,
          # Danio rerio, Caenorhabditis elegans,Xenopus laevis'.split(',')
  
          speciesfilters = 'Homo sapiens,Mus musculus'.split(',')
          with myzip.open(fname, 'r') as csvfile:
              for line in csvfile:
                  # skip header lines
                  if not foundheader:
                      if re.match(r'BIOGRID_ID', line.decode()):
                          foundheader = True
                      continue
  
                  line = line.decode().strip()
                  # BIOGRID_ID
                  # IDENTIFIER_VALUE
                  # IDENTIFIER_TYPE
                  # ORGANISM_OFFICIAL_NAME
                  # 1	814566	ENTREZ_GENE	Arabidopsis thaliana
                  (biogrid_num, id_num, id_type,
                   organism_label) = line.split('\t')
  
                  if self.test_mode:
                      graph = self.testgraph
                      # skip any genes that don't match our test set
                      if int(biogrid_num) not in self.biogrid_ids:
                          continue
                  else:
                      graph = self.graph
  
                  model = Model(graph)
  
                  # for each one of these,
                  # create the node and add equivalent classes
                  biogrid_id = 'BIOGRID:'+biogrid_num
                  prefix = self.localtt[id_type]
  
                  # TODO make these filters available as commandline options
                  # geneidtypefilters='NCBIGene,OMIM,MGI,FlyBase,ZFIN,MGI,HGNC,
                  #                   WormBase,XenBase,ENSEMBL,miRBase'.split(',')
                  geneidtypefilters = 'NCBIGene,MGI,ENSEMBL,ZFIN,HGNC'.split(',')
                  # proteinidtypefilters='HPRD,Swiss-Prot,NCBIProtein'
                  if (speciesfilters is not None) \
                          and (organism_label.strip() in speciesfilters):
                      line_counter += 1
                      if (geneidtypefilters is not None) \
                              and (prefix in geneidtypefilters):
                          mapped_id = ':'.join((prefix, id_num))
                          model.addEquivalentClass(biogrid_id, mapped_id)
                      # this symbol will only get attached to the biogrid class
                      elif id_type == 'OFFICIAL_SYMBOL':
                          model.addClassToGraph(biogrid_id, id_num)
                      # elif (id_type == 'SYNONYM'):
                      #   FIXME - i am not sure these are synonyms, altids?
                      #   gu.addSynonym(g,biogrid_id,id_num)
  
                  if not self.test_mode and limit is not None and line_counter > limit:
                      break
  
          myzip.close()
  
          return