def test_multicore(): an = ANOVA(ic50_test) results = an.anova_all() an2 = ANOVA(ic50_test) results2 = an2.anova_all(multicore=2) all(results.df.fillna(0) == results2.df.fillna(0))
def _analyse_all(self, multicore=None): for gf_filename in sorted(self.gf_filenames): tcga = gf_filename.split("_")[1].split('.')[0] print(purple('======================== Analysing %s data' % tcga)) self.mkdir(self.main_directory + os.sep + tcga) # Computes the ANOVA try: self.ic50 = IC50(self.ic50_filename) except: print("Clustering IC50 (v18 released data ?)") self.ic50 = IC50Cluster(self.ic50_filename, verbose=False) an = ANOVA(self.ic50, gf_filename, self.drug_decode, verbose=False) if self.test is True: an.features.df = an.features.df[an.features.df.columns[0:15]] self.an = an an.settings = ANOVASettings(**self.settings) an.settings.analysis_type = tcga an.init() # This reset the directory results = an.anova_all(multicore=multicore) an.settings.directory = self.main_directory + os.sep + tcga # Store the results self.results[tcga] = results print('Analysing %s data and creating images' % tcga) self.report = ANOVAReport(an) self.report.settings.savefig = True self.report.create_html_pages(onweb=False)
def test_anova_all(): an = ANOVA(ic50_test) # slow, let us cut the features to keep only tenish # this is a trick but would be nice to have this in the API features = an.features.df features = features[features.columns[0:12]] an = ANOVA(ic50_test, features) results = an.anova_all() assert_almost_equal( results.df['ANOVA_FEATURE_FDR'].sum(), 10312.23061065521, 6) an2 = ANOVA(ic50_test, features, set_media_factor=True) results = an2.anova_all() assert_almost_equal( results.df['ANOVA_FEATURE_FDR'].sum(), 10238.529313503008, 6)
def test_anova_all(): an = ANOVA(ic50_test) # slow, let us cut the features to keep only tenish # this is a trick but would be nice to have this in the API features = an.features.df features = features[features.columns[0:12]] an = ANOVA(ic50_test, features) results = an.anova_all() assert_almost_equal(results.df['ANOVA_FEATURE_FDR'].sum(), 10312.23061065521, 6) an2 = ANOVA(ic50_test, features, set_media_factor=True) results = an2.anova_all() assert_almost_equal(results.df['ANOVA_FEATURE_FDR'].sum(), 10238.529313503008, 6)
def test_anova_all(): an = ANOVA(ic50_test) # slow, let us cut the features to keep only ten-ish values # this is a trick but would be nice to have this in the API features = an.features.df features = features[features.columns[0:12]] an = ANOVA(ic50_test, features) results = an.anova_all() results # test __repr__ results.volcano() results.barplot_effect_size() assert_almost_equal(results.df["ANOVA_FEATURE_FDR"].sum(), 10312.23061065521, delta=1e-6) an2 = ANOVA(ic50_test, features, set_media_factor=True) results = an2.anova_all() assert_almost_equal(results.df["ANOVA_FEATURE_FDR"].sum(), 10238.529313503008, delta=1e-6)
def test_html(): # same as above, could factorise an = ANOVA(ic50_test) features = an.features.df features = features[features.columns[0:30]] an = ANOVA(ic50_test, features) #an.settings.include_media_factor = False results = an.anova_all() assert len(results.df) == 302 r = ANOVAReport(gdsc=an, results=results) assert len(r.get_significant_set()) == 3 # long but should cover everthinh. try: r.create_html_pages() except Exception as err: raise err finally: import shutil shutil.rmtree('html_gdsc_anova')
def _analyse_all(self): for gf_filename in sorted(self.gf_filenames): tcga = gf_filename.split("_")[1].split('.')[0] print('================================ Analysing %s data' % tcga) self.mkdir('ALL' + os.sep + tcga) # Computes the ANOVA an = ANOVA(self.ic50_filename, gf_filename, self.drug_decode) self.an = an an.settings = ANOVASettings(**self.settings) an.init() # reset the analysis_type automatically results = an.anova_all() # Store the results self.results[tcga] = results print('Analysing %s data and creating images' % tcga) self.report = ANOVAReport(an, self.results[tcga]) self.report.settings.savefig = True self.report.settings.directory = 'ALL/' + tcga self.report.settings.analysis_type = tcga self.report.create_html_pages()