def test_case_sensitive(self): flt = FilterString("name", FilterString.Equal, "Aardvark", case_sensitive=True) self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Equal, "Aardvark", case_sensitive=False) self.assertTrue(flt(self.inst))
def setUpClass(cls): super().setUpClass() cls.data = Table("https://datasets.biolab.si/sc/aml-1k.tab.gz") genes_path = serverfiles.localpath_download( "marker_genes", "panglao_gene_markers.tab") filter_ = FilterString("Organism", FilterString.Equal, "Human") cls.genes = Values([filter_])(Table(genes_path)) cls.iris = Table("iris")
def setUpClass(cls): super().setUpClass() Variable._clear_all_caches() cls._init_data() cls.signal_name = "Reference Data" cls.signal_data = cls.data cls.same_input_output_domain = False genes_path = serverfiles.localpath_download("marker_genes", "panglao_gene_markers.tab") filter_ = FilterString("Organism", FilterString.Equal, "Human") cls.genes = Values([filter_])(Table(genes_path)) cls.genes.attributes[TAX_ID] = "9606"
def test_reprs(self): flid = IsDefined(negate=True) flhc = HasClass() flr = Random() fld = FilterDiscrete(self.attr_disc, None) flsv = SameValue(self.attr_disc, self.value_disc, negate=True) flc = FilterContinuous(self.vs[0], FilterContinuous.Less, 5) flc2 = FilterContinuous(self.vs[1], FilterContinuous.Greater, 3) flv = Values([flc, flc2], conjunction=False, negate=True) flvf = ValueFilter(self.attr_disc) fls = FilterString("name", FilterString.Equal, "Aardvark", case_sensitive=False) flsl = FilterStringList("name", ["Aardvark"], case_sensitive=False) flrx = FilterRegex("name", "^c...$") filters = [flid, flhc, flr, fld, flsv, flc, flv, flvf, fls, flsl, flrx] for f in filters: repr_str = repr(f) new_f = eval(repr_str) self.assertEqual(repr(new_f), repr_str)
def test_operators(self): flt = FilterString("name", FilterString.Equal, "aardvark") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Equal, "bass") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.NotEqual, "bass") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.NotEqual, "aardvark") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Less, "bass") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Less, "aa") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.LessEqual, "bass") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.LessEqual, "aardvark") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.LessEqual, "aa") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Greater, "aa") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Greater, "aardvark") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.GreaterEqual, "aa") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.GreaterEqual, "aardvark") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.GreaterEqual, "bass") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Between, "aa", "aardvark") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Between, "a", "aa") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Outside, "aaz", "bass") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Outside, "aardvark", "bass") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.Contains, "ard") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.Contains, "ra") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.StartsWith, "aar") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.StartsWith, "ard") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.EndsWith, "aardvark") self.assertTrue(flt(self.inst)) flt = FilterString("name", FilterString.EndsWith, "aard") self.assertFalse(flt(self.inst)) flt = FilterString("name", FilterString.IsDefined) self.assertTrue(flt(self.inst)) for s in ["?", "nan"]: self.inst["name"] = s flt = FilterString("name", FilterString.IsDefined) self.assertTrue(flt(self.inst)) self.inst["name"] = "" flt = FilterString("name", FilterString.IsDefined) self.assertFalse(flt(self.inst))
def onDeleteWidget(self): self.shutdown() super().onDeleteWidget() if __name__ == "__main__": from Orange.projection import PCA from orangecontrib.bioinformatics.utils import serverfiles data_path = "https://datasets.orange.biolab.si/sc/aml-1k.tab.gz" table_data = Table(data_path) table_data.attributes[TAX_ID] = "9606" ref_data = table_data[::2] pca = PCA(n_components=2) pca_model = pca(ref_data) proj = pca_model(ref_data) new_dom = Domain( ref_data.domain.attributes, ref_data.domain.class_vars, chain(ref_data.domain.metas, proj.domain.attributes) ) ref_data = ref_data.transform(new_dom) genes_path = serverfiles.localpath_download("marker_genes", "panglao_gene_markers.tab") filter_ = FilterString("Organism", FilterString.Equal, "Human") table_genes = Values([filter_])(Table(genes_path)) table_genes.attributes[TAX_ID] = "9606" WidgetPreview(OWAnnotateProjection).run( set_data=ref_data, set_secondary_data=table_data[1:200:2], set_genes=table_genes )