Read a csv file on differential expression values as Gene objects.

    :param str file_path: The path to the differential expression file to be parsed.
    :param config.Params params: An object that includes paths, cutoffs and other information.
    :return list: A list of Gene objects.

def parse_csv(file_path: str,
              entrez_id_header,
              log_fold_change_header,
              adjusted_p_value_header,
              entrez_delimiter,
              base_mean_header=None,
              sep=",") -> List[Gene]:
    """Read a csv file on differential expression values as Gene objects.

    :param str file_path: The path to the differential expression file to be parsed.
    :param config.Params params: An object that includes paths, cutoffs and other information.
    :return list: A list of Gene objects.
    """
    logger.info("In parse_csv()")

    df = pd.read_csv(file_path, sep=sep)

    return handle_dataframe(
        df,
        entrez_id_name=entrez_id_header,
        log2_fold_change_name=log_fold_change_header,
        adjusted_p_value_name=adjusted_p_value_header,
        entrez_delimiter=entrez_delimiter,
        base_mean=base_mean_header,
    )