Beispiel #1
0
def test_anova_summary():
    an = ANOVA(ic50_test)
    # by default  regression includes + msi + feature
    drug_id = 999
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')

    x = an.anova_pvalues
    x = [x["tissue"], x["msi"], x["feature"]]
    y = [3.210453608523738e-06, 0.14579091345305398, 0.5430736275249095]
    assert_list_almost_equal(x, y, deltas=1e-10)

    an.settings.analysis_type = 'COREAD'  # something different from PANCAN
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = an.anova_pvalues
    x = [x["msi"], x["feature"]]
    y = [0.262294448831941, 0.30599483315087317]
    assert_list_almost_equal(x, y, deltas=1e-10)

    # now remove also the MSI factor, in which case the tissue must also be
    # removed !
    an.settings.include_MSI_factor = False
    an.settings.analysis_type = "COREAD"
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = [an.anova_pvalues["feature"]]
    y = [0.21266050833611852]
    assert_list_almost_equal(x, y, deltas=1e-10)

    assert (df.N_FEATURE_neg == 365).all()
Beispiel #2
0
def test_anova_summary():
    an = ANOVA(ic50_test)
    # by default  regression includes + msi + feature
    drug_id = 999
    df = an.anova_one_drug_one_feature(drug_id, "ASH1L_mut")

    x = an.anova_pvalues
    x = [x["tissue"], x["msi"], x["feature"]]
    y = [3.210453608523738e-06, 0.14579091345305398, 0.5430736275249095]
    assert_list_almost_equal(x, y, deltas=1e-10)

    an.settings.analysis_type = "COREAD"  # something different from PANCAN
    df = an.anova_one_drug_one_feature(drug_id, "ASH1L_mut")
    x = an.anova_pvalues
    x = [x["msi"], x["feature"]]
    y = [0.262294448831941, 0.30599483315087317]
    assert_list_almost_equal(x, y, deltas=1e-10)

    # now remove also the MSI factor, in which case the tissue must also be
    # removed !
    an.settings.include_MSI_factor = False
    an.settings.analysis_type = "COREAD"
    df = an.anova_one_drug_one_feature(drug_id, "ASH1L_mut")
    x = [an.anova_pvalues["feature"]]
    y = [0.21266050833611852]
    assert_list_almost_equal(x, y, deltas=1e-10)

    assert (df.N_FEATURE_neg == 365).all()
def test_anova_summary():
    an = ANOVA(ic50_test)
    # by default  regression includes + msi + feature
    drug_id = 'Drug_999_IC50'

    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')

    x = an.anova_pvalues
    y = [3.210453608523738e-06, 0.14579091345305398, 0.5430736275249095, None]
    assert_list_almost_equal(x, y)

    
    an.settings.analysis_type = 'COREAD' # something different from PANCAN
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = an.anova_pvalues
    y = [0.262294448831941, 0.30599483315087317, None]
    assert_list_almost_equal(x, y)

    # now remove also the MSI factor
    an.settings.include_MSI_factor = False
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = an.anova_pvalues
    y = [0.21266050833611852, None]
    assert_list_almost_equal(x, y)

    assert (df.N_FEATURE_neg == 365).all()
Beispiel #4
0
def test_anova_summary():
    an = ANOVA(ic50_test)
    # by default  regression includes + msi + feature
    drug_id = 'Drug_999_IC50'

    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')

    x = an.anova_pvalues
    y = [3.210453608523738e-06, 0.14579091345305398, 0.5430736275249095, None]
    assert_list_almost_equal(x, y)

    an.settings.analysis_type = 'COREAD'  # something different from PANCAN
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = an.anova_pvalues
    y = [0.262294448831941, 0.30599483315087317, None]
    assert_list_almost_equal(x, y)

    # now remove also the MSI factor
    an.settings.include_MSI_factor = False
    df = an.anova_one_drug_one_feature(drug_id, 'ASH1L_mut')
    x = an.anova_pvalues
    y = [0.21266050833611852, None]
    assert_list_almost_equal(x, y)

    assert (df.N_FEATURE_neg == 365).all()
