Exemplo n.º 1
0
    def setUp(self):
        super().setUp()
        
        stats_plugin = ChannelStatisticPlugin()

        stats_op_3 = stats_plugin.get_operation()
        stats_op_3.name = "MeanByDoxIP2"
        stats_op_3.channel = "B1-A"
        stats_op_3.statistic_name = "Geom.Mean"
        stats_op_3.by = ['Dox', 'IP']
        stats_op_3.subset_list.append(CategorySubset(name = "Well",
                                                     values = ['A', 'B']))
        stats_op_3.subset_list.append(RangeSubset(name = "Dox",
                                                  values = [1.0, 10.0, 100.0]))
        stats_op_3.subset_list.append(RangeSubset(name = "IP",
                                                  values = [1.0, 10.0]))

        stats_wi_3 = WorkflowItem(operation = stats_op_3,
                                  status = "waiting",
                                  view_error = "Not yet plotted")
        self.workflow.workflow.append(stats_wi_3)
        self.workflow.wi_waitfor(stats_wi_3, 'status', 'valid')
        
        stats_op_4 = stats_plugin.get_operation()
        stats_op_4.name = "SDByDoxIP2"
        stats_op_4.channel = "B1-A"
        stats_op_4.statistic_name = "Geom.SD"
        stats_op_4.by = ['Dox', 'IP']
        stats_op_4.subset_list.append(CategorySubset(name = "Well",
                                                     values = ['A', 'B']))
        stats_op_4.subset_list.append(RangeSubset(name = "Dox",
                                                  values = [1.0, 10.0, 100.0]))
        stats_op_4.subset_list.append(RangeSubset(name = "IP",
                                                  values = [1.0, 10.0]))
        
        stats_wi_4 = WorkflowItem(operation = stats_op_4,
                                  status = "waiting",
                                  view_error = "Not yet plotted")
        self.workflow.workflow.append(stats_wi_4)
        self.workflow.wi_waitfor(stats_wi_4, 'status', 'valid')
                
        self.wi = wi = self.workflow.workflow[-1]      

        plugin = Stats2DPlugin()
        self.view = view = plugin.get_view()
        wi.views.append(view)
        wi.current_view = view
        
        super().setUpView()

        self.workflow.selected = wi
Exemplo n.º 2
0
    def setUp(self):
        super().setUp()

        plugin = PolygonPlugin()
        self.op = op = plugin.get_operation()
        op.name = "Poly"
        op.xchannel = "Y2-A"
        op.xscale = "logicle"
        op.ychannel = "V2-A"
        op.yscale = "logicle"
        op.vertices = [(23.411982294776319, 5158.7027015021222), 
                       (102.22182270573683, 23124.0588433874530), 
                       (510.94519955277201, 23124.0588433874530), 
                       (1089.5215641232173, 3800.3424832180476), 
                       (340.56382570202402, 801.98947404942271), 
                       (65.42597937575897, 1119.3133482602157)]
        
        self.wi = wi = WorkflowItem(operation = op,
                                    status = 'waiting',
                                    view_error = "Not yet plotted")

        self.view = view = wi.default_view = op.default_view()
        view.subset_list.append(CategorySubset(name = "Well", values = ["A", "B"]))
        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)
        self.wi.current_view = self.wi.default_view
        
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi
        
        self.workflow.wi_waitfor(self.wi, 'status', 'valid')
Exemplo n.º 3
0
    def setUp(self):
        super().setUp()

        plugin = PCAPlugin()
        self.op = op = plugin.get_operation()
        
        op.name = "PCA"
        op.channels_list = [_Channel(channel = "V2-A", scale = "log"),
                            _Channel(channel = "V2-H", scale = "log"),
                            _Channel(channel = "Y2-A", scale = "log"),
                            _Channel(channel = "Y2-H", scale = "log")]
        op.num_components = 2
                
        op.subset_list.append(CategorySubset(name = "Well",
                                             values = ['A', 'B']))
        op.subset_list.append(RangeSubset(name = "Dox",
                                          values = [0.0, 10.0, 100.0]))
        
        self.wi = wi = WorkflowItem(operation = op,
                                    status = 'waiting',
                                    view_error = "Not yet plotted")
        
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi
        
        # run estimate
        op.do_estimate = True
        self.workflow.wi_waitfor(self.wi, 'status', 'valid')
Exemplo n.º 4
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = FlowPeaksPlugin()
        self.op = op = plugin.get_operation()

        op.name = "FP"
        op.xchannel = "V2-A"
        op.ychannel = "Y2-A"
        op.xscale = "logicle"
        op.yscale = "logicle"
        op.h0 = 0.5

        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op)
        wi.default_view = op.default_view()
        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)

        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        # run estimate
        op.do_estimate = True
        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 120))
Exemplo n.º 5
0
    def setUp(self):
        super().setUp()
        
        stats_plugin = ChannelStatisticPlugin()

        stats_op = stats_plugin.get_operation()
        stats_op.name = "MeanByDoxWell"
        stats_op.channel = "Y2-A"
        stats_op.statistic_name = "Geom.Mean"
        stats_op.by = ['Dox', 'Well']
        stats_op.subset_list.append(CategorySubset(name = "Well",
                                                   values = ['A', 'B']))
        stats_op.subset_list.append(RangeSubset(name = "Dox",
                                                values = [1.0, 10.0, 100.0]))
        stats_op.subset_list.append(RangeSubset(name = "IP",
                                                values = [1.0, 10.0]))

        stats_wi = WorkflowItem(operation = stats_op,
                                  status = "waiting",
                                  view_error = "Not yet plotted")
        self.workflow.workflow.append(stats_wi)
        self.workflow.wi_waitfor(stats_wi, 'status', 'valid')

        self.wi = wi = self.workflow.workflow[-1]
        self.op = self.wi.operation
        self.workflow.selected = wi
Exemplo n.º 6
0
    def setUp(self):
        super().setUp()

        plugin = KMeansPlugin()
        self.op = op = plugin.get_operation()

        op.name = "KM"
        op.xchannel = "V2-A"
        op.ychannel = "Y2-A"
        op.xscale = "logicle"
        op.yscale = "logicle"
        op.num_clusters = 2

        op.subset_list.append(CategorySubset(name="Well", values=['A', 'B']))
        op.subset_list.append(
            RangeSubset(name="Dox", values=[0.0, 10.0, 100.0]))

        self.wi = wi = WorkflowItem(operation=op,
                                    status='waiting',
                                    view_error="Not yet plotted")
        wi.default_view = op.default_view()
        wi.views.append(self.wi.default_view)
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        # run estimate
        op.do_estimate = True
        self.workflow.wi_waitfor(self.wi, 'status', 'valid')
Exemplo n.º 7
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = Range2DPlugin()
        self.op = op = plugin.get_operation()
        op.name = "Range2D"
        op.xchannel = "Y2-A"
        op.xlow = 100
        op.xhigh = 1000
        op.ychannel = "V2-A"
        op.ylow = 1000
        op.yhigh = 10000

        self.wi = wi = WorkflowItem(operation=op)

        self.view = view = wi.default_view = op.default_view()
        view.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)
        self.wi.current_view = self.wi.default_view

        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))
        self.assertTrue(
            wait_for(self.wi, 'status', lambda v: v == 'valid', 130))
Exemplo n.º 8
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = ChannelStatisticPlugin()
        op = plugin.get_operation()

        op.name = "Count"
        op.channel = "Y2-A"
        op.statistic_name = "Count"
        op.by = ['Dox', 'Well']

        wi = WorkflowItem(operation=op)
        self.workflow.workflow.append(wi)
        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 30))

        plugin = TransformStatisticPlugin()
        self.op = op = plugin.get_operation()

        op.name = "Mean"
        op.statistic = ("Count", "Count")
        op.statistic_name = "Count"
        op.by = ["Dox"]
        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op)
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 30))
Exemplo n.º 9
0
    def setUp(self):
        super().setUp()

        plugin = ThresholdPlugin()
        self.op = op = plugin.get_operation()
        op.name = "Thresh"
        op.channel = "Y2-A"
        op.threshold = 1000

        self.wi = wi = WorkflowItem(operation=op,
                                    status='waiting',
                                    view_error="Not yet plotted")

        self.view = view = wi.default_view = op.default_view()
        view.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)
        self.wi.current_view = self.wi.default_view

        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        self.workflow.wi_waitfor(wi, 'view_error', "")
        self.workflow.wi_waitfor(wi, 'status', "valid")
Exemplo n.º 10
0
    def setUp(self):
        super().setUp()

        plugin = ChannelStatisticPlugin()
        op = plugin.get_operation()

        op.name = "Count"
        op.channel = "Y2-A"
        op.statistic_name = "Count"
        op.by = ['Dox', 'Well']

        wi = WorkflowItem(operation=op)
        self.workflow.workflow.append(wi)

        plugin = TransformStatisticPlugin()
        self.op = op = plugin.get_operation()

        op.name = "Mean"
        op.statistic = ("Count", "Count")
        op.statistic_name = "Count"
        op.by = ["Dox"]
        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op,
                                    status='waiting',
                                    view_error="Not yet plotted")
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        self.workflow.wi_waitfor(wi, 'status', "valid")
Exemplo n.º 11
0
    def setUp(self):
        super().setUp()

        plugin = GaussianMixture1DPlugin()
        self.op = op = plugin.get_operation()

        op.name = "Gauss"
        op.channel = "V2-A"
        op.channel_scale = "logicle"
        op.num_components = 2

        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))
        op.subset_list.append(
            RangeSubset(name="Dox", values=[0.0, 10.0, 100.0]))

        self.wi = wi = WorkflowItem(operation=op,
                                    status='waiting',
                                    view_error="Not yet plotted")
        wi.default_view = op.default_view()
        wi.views.append(self.wi.default_view)
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        # run estimate
        op.do_estimate = True
        self.workflow.wi_waitfor(self.wi, 'status', 'valid')
Exemplo n.º 12
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = PCAPlugin()
        self.op = op = plugin.get_operation()

        op.name = "PCA"
        op.channels_list = [
            _Channel(channel="V2-A", scale="log"),
            _Channel(channel="V2-H", scale="log"),
            _Channel(channel="Y2-A", scale="log"),
            _Channel(channel="Y2-H", scale="log")
        ]
        op.num_components = 2

        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op)

        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        # run estimate
        op.do_estimate = True
        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 30))
Exemplo n.º 13
0
    def setUpView(self):
        super().setUpView()

        self.view.subset_list.append(
            CategorySubset(name="Well", values=['A', 'B']))
        self.view.subset_list.append(
            RangeSubset(name="Dox", values=[1.0, 10.0, 100.0]))
Exemplo n.º 14
0
 def testSubset(self):
     self.workflow.wi_sync(self.wi, 'view_error', 'waiting')
     self.view.subset_list.append(CategorySubset(name = "Well",
                                                 values = ['A', 'B']))
     self.view.subset_list.append(RangeSubset(name = "Dox",
                                              values = [0.0, 10.0, 100.0]))
     self.view.subset_list[0].selected = ["A"]
     self.workflow.wi_waitfor(self.wi, 'view_error', '')
Exemplo n.º 15
0
    def testAll(self):

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.xscale = "log"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.yscale = "logicle"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.xfacet = "Dox"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.yfacet = "Well"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.xfacet = "Well"
        self.view.yfacet = "Dox"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.huescale = "log"
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))

        from cytoflowgui.subset import CategorySubset
        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        self.view.xfacet = ""
        self.view.yfacet = ""
        self.view.subset_list.append(
            CategorySubset(name="Well", values=['A', 'B']))
        self.view.subset_list[0].selected = ['A']

        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))
Exemplo n.º 16
0
    def testSubset(self):
        from cytoflowgui.subset import CategorySubset
        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 5))
        self.view.subset_list.append(
            CategorySubset(name="Well", values=['A', 'B']))
        self.view.subset_list[0].selected = ['A']

        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 5))
Exemplo n.º 17
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = ChannelStatisticPlugin()

        op = plugin.get_operation()
        op.name = "MeanByDox"
        op.channel = "Y2-A"
        op.statistic_name = "Geom.SD"
        op.by = ['Dox', 'Well']

        wi = WorkflowItem(operation=op)
        self.workflow.workflow.append(wi)

        op = plugin.get_operation()
        op.name = "MeanByDox"
        op.channel = "Y2-A"
        op.statistic_name = "Geom.Mean"
        op.by = ['Dox', 'Well']
        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op)
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 10))

        plugin = BarChartPlugin()
        self.view = view = plugin.get_view()
        view.statistic = ("MeanByDox", "Geom.Mean")
        view.variable = "Dox"
        view.huefacet = "Well"

        self.workflow.remote_exec("self.workflow[-1].view_error = 'waiting'")
        self.assertTrue(
            wait_for(self.wi, 'view_error', lambda v: v == "waiting", 30))

        wi.views.append(view)
        wi.current_view = view
        self.workflow.selected = wi

        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))
Exemplo n.º 18
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        self.workflow.remote_exec("self.workflow[0].view_error = 'waiting'")
        self.wi = self.workflow.workflow[0]
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "waiting", 5))

        plugin = PolygonPlugin()
        self.op = op = plugin.get_operation()
        op.name = "Poly"
        op.xchannel = "Y2-A"
        op.xscale = "logicle"
        op.ychannel = "V2-A"
        op.yscale = "logicle"
        op.vertices = [(23.411982294776319, 5158.7027015021222), 
                       (102.22182270573683, 23124.058843387455), 
                       (510.94519955277201, 23124.058843387455), 
                       (1089.5215641232173, 3800.3424832180476), 
                       (340.56382570202402, 801.98947404942271), 
                       (65.42597937575897, 1119.3133482602157)]
        
        self.wi = wi = WorkflowItem(operation = op)

        self.view = view = wi.default_view = op.default_view()
        view.subset_list.append(CategorySubset(name = "Well", values = ["A", "B"]))
        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)
        self.wi.current_view = self.wi.default_view
        
        self.workflow.workflow.append(wi)
        self.workflow.selected = wi
        
        self.assertTrue(wait_for(self.wi, 'view_error', lambda v: v == "", 30))
        
        self.workflow.remote_exec("self.workflow[-1].default_view.vertices = [(23.411982294776319, 5158.7027015021222), (102.22182270573683, 23124.058843387455), (510.94519955277201, 23124.058843387455), (1089.5215641232173, 3800.3424832180476), (340.56382570202402, 801.98947404942271), (65.42597937575897, 1119.3133482602157)]")
        
        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 15))
Exemplo n.º 19
0
    def setUp(self):
        ImportedDataTest.setUp(self)

        plugin = GaussianMixture1DPlugin()
        self.op = op = plugin.get_operation()

        op.name = "Gauss"
        op.channel = "V2-A"
        op.channel_scale = "logicle"
        op.num_components = 2

        op.subset_list.append(CategorySubset(name="Well", values=["A", "B"]))

        self.wi = wi = WorkflowItem(operation=op)
        wi.default_view = op.default_view()
        wi.view_error = "Not yet plotted"
        wi.views.append(self.wi.default_view)

        self.workflow.workflow.append(wi)
        self.workflow.selected = wi

        # run estimate
        op.do_estimate = True
        self.assertTrue(wait_for(wi, 'status', lambda v: v == 'valid', 30))
Exemplo n.º 20
0
    def setUp(self):
        super().setUp()

        import_plugin = ImportPlugin()
        import_op = import_plugin.get_operation()

        from cytoflow import Tube

        import_op.conditions = {
            "Dox": "float",
            "IP": "float",
            "Well": "category"
        }

        self.cwd = os.path.dirname(os.path.abspath(__file__))

        tube1 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/CFP_Well_A4.fcs",
                     conditions={
                         "Dox": 1.0,
                         "IP": 1.0,
                         "Well": 'A'
                     })

        tube2 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/RFP_Well_A3.fcs",
                     conditions={
                         "Dox": 1.0,
                         "IP": 10.0,
                         "Well": 'B'
                     })

        tube3 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/YFP_Well_A7.fcs",
                     conditions={
                         "Dox": 10.0,
                         "IP": 1.0,
                         "Well": 'A'
                     })

        tube4 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/CFP_Well_B4.fcs",
                     conditions={
                         "Dox": 10.0,
                         "IP": 10.0,
                         "Well": 'B'
                     })

        tube5 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/RFP_Well_A6.fcs",
                     conditions={
                         "Dox": 100.0,
                         "IP": 1.0,
                         "Well": 'A'
                     })

        tube6 = Tube(file=self.cwd +
                     "/../../cytoflow/tests/data/Plate01/YFP_Well_C7.fcs",
                     conditions={
                         "Dox": 100.0,
                         "IP": 100.0,
                         "Well": 'B'
                     })

        import_op.tubes = [tube1, tube2, tube3, tube4, tube5, tube6]

        wi = WorkflowItem(operation=import_op,
                          status="waiting",
                          view_error="Not yet plotted")
        self.workflow.workflow.append(wi)

        import_op.do_estimate = True
        self.workflow.wi_waitfor(wi, 'status', 'valid')
        self.assertTrue(
            self.workflow.remote_eval("self.workflow[0].result is not None"))

        stats_plugin = ChannelStatisticPlugin()

        stats_op_1 = stats_plugin.get_operation()
        stats_op_1.name = "MeanByDoxIP"
        stats_op_1.channel = "Y2-A"
        stats_op_1.statistic_name = "Geom.Mean"
        stats_op_1.by = ['Dox', 'IP']
        stats_op_1.subset_list.append(
            CategorySubset(name="Well", values=['A', 'B']))
        stats_op_1.subset_list.append(
            RangeSubset(name="Dox", values=[1.0, 10.0, 100.0]))
        stats_op_1.subset_list.append(
            RangeSubset(name="IP", values=[1.0, 10.0]))

        stats_wi_1 = WorkflowItem(operation=stats_op_1,
                                  status="waiting",
                                  view_error="Not yet plotted")
        self.workflow.workflow.append(stats_wi_1)
        self.workflow.wi_waitfor(stats_wi_1, 'status', 'valid')

        stats_op_2 = stats_plugin.get_operation()
        stats_op_2.name = "SDByDoxIP"
        stats_op_2.channel = "Y2-A"
        stats_op_2.statistic_name = "Geom.SD"
        stats_op_2.by = ['Dox', 'IP']
        stats_op_2.subset_list.append(
            CategorySubset(name="Well", values=['A', 'B']))
        stats_op_2.subset_list.append(
            RangeSubset(name="Dox", values=[1.0, 10.0, 100.0]))
        stats_op_2.subset_list.append(
            RangeSubset(name="IP", values=[1.0, 10.0]))

        stats_wi_2 = WorkflowItem(operation=stats_op_2,
                                  status="waiting",
                                  view_error="Not yet plotted")
        self.workflow.workflow.append(stats_wi_2)
        self.workflow.wi_waitfor(stats_wi_2, 'status', 'valid')