docs: def download_kegg_gene_metadata(gene_id, outdir=None, force_rerun=False):
      """Download the KEGG flatfile for a KEGG ID and return the path.
  
      Args:
          gene_id: KEGG gene ID (with organism code), i.e. "eco:1244"
          outdir: optional output directory of metadata
  
      Returns:
          Path to metadata file
  
      """
      if not outdir:
          outdir = ''
  
      # Replace colon with dash in the KEGG gene ID
      outfile = op.join(outdir, '{}.kegg'.format(custom_slugify(gene_id)))
  
      if ssbio.utils.force_rerun(flag=force_rerun, outfile=outfile):
          raw_text = bs_kegg.get("{}".format(gene_id))
          if raw_text == 404:
              return
  
          with io.open(outfile, mode='wt', encoding='utf-8') as f:
              f.write(raw_text)
  
          log.debug('{}: downloaded KEGG metadata file'.format(outfile))
      else:
          log.debug('{}: KEGG metadata file already exists'.format(outfile))
  
      return outfile