Ejemplo n.º 1
0
    def test_export_wsp(self):
        wsp_path = "examples/data/8_color_data_set/8_color_ICS.wsp"
        sample_grp = 'DEN'

        # use a leaf gate to test if the new WSP session is created correctly
        gate_name = 'TNFa+'
        gate_path = ('root', 'Time', 'Singlets', 'aAmine-', 'CD3+', 'CD4+')

        fks = Session(copy.deepcopy(test_samples_8c_full_set))
        fks.import_flowjo_workspace(wsp_path, ignore_missing_files=True)

        out_file = BytesIO()
        fks.export_wsp(out_file, sample_grp)
        out_file.seek(0)

        fks_out = Session(copy.deepcopy(test_samples_8c_full_set))
        fks_out.import_flowjo_workspace(out_file, ignore_missing_files=True)

        self.assertIsInstance(fks_out, Session)

        fks_gate = fks.get_gate(sample_grp, gate_name, gate_path)
        fks_out_gate = fks_out.get_gate(sample_grp, gate_name, gate_path)

        self.assertIsInstance(fks_gate, gates.RectangleGate)
        self.assertIsInstance(fks_out_gate, gates.RectangleGate)

        self.assertEqual(fks_gate.gate_name, gate_name)
        self.assertEqual(fks_out_gate.gate_name, gate_name)
Ejemplo n.º 2
0
    def test_load_wsp_single_quad(self):
        wsp_path = "examples/data/simple_diamond_example/simple_diamond_example_quad_gate.wsp"
        fcs_path = "examples/data/simple_diamond_example/test_data_diamond_01.fcs"

        fks = Session(fcs_samples=fcs_path)
        fks.import_flowjo_workspace(wsp_path)

        # FlowJo quadrant gates are not true quadrant gates, rather a collection of rectangle gates
        self.assertIsInstance(
            fks.get_gate('All Samples',
                         'Q1: channel_A- , channel_B+',
                         sample_id='test_data_diamond_01.fcs'),
            gates.RectangleGate)

        fks.analyze_samples(group_name='All Samples')
        results = fks.get_gating_results('All Samples',
                                         'test_data_diamond_01.fcs')

        gate_count_q1 = results.get_gate_count('Q1: channel_A- , channel_B+')
        gate_count_q2 = results.get_gate_count('Q2: channel_A+ , channel_B+')
        gate_count_q3 = results.get_gate_count('Q3: channel_A+ , channel_B-')
        gate_count_q4 = results.get_gate_count('Q4: channel_A- , channel_B-')
        self.assertEqual(gate_count_q1, 49671)
        self.assertEqual(gate_count_q2, 50596)
        self.assertEqual(gate_count_q3, 50330)
        self.assertEqual(gate_count_q4, 49403)
Ejemplo n.º 3
0
    def test_get_gate_from_template(self):
        fks = Session(fcs_samples=data1_sample)
        fks.add_gate(poly1_gate)

        template_gate = fks.get_gate('default', 'Polygon1')

        self.assertEqual(template_gate.gate_name, 'Polygon1')
Ejemplo n.º 4
0
    def test_load_wsp_single_poly(self):
        wsp_path = "examples/simple_line_example/simple_poly_and_rect.wsp"
        fcs_path = "examples/simple_line_example/data_set_simple_line_100.fcs"

        fks = Session(fcs_samples=fcs_path)
        fks.import_flowjo_workspace(wsp_path)

        self.assertIsInstance(
            fks.get_gate('my_group', 'data_set_simple_line_100.fcs', 'poly1'),
            gates.PolygonGate)

        gate_ids = {'rect1', 'poly1'}
        self.assertSetEqual(set(fks.get_gate_ids('my_group')), gate_ids)
Ejemplo n.º 5
0
    def test_get_parent_quadrant_gate(self):
        gml_path = 'examples/gate_ref/gml/gml_parent_quadrant_rect_gate.xml'

        s = Session()
        group_name = 'gml'
        s.add_sample_group(group_name, gating_strategy=gml_path)
        s.add_samples(data1_sample)
        s.assign_sample(data1_sample.original_filename, group_name)
        parent_id = s.get_parent_gate_id(group_name, 'ParRectangle1')

        self.assertEqual(parent_id, 'FL2P-FL4P')

        parent_gate = s.get_gate(group_name, data1_sample.original_filename, parent_id)

        self.assertIsInstance(parent_gate, gates.Quadrant)
Ejemplo n.º 6
0
    def test_load_wsp_single_ellipse(self):
        wsp_path = "examples/simple_line_example/single_ellipse_51_events.wsp"
        fcs_path = "examples/simple_line_example/data_set_simple_line_100.fcs"

        fks = Session(fcs_samples=fcs_path)
        fks.import_flowjo_workspace(wsp_path)

        self.assertIsInstance(
            fks.get_gate('All Samples', 'data_set_simple_line_100.fcs',
                         'ellipse1'), gates.EllipsoidGate)

        fks.analyze_samples(sample_group='All Samples')
        results = fks.get_gating_results('All Samples',
                                         'data_set_simple_line_100.fcs')
        gate_count = results.get_gate_count('ellipse1')
        self.assertEqual(gate_count, 48)
Ejemplo n.º 7
0
    def test_get_parent_rect_gate(self):
        gml_path = 'examples/data/gate_ref/gml/gml_parent_rect1_rect_par1_gate.xml'

        s = Session()
        group_name = 'gml'
        s.add_sample_group(group_name, gating_strategy=gml_path)
        s.add_samples(data1_sample)
        s.assign_samples(data1_sample.original_filename, group_name)
        parent_gate_name = s.get_parent_gate_name(group_name, 'ScalePar1')

        self.assertEqual(parent_gate_name, 'ScaleRect1')

        parent_gate = s.get_gate(group_name,
                                 parent_gate_name,
                                 sample_id=data1_sample.original_filename)

        self.assertIsInstance(parent_gate, gates.RectangleGate)
Ejemplo n.º 8
0
    def test_load_wsp_single_poly(self):
        wsp_path = "examples/data/simple_line_example/simple_poly_and_rect.wsp"
        fcs_path = "examples/data/simple_line_example/data_set_simple_line_100.fcs"

        fks = Session(fcs_samples=fcs_path)
        fks.import_flowjo_workspace(wsp_path)

        self.assertIsInstance(
            fks.get_gate('my_group',
                         'poly1',
                         sample_id='data_set_simple_line_100.fcs'),
            gates.PolygonGate)

        gate_names = {'rect1', 'poly1'}
        wsp_gates_tuple = fks.get_gate_ids('my_group')
        wsp_gate_names = set([g[0] for g in wsp_gates_tuple])
        self.assertSetEqual(wsp_gate_names, gate_names)
Ejemplo n.º 9
0
    def test_wsp_fasinh_transform(self):
        wsp_path = "examples/data/simple_diamond_example/test_data_diamond_asinh_rect.wsp"
        fcs_path = "examples/data/simple_diamond_example/test_data_diamond_01.fcs"

        fks = Session(fcs_samples=fcs_path)
        fks.import_flowjo_workspace(wsp_path)

        self.assertIsInstance(
            fks.get_gate('All Samples',
                         'upper_right',
                         sample_id='test_data_diamond_01.fcs'),
            gates.RectangleGate)

        fks.analyze_samples(group_name='All Samples')
        results = fks.get_gating_results('All Samples',
                                         'test_data_diamond_01.fcs')
        gate_count = results.get_gate_count('upper_right')
        self.assertEqual(gate_count, 50559)