def gene_parser(subparser):
    # create the parser for the "gene" command
    parser_gene = subparser.add_parser(
        "gene", help="Visualize the volcano plot of the gene enrichment analysis"
    )
    parser_gene.add_argument("-i", "--input", help="Input file", required=True)
    parser_gene.add_argument(
        "-o",
        "--output",
        help="Output file (default = 'gene_volcano.html')",
        required=False,
        default="gene_volcano.html",
    )
    parser_gene.add_argument(
        "-c",
        "--config",
        help="Config file generated by `crispr_screen`",
        required=False,
    )
    parser_gene.add_argument(
        "-g",
        "--gene_column",
        help="Column name of gene names (default = 'gene')",
        required=False,
        default="gene",
    )
    parser_gene.add_argument(
        "-f",
        "--fc_column",
        help="Column name of fold change values (default = 'log_fold_change')",
        required=False,
        default="log_fold_change",
    )
    parser_gene.add_argument(
        "-p",
        "--pval_column",
        help="Column name of score column (default = 'pvalue')",
        required=False,
        default="pvalue",
    )
    parser_gene.add_argument(
        "-t",
        "--threshold_column",
        help="Column name of threshold column (default = 'fdr')",
        required=False,
        default="fdr",
    )
    parser_gene.add_argument(
        "-th",
        "--threshold",
        type=float,
        help="Threshold value (default = 0.1)",
        required=False,
        default=0.1,
    )