def test_odof_with_without_media():

    gdsc = ANOVA(ic50_test)
    _res = gdsc.anova_one_drug_one_feature('Drug_1047_IC50', 'TP53_mut')
    dd1 = gdsc._get_anova_summary(gdsc.data_lm, output='dict')
    assert_list_almost_equal([dd1['feature'], dd1['msi'], dd1['tissue']], 
        [1.5750735472022118e-58,  0.025902887791637515, 
            5.541879283763767e-44])

    gdsc = ANOVA(ic50_test, set_media_factor=True)
    _res = gdsc.anova_one_drug_one_feature('Drug_1047_IC50', 'TP53_mut')
    dd2 = gdsc._get_anova_summary(gdsc.data_lm, output='dict')
    assert_list_almost_equal([dd2['feature'], dd2['media'], dd2['msi'],
    dd2['tissue']], [ 2.9236500715529455e-58, 0.7762487502315283,
         0.023777744527686766, 1.5729157319290974e-44])
def test_anova_one_drug_one_feature():

    an = ANOVA(ic50_test)

    # test 1 drug
    drug_id = 'Drug_999_IC50'
    df = an.anova_one_drug_one_feature(
        drug_id=drug_id,
        feature_name='ABCB1_mut', show=True)

    control = {'DRUG_ID': {1: drug_id},
        'DRUG_NAME': {1: drug_id},
        'DRUG_TARGET': {1: drug_id},
        'FEATURE': {1: 'ABCB1_mut'},
        'ANOVA_FEATURE_pval': {1: 0.86842684367357359},
        'FEATURE_IC50_T_pval': {1: 0.48586107208790896},
        'FEATURE_IC50_effect_size': {1: 0.31407773405409201},
        'FEATURE_delta_MEAN_IC50': {1: -0.36105662590553411},
        'FEATUREneg_Glass_delta': {1: 0.31296252976074801},
        'FEATUREneg_IC50_sd': {1: 1.1536736560173895},
        'FEATUREneg_logIC50_MEAN': {1: 2.8007757068403043},
        'FEATUREpos_Glass_delta': {1: 0.53754504818376181},
        'FEATUREpos_IC50_sd': {1: 0.67167696386648634},
        'FEATUREpos_logIC50_MEAN': {1: 2.4397190809347702},
        'ANOVA_MSI_pval': {1: 0.14598946672374763},
        'N_FEATURE_neg': {1: 370},
        'N_FEATURE_pos': {1: 5},
        'ANOVA_TISSUE_pval': {1: 3.2808255732569986e-06}}
    control = pd.DataFrame(control)

    assert_list_almost_equal(df,control)
Beispiel #7
0
def test_compare_formula_vs_gdsc():
    # TISSUE + MSI + feature
    an = ANOVA(ic50_test)
    drug_id = 999
    df1 = an.anova_one_drug_one_feature(drug_id=drug_id, feature_name="ABCB1_mut")
    an.settings.regression_formula = "Y ~ C(tissue) + C(msi) + feature"
    df2 = an.anova_one_drug_one_feature(drug_id=drug_id, feature_name="ABCB1_mut")

    assert all(df1.fillna(1).values[0] == df2.fillna(1).values[0])

    # MSI + feature only
    an = ANOVA(ic50_test)
    an.settings.analysis_type = "breast"
    df1 = an.anova_one_drug_one_feature(drug_id=drug_id, feature_name="ABCB1_mut")
    an.settings.regression_formula = "Y ~ C(msi) + feature"
    df2 = an.anova_one_drug_one_feature(an.drugIds[2], an.feature_names[0])
    assert all(df1.fillna(1) == df2.fillna(1))
Beispiel #8
0
def test_odof_with_without_media():

    gdsc = ANOVA(ic50_test)
    _res = gdsc.anova_one_drug_one_feature('Drug_1047_IC50', 'TP53_mut')
    dd1 = gdsc._get_anova_summary(gdsc.data_lm, output='dict')
    assert_list_almost_equal(
        [dd1['feature'], dd1['msi'], dd1['tissue']],
        [1.5750735472022118e-58, 0.025902887791637515, 5.541879283763767e-44])

    gdsc = ANOVA(ic50_test, set_media_factor=True)
    _res = gdsc.anova_one_drug_one_feature('Drug_1047_IC50', 'TP53_mut')
    dd2 = gdsc._get_anova_summary(gdsc.data_lm, output='dict')
    assert_list_almost_equal(
        [dd2['feature'], dd2['media'], dd2['msi'], dd2['tissue']], [
            2.9236500715529455e-58, 0.7762487502315283, 0.023777744527686766,
            1.5729157319290974e-44
        ])
Beispiel #9
0
def test_compare_formula_vs_gdsc():
    # TISSUE + MSI + feature
    an = ANOVA(ic50_test)
    drug_id = 999
    df1 = an.anova_one_drug_one_feature(drug_id=drug_id,
                                        feature_name='ABCB1_mut')
    an.settings.regression_formula = "Y ~ C(tissue) + C(msi) + feature"
    df2 = an.anova_one_drug_one_feature(drug_id=drug_id,
                                        feature_name='ABCB1_mut')

    assert all(df1.fillna(1).values[0] == df2.fillna(1).values[0])

    # MSI + feature only
    an = ANOVA(ic50_test)
    an.settings.analysis_type = "breast"
    df1 = an.anova_one_drug_one_feature(drug_id=drug_id,
                                        feature_name='ABCB1_mut')
    an.settings.regression_formula = "Y ~ C(msi) + feature"
    df2 = an.anova_one_drug_one_feature(an.drugIds[2], an.feature_names[0])
    assert all(df1.fillna(1) == df2.fillna(1))
Beispiel #10
0
def test_odof_with_without_media():

    gdsc = ANOVA(ic50_test)
    _res = gdsc.anova_one_drug_one_feature(1047, 'TP53_mut')
    odof = gdsc._get_one_drug_one_feature_data(1047, 'TP53_mut')
    dd1 = gdsc._get_anova_summary(gdsc.data_lm, output='dict', odof=odof)

    assert_almost_equal(dd1['feature'] - 1.5750735472022118e-58, delta=1e-64)
    assert_almost_equal(dd1['msi'] - 0.025902887791637515, delta=1e-10)

    # Change in Nov 2016
    #assert_almost_equal(dd1['tissue'], 5.541879283763767e-44, delta=1e-50)
    assert_almost_equal(dd1['tissue'] - 1.0258702741509e-44, delta=1e-50)

    gdsc = ANOVA(ic50_test, set_media_factor=True)
    _res = gdsc.anova_one_drug_one_feature(1047, 'TP53_mut')
    odof = gdsc._get_one_drug_one_feature_data(1047, 'TP53_mut')
    dd2 = gdsc._get_anova_summary(gdsc.data_lm, output='dict', odof=odof)

    assert_almost_equal(dd2['feature'] - 2.9236500715529455e-58, delta=1e-64)
    assert_almost_equal(dd2['media'] - 0.7762487502315283, delta=1e-10)
    assert_almost_equal(dd2['msi'] - 0.023777744527686766, delta=1e-10)
    assert_almost_equal(dd2['tissue'] - 1.5729157319290974e-44, delta=1e-50)
Beispiel #11
0
def test_odof_with_without_media():

    gdsc = ANOVA(ic50_test)
    _res = gdsc.anova_one_drug_one_feature(1047, "TP53_mut")
    odof = gdsc._get_one_drug_one_feature_data(1047, "TP53_mut")
    dd1 = gdsc._get_anova_summary(gdsc.data_lm, output="dict", odof=odof)

    assert_almost_equal(dd1["feature"], 1.5750735472022118e-58, delta=1e-64)
    assert_almost_equal(dd1["msi"], 0.025902887791637515, delta=1e-10)

    # Change in Nov 2016
    # assert_almost_equal(dd1['tissue'], 5.541879283763767e-44, delta=1e-50)
    assert_almost_equal(dd1["tissue"], 1.0258702741509e-44, delta=1e-50)

    gdsc = ANOVA(ic50_test, set_media_factor=True)
    _res = gdsc.anova_one_drug_one_feature(1047, "TP53_mut")
    odof = gdsc._get_one_drug_one_feature_data(1047, "TP53_mut")
    dd2 = gdsc._get_anova_summary(gdsc.data_lm, output="dict", odof=odof)

    assert_almost_equal(dd2["feature"], 2.9236500715529455e-58, delta=1e-64)
    assert_almost_equal(dd2["media"], 0.7762487502315283, delta=1e-10)
    assert_almost_equal(dd2["msi"], 0.023777744527686766, delta=1e-10)
    assert_almost_equal(dd2["tissue"], 1.5729157319290974e-44, delta=1e-50)
Beispiel #12
0
def test_anova_one_drug_one_feature():

    an = ANOVA(ic50_test)
    # test 1 drug
    drug_id = 999
    df = an.anova_one_drug_one_feature(drug_id=drug_id, feature_name="ABCB1_mut", show=True)
    df["DRUG_ID"] = drug_id
    df["DRUG_NAME"] = drug_id
    df["DRUG_TARGET"] = drug_id
    df["ANOVA_MEDIA_pval"] = -1

    control = {
        "DRUG_ID": {1: drug_id},
        "DRUG_NAME": {1: drug_id},
        "DRUG_TARGET": {1: drug_id},
        "FEATURE": {1: "ABCB1_mut"},
        "ANOVA_FEATURE_pval": {1: 0.86842684367357359},
        "FEATURE_IC50_T_pval": {1: 0.48586107208790896},
        "FEATURE_IC50_effect_size": {1: 0.31407773405409201},
        "FEATURE_delta_MEAN_IC50": {1: -0.36105662590553411},
        #        'FEATUREneg_Glass_delta': {1: 0.31296252976074801},
        #        'FEATUREneg_IC50_sd': {1: 1.1536736560173895},
        "FEATUREneg_logIC50_MEAN": {1: 2.8007757068403043},
        #        'FEATUREpos_Glass_delta': {1: 0.53754504818376181},
        #        'FEATUREpos_IC50_sd': {1: 0.67167696386648634},
        "FEATUREpos_logIC50_MEAN": {1: 2.4397190809347702},
        "ANOVA_MSI_pval": {1: 0.14598946672374763},
        "N_FEATURE_neg": {1: 370},
        "N_FEATURE_pos": {1: 5},
        "ANOVA_MEDIA_pval": {1: -1},
        "ANOVA_TISSUE_pval": {1: 3.2808255732569986e-06},
    }
    control = pd.DataFrame(control)
    for this in control.columns:
        if this in ["FEATURE_delta_MEAN_IC50", "FEATUREneg_logIC50_MEAN", "FEATUREpos_logIC50_MEAN"]:
            pass
        else:
            assert_almost_equal(df[this].values[0], control[this].values[0])
Beispiel #13
0
def test_anova_one_drug_one_feature():

    an = ANOVA(ic50_test)
    # test 1 drug
    drug_id = 999
    df = an.anova_one_drug_one_feature(drug_id=drug_id,
                                       feature_name='ABCB1_mut',
                                       show=True)
    df['DRUG_ID'] = drug_id
    df['DRUG_NAME'] = drug_id
    df['DRUG_TARGET'] = drug_id
    df['ANOVA_MEDIA_pval'] = -1

    control = {
        'DRUG_ID': {
            1: drug_id
        },
        'DRUG_NAME': {
            1: drug_id
        },
        'DRUG_TARGET': {
            1: drug_id
        },
        'FEATURE': {
            1: 'ABCB1_mut'
        },
        'ANOVA_FEATURE_pval': {
            1: 0.86842684367357359
        },
        'FEATURE_IC50_T_pval': {
            1: 0.48586107208790896
        },
        'FEATURE_IC50_effect_size': {
            1: 0.31407773405409201
        },
        'FEATURE_delta_MEAN_IC50': {
            1: -0.36105662590553411
        },
        #        'FEATUREneg_Glass_delta': {1: 0.31296252976074801},
        #        'FEATUREneg_IC50_sd': {1: 1.1536736560173895},
        'FEATUREneg_logIC50_MEAN': {
            1: 2.8007757068403043
        },
        #        'FEATUREpos_Glass_delta': {1: 0.53754504818376181},
        #        'FEATUREpos_IC50_sd': {1: 0.67167696386648634},
        'FEATUREpos_logIC50_MEAN': {
            1: 2.4397190809347702
        },
        'ANOVA_MSI_pval': {
            1: 0.14598946672374763
        },
        'N_FEATURE_neg': {
            1: 370
        },
        'N_FEATURE_pos': {
            1: 5
        },
        'ANOVA_MEDIA_pval': {
            1: -1
        },
        'ANOVA_TISSUE_pval': {
            1: 3.2808255732569986e-06
        }
    }
    control = pd.DataFrame(control)
    for this in control.columns:
        if this in [
                "FEATURE_delta_MEAN_IC50", "FEATUREneg_logIC50_MEAN",
                "FEATUREpos_logIC50_MEAN"
        ]:
            pass
        else:
            assert_almost_equal(df[this].values[0], control[this].values[0])