docs: def get_argument_parser():
      """Function to obtain the argument parser.
  
      Parameters
      ----------
  
      Returns
      -------
      `argparse.ArgumentParser`
          A fully configured `argparse.ArgumentParser` object.
  
      Notes
      -----
      This function can also be used by the `sphinx-argparse` extension for
      sphinx to generate documentation for this script.
      """
      desc = 'Convert Entrez IDs to gene symbols.'
      parser = cli.get_argument_parser(desc=desc)
  
      file_mv = cli.file_mv
  
      g = parser.add_argument_group('Input and output files')
  
      g.add_argument('-e', '--expression-file', required=True,
                     type=cli.str_type, metavar=file_mv,
                     help='The expression file.')
  
      g.add_argument('-g', '--gene-file', required=True,
                     type=cli.str_type, metavar=file_mv,
                     help=textwrap.dedent('''\
                     The gene file (e.g., generated by the
                     ensembl_extract_protein_coding_genes.py script).'''))
  
      g.add_argument('-c', '--entrez2gene-file', required=True,
                     type=cli.str_type, metavar=file_mv,
                     help=textwrap.dedent('''\
                     The entrez2gene file (.e.g., generated by the
                     ncbi_extract_entrez2gene.py script).'''))
  
      g.add_argument('-o', '--output-file', required=True,
                     type=cli.str_type, metavar=file_mv,
                     help='The output file.')
  
      g = parser.add_argument_group('Conversion options')
  
      g.add_argument('-s', '--strip-affy-suffix', action='store_true',
                     help=textwrap.dedent('''\
                     Strip the suffix "_at" from all Entrez IDs.
                     (For use in affymetrix microarray pipeline.)'''))
  
      cli.add_reporting_args(parser)
  
      return parser