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.

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