code: def _build_biomart_gene_query(self, taxid, cols_to_fetch):
          
  
          taxid = str(taxid)
          # basic stuff for ensembl ids.
  
          if taxid != '9606':  # drop hgnc column
              cols_to_fetch = [x for x in cols_to_fetch if x != 'hgnc_id']
  
          # LOG.info('Build BMQ with taxon %s and mapping %s', taxid, self.localtt)
  
          query_attributes = {
              "virtualSchemaName": "default", "formatter": "TSV", "header": "0",
              "uniqueRows": "1", "count": "0", "datasetConfigVersion": "0.6"}
  
          qry = etree.Element("Query", query_attributes)
  
          if taxid in self.localtt:
              object_attributes = {"name": self.localtt[taxid], "interface": "default"}
              dataset = etree.SubElement(qry, "Dataset", object_attributes)
              for col in cols_to_fetch:
                  etree.SubElement(dataset, "Attribute", {"name": col})
              # is indent right?
              query = '<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE Query>' \
                  + etree.tostring(qry, encoding="unicode")
          else:
              LOG.warning("not finding taxon  %s in the local translation table", taxid)
              query = None
  
          return query
docs: Building url to fetch equivalent identifiers via Biomart Restful API.
          Documentation at
          http://uswest.ensembl.org/info/data/biomart/biomart_restful.html
          :param taxid:
          :param array of ensembl biomart attributes to include
          :return: