def treatment_effect_assessment()

in analysis/download.py [0:0]


def treatment_effect_assessment(df: pd.DataFrame) -> bool:
    """Overall assessment of whether a treatment effect was detected"""
    df_evaluated = df.loc[
        lambda df: ~df["MetricCategories"].str.contains("__Internal__")
        & ~df["TreatmentEffect"].isin(["Zero samples", "Too few samples"])
        & (df["TreatmentStandardErrorNormalized"] > 0)
        & (df["ControlStandardErrorNormalized"] > 0)
        & (df["PValue"] < 1)
        & (df["PValue"] >= 0)
    ]

    pvalues = df_evaluated["PValue"].to_numpy()

    if len(pvalues) > 0:
        pvalue_bh = false_discovery_control(pvalues, method="bh").min()
        return pvalue_bh <= 0.05
    return False