Create the significant pathways pandas.DataFrame.
    Given the p-values corresponding to each pathway in a feature,
    apply the FDR correction for multiple testing and remove those that
    do not have a q-value of less than `alpha`.

def _significant_pathways_dataframe(pvalue_information,
                                    side_information,
                                    alpha):
    """Create the significant pathways pandas.DataFrame.
    Given the p-values corresponding to each pathway in a feature,
    apply the FDR correction for multiple testing and remove those that
    do not have a q-value of less than `alpha`.
    """
    significant_pathways = pd.concat(
        [pvalue_information, side_information], axis=1)
    # fdr_bh: false discovery rate, Benjamini & Hochberg (1995, 2000)
    below_alpha, qvalues, _, _ = multipletests(
        significant_pathways["p-value"], alpha=alpha, method="fdr_bh")
    below_alpha = pd.Series(
        below_alpha, index=pvalue_information.index, name="pass")
    qvalues = pd.Series(
        qvalues, index=pvalue_information.index, name="q-value")
    significant_pathways = pd.concat(
        [significant_pathways, below_alpha, qvalues], axis=1)
    significant_pathways = significant_pathways[significant_pathways["pass"]]
    significant_pathways.drop("pass", axis=1, inplace=True)
    significant_pathways.loc[:, "pathway"] = significant_pathways.index
    return significant_pathways