示例#1
0
    def test_channel_naming_manual(self):
        """ Checks that channel names correspond to manual setting """
        pnn_names = ['Time', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
        'SSC-A', 'SSC-H', 'SSC-W', 'FL2-A', 'FL2-H', 'FL2-W', 'FL4-A',
        'FL4-H', 'FL4-W', 'FL7-A', 'FL7-H', 'FL7-W']
        pns_names = ['HDR-T', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
                'SSC-A', 'SSC-H', 'SSC-W', 'V2-A', 'V2-H', 'V2-W', 'Y2-A',
                'Y2-H', 'Y2-W', 'B1-A', 'B1-H', 'B1-W']

        path = additional_files['test_channel_naming']
        meta = parse_fcs(path, meta_data_only=True,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)
        self.assertTrue(list(data.columns.values) == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnS')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pns_names)
        self.assertTrue(list(data.columns.values) == pns_names)
    def test_speed_of_reading_fcs_files(self):
        """ Testing the speed of loading a FCS files"""
        fname = file_formats['mq fcs 3.1']
        number = 1000

        time = timeit.timeit(lambda: parse_fcs(fname,
                                               meta_data_only=True,
                                               output_format='DataFrame',
                                               reformat_meta=False),
                             number=number)
        print(
            "Loading fcs file {0} times with meta_data only without reformatting of meta "
            "takes {1} per loop".format(time / number, number))

        time = timeit.timeit(lambda: parse_fcs(fname,
                                               meta_data_only=True,
                                               output_format='DataFrame',
                                               reformat_meta=True),
                             number=number)
        print(
            "Loading fcs file {0} times with meta_data only with reformatting of meta takes "
            "{1} per loop".format(time / number, number))

        time = timeit.timeit(lambda: parse_fcs(fname,
                                               meta_data_only=False,
                                               output_format='DataFrame',
                                               reformat_meta=False),
                             number=number)

        print(
            "Loading fcs file {0} times both meta and data but without reformatting of meta "
            "takes {1} per loop".format(time / number, number))
 def test_fcs_reader_API(self):
     """
     Makes sure that the API remains consistent.
     """
     print('\n')
     for fname in file_formats.values():
         print('Running file {0}'.format(fname))
         meta = parse_fcs(fname, meta_data_only=True)
         meta, data_pandas = parse_fcs(fname,
                                       meta_data_only=False,
                                       output_format='DataFrame')
         meta, data_pandas = parse_fcs(fname,
                                       meta_data_only=False,
                                       output_format='DataFrame',
                                       reformat_meta=True)
         meta, data_numpy = parse_fcs(fname,
                                      meta_data_only=False,
                                      output_format='ndarray',
                                      reformat_meta=False)
         meta, data_numpy = parse_fcs(fname,
                                      meta_data_only=False,
                                      output_format='ndarray',
                                      reformat_meta=True)
         self.assertTrue(meta['_channel_names_'])
         self.assertTrue(len(meta['_channel_names_']) != 0)
示例#4
0
    def test_speed_of_reading_fcs_files(self):
        """Test the speed of loading a FCS files"""
        file_path = FILE_IDENTIFIER_TO_PATH['mq fcs 3.1']
        number = 1000

        time = timeit.timeit(lambda: parse_fcs(
            file_path, meta_data_only=True, reformat_meta=False),
                             number=number)

        print(
            'Loading fcs file {0} times with meta_data only without reformatting of '
            'meta takes {1} per loop'.format(time / number, number))

        time = timeit.timeit(lambda: parse_fcs(
            file_path, meta_data_only=True, reformat_meta=True),
                             number=number)
        print(
            'Loading fcs file {0} times with meta_data only with reformatting of '
            'meta takes {1} per loop'.format(time / number, number))

        time = timeit.timeit(lambda: parse_fcs(
            file_path, meta_data_only=False, reformat_meta=False),
                             number=number)

        print(
            'Loading fcs file {0} times both meta and data but without reformatting of '
            'meta takes {1} per loop'.format(time / number, number))
    def test_channel_naming_manual(self):
        """ Checks that channel names correspond to manual setting """
        pnn_names = ['Time', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
        'SSC-A', 'SSC-H', 'SSC-W', 'FL2-A', 'FL2-H', 'FL2-W', 'FL4-A',
        'FL4-H', 'FL4-W', 'FL7-A', 'FL7-H', 'FL7-W']
        pns_names = ['HDR-T', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
                'SSC-A', 'SSC-H', 'SSC-W', 'V2-A', 'V2-H', 'V2-W', 'Y2-A',
                'Y2-H', 'Y2-W', 'B1-A', 'B1-H', 'B1-W']

        path = os.path.join(base_path, 'data', 'FlowCytometers', 'MiltenyiBiotec', 'FCS3.1', 'EY_2013-07-19_PBS_FCS_3.1_Well_A1.001.fcs')
        meta = parse_fcs(path, meta_data_only=True,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)
        self.assertTrue(list(data.columns.values) == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnS')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pns_names)
        self.assertTrue(list(data.columns.values) == pns_names)
示例#6
0
    def test_channel_naming_manual(self):
        """ Checks that channel names correspond to manual setting """
        pnn_names = ['Time', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
        'SSC-A', 'SSC-H', 'SSC-W', 'FL2-A', 'FL2-H', 'FL2-W', 'FL4-A',
        'FL4-H', 'FL4-W', 'FL7-A', 'FL7-H', 'FL7-W']
        pns_names = ['HDR-T', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
                'SSC-A', 'SSC-H', 'SSC-W', 'V2-A', 'V2-H', 'V2-W', 'Y2-A',
                'Y2-H', 'Y2-W', 'B1-A', 'B1-H', 'B1-W']

        path = additional_files['test_channel_naming']
        meta = parse_fcs(path, meta_data_only=True,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)
        self.assertTrue(list(data.columns.values) == pnn_names)

        #---  Test with data

        meta, data = parse_fcs(path, meta_data_only=False,
                reformat_meta=True, channel_naming='$PnS')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pns_names)
        self.assertTrue(list(data.columns.values) == pns_names)
示例#7
0
    def test_reading_corrupted_fcs_file(self):
        """Raise exception when reading a corrupted fcs file."""
        file_path = ADDITIONAL_FILE_MAPPING['corrupted_file']

        # This is raising the wrong error unfortunately. (Should raise a ParseError.)
        # Will require major version bump to fix API.
        with self.assertRaises(ValueError):
            parse_fcs(file_path)
示例#8
0
 def test_fcs_reader_API(self):
     """Make sure that the API remains consistent."""
     for fname in FILE_IDENTIFIER_TO_PATH.values():
         print('Running file {0}'.format(fname))
         # Invoke the parser in multiple ways to make sure that all invocations run successfully.
         # This is a shallow test that only verifies consistency.
         meta = parse_fcs(fname, meta_data_only=True)
         meta, data_pandas = parse_fcs(fname, meta_data_only=False)
         meta, data_pandas = parse_fcs(fname,
                                       meta_data_only=False,
                                       reformat_meta=True)
         self.assertIsInstance(meta['_channel_names_'], tuple)
         self.assertGreater(len(meta['_channel_names_']), 0)
 def test_fcs_reader_API(self):
     """
     Makes sure that the API remains consistent.
     """
     print '\n'
     for fname in file_formats.values():
         print 'Running file {0}'.format(fname)
         meta = parse_fcs(fname, meta_data_only=True)
         meta, data_pandas = parse_fcs(fname, meta_data_only=False, output_format='DataFrame')
         meta, data_pandas = parse_fcs(fname, meta_data_only=False, output_format='DataFrame', reformat_meta=True)
         meta, data_numpy  = parse_fcs(fname, meta_data_only=False, output_format='ndarray', reformat_meta=False)
         meta, data_numpy  = parse_fcs(fname, meta_data_only=False, output_format='ndarray', reformat_meta=True)
         self.assertTrue(meta['_channel_names_'])
         self.assertTrue(len(meta['_channel_names_']) != 0)
    def test_speed_of_reading_fcs_files(self):
        """ Testing the speed of loading a FCS files"""
        fname = file_formats['mq fcs 3.1']
        number = 1000

        print

        time = timeit.timeit(lambda : parse_fcs(fname, meta_data_only=True, output_format='DataFrame', reformat_meta=False), number=number)
        print "Loading fcs file {0} times with meta_data only without reformatting of meta takes {1} per loop".format(time/number, number)

        time = timeit.timeit(lambda : parse_fcs(fname, meta_data_only=True, output_format='DataFrame', reformat_meta=True), number=number)
        print "Loading fcs file {0} times with meta_data only with reformatting of meta takes {1} per loop".format(time/number, number)

        time = timeit.timeit(lambda : parse_fcs(fname, meta_data_only=False, output_format='DataFrame', reformat_meta=False), number=number)
        print "Loading fcs file {0} times both meta and data but without reformatting of meta takes {1} per loop".format(time/number, number)
示例#11
0
    def test_mq_FCS_3_1_text_segment(self):
        """ Tests TEXT segment parsed from FCS (3.1 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 3.1']
        meta  = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
    def test_mq_FCS_3_1_text_segment(self):
        """ Tests TEXT segment parsed from FCS (3.1 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 3.1']
        meta  = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
示例#13
0
    def test_mq_FCS_3_0_text_segment(self):
        """Test TEXT segment parsed from FCS (3.0 format) file from a MACSQuant flow cytometer."""
        fname = FILE_IDENTIFIER_TO_PATH['mq fcs 3.0']
        meta = parse_fcs(fname, meta_data_only=True)

        expected_fname = 'EY_2013-07-19_PID_101_MG1655_Transformants_D01_Well_A4.001.fcs'
        self.assertEqual(expected_fname, meta['$FIL'])
        self.assertEqual('MACSQuant', meta['$CYT'])
示例#14
0
 def test_mq_FCS_2_0_text_segment(self):
     """Test TEXT segment parsed from FCS (2.0 format) file from a MACSQuant flow cytometer."""
     fname = FILE_IDENTIFIER_TO_PATH['mq fcs 2.0']
     meta = parse_fcs(fname, meta_data_only=True)
     self.assertEqual(
         'EY_2013-07-19_PBS_FCS_2.0_Custom_Without_Add_Well_A1.001.fcs',
         meta['$FIL'])
     self.assertEqual('MACSQuant', meta['$CYT'])
    def test_channel_naming_manual(self):
        """ Checks that channel names correspond to manual setting """
        pnn_names = [
            'Time', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
            'SSC-A', 'SSC-H', 'SSC-W', 'FL2-A', 'FL2-H', 'FL2-W', 'FL4-A',
            'FL4-H', 'FL4-W', 'FL7-A', 'FL7-H', 'FL7-W'
        ]
        pns_names = [
            'HDR-T', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
            'SSC-A', 'SSC-H', 'SSC-W', 'V2-A', 'V2-H', 'V2-W', 'Y2-A', 'Y2-H',
            'Y2-W', 'B1-A', 'B1-H', 'B1-W'
        ]

        path = os.path.join(BASE_PATH, 'data', 'FlowCytometers',
                            'MiltenyiBiotec', 'FCS3.1',
                            'EY_2013-07-19_PBS_FCS_3.1_Well_A1.001.fcs')
        meta = parse_fcs(path,
                         meta_data_only=True,
                         reformat_meta=True,
                         channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)

        # ---  Test with data

        meta, data = parse_fcs(path,
                               meta_data_only=False,
                               reformat_meta=True,
                               channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pnn_names)
        self.assertTrue(list(data.columns.values) == pnn_names)

        # ---  Test with data

        meta, data = parse_fcs(path,
                               meta_data_only=False,
                               reformat_meta=True,
                               channel_naming='$PnS')
        channel_names = list(meta['_channel_names_'])

        self.assertTrue(channel_names == pns_names)
        self.assertTrue(list(data.columns.values) == pns_names)
示例#16
0
    def test_mq_FCS_2_0_text_segment(self):
        """ Tests TEXT segment parsed from FCS (2.0 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 2.0']
        meta = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        self.assertTrue(meta['$FIL'] == 'EY_2013-07-19_PBS_FCS_2.0_Custom_Without_Add_Well_A1.001.fcs')

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
    def test_mq_FCS_2_0_text_segment(self):
        """ Tests TEXT segment parsed from FCS (2.0 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 2.0']
        meta = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        self.assertTrue(meta['$FIL'] == 'EY_2013-07-19_PBS_FCS_2.0_Custom_Without_Add_Well_A1.001.fcs')

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
示例#18
0
    def test_channel_naming_manual(self):
        """Check that channel names correspond to manual setting."""
        pnn_names = [
            'Time', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
            'SSC-A', 'SSC-H', 'SSC-W', 'FL2-A', 'FL2-H', 'FL2-W', 'FL4-A',
            'FL4-H', 'FL4-W', 'FL7-A', 'FL7-H', 'FL7-W'
        ]

        path = ADDITIONAL_FILE_MAPPING['test_channel_naming']
        meta = parse_fcs(path,
                         meta_data_only=True,
                         reformat_meta=True,
                         channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertListEqual(channel_names, pnn_names)

        # ---  Test with data

        meta, data = parse_fcs(path,
                               meta_data_only=False,
                               reformat_meta=True,
                               channel_naming='$PnN')
        channel_names = list(meta['_channel_names_'])

        self.assertListEqual(channel_names, pnn_names)
        self.assertListEqual(list(data.columns.values), pnn_names)

        # ---  Test with data

        pns_names = [
            'HDR-T', 'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'FSC-W',
            'SSC-A', 'SSC-H', 'SSC-W', 'V2-A', 'V2-H', 'V2-W', 'Y2-A', 'Y2-H',
            'Y2-W', 'B1-A', 'B1-H', 'B1-W'
        ]

        meta, data = parse_fcs(path,
                               meta_data_only=False,
                               reformat_meta=True,
                               channel_naming='$PnS')
        channel_names = list(meta['_channel_names_'])

        self.assertListEqual(channel_names, pns_names)
        self.assertListEqual(list(data.columns.values), pns_names)
示例#19
0
    def test_mq_FCS_3_0_text_segment(self):
        """ Tests TEXT segment parsed from FCS (3.0 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 3.0']
        meta = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        str_value = 'EY_2013-07-19_PID_101_MG1655_Transformants_D01_Well_A4.001.fcs'
        self.assertTrue(meta['$FIL'] == str_value)

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
    def test_mq_FCS_3_0_text_segment(self):
        """ Tests TEXT segment parsed from FCS (3.0 format) file produced by a MACSQuant flow cytometer """
        fname = file_formats['mq fcs 3.0']
        meta = parse_fcs(fname, meta_data_only = True, output_format='ndarray')

        str_value = 'EY_2013-07-19_PID_101_MG1655_Transformants_D01_Well_A4.001.fcs'
        self.assertTrue(meta['$FIL'] == str_value)

        str_value = 'MACSQuant'
        self.assertTrue(meta['$CYT'] == str_value)
示例#21
0
    def read_data(self, **kwargs):
        '''
        Read the datafile specified in Sample.datafile and
        return the resulting object.
        Does NOT assign the data to self.data

        It's advised not to use this method, but instead to access
        the data through the FCMeasurement.data attribute.
        '''
        meta, data = parse_fcs(self.datafile, **kwargs)
        return data
    def read_data(self, **kwargs):
        '''
        Read the datafile specified in Sample.datafile and
        return the resulting object.
        Does NOT assign the data to self.data

        It's advised not to use this method, but instead to access
        the data through the FCMeasurement.data attribute.
        '''
        meta, data = parse_fcs(self.datafile, **kwargs)
        return data
示例#23
0
    def test_channel_naming_automatic_correction(self):
        """Check that channel names are automatically corrected if duplicated names exist."""
        file_path = ADDITIONAL_FILE_MAPPING['duplicate_names']

        with warnings.catch_warnings(record=True) as w:
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")
            meta = parse_fcs(file_path,
                             meta_data_only=True,
                             reformat_meta=True)
            channel_names = list(meta['_channel_names_'])
            expected_channel_names = [
                'HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'SSC-A',
                'SSC-H', 'FL7-A', 'FL7-H'
            ]
            self.assertListEqual(expected_channel_names, channel_names)
    def test_channel_naming_automatic_correction(self):
        """ Checks that channel names are assigned automatically corrected if duplicate names
        encountered. """
        path = os.path.join(base_path, 'data', 'FlowCytometers', 'MiltenyiBiotec', 'FCS3.1', 'SG_2014-09-26_Duplicate_Names.fcs')

        with warnings.catch_warnings(record=True) as w:
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")
            meta = parse_fcs(path, meta_data_only=True, reformat_meta=True)
            channel_names = list(meta['_channel_names_'])

            self.assertTrue(channel_names == \
                ['HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'SSC-A', 'SSC-H', 'FL7-A', 'FL7-H'])

            # Verify some things
            assert len(w) == 1
示例#25
0
    def test_channel_naming_automatic_correction(self):
        """ Checks that channel names are assigned automatically corrected if duplicate names
        encountered. """
        path = additional_files['duplicate_names']

        with warnings.catch_warnings(record=True) as w:
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")
            meta = parse_fcs(path, meta_data_only=True, reformat_meta=True)
            channel_names = list(meta['_channel_names_'])

            self.assertTrue(channel_names == \
                ['HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'SSC-A', 'SSC-H', 'FL7-A', 'FL7-H'])

            # Verify some things
            assert len(w) == 1
示例#26
0
    def test_channel_naming_automatic_correction(self):
        """ Checks that channel names are assigned automatically corrected if duplicate names
        encountered. """
        path = additional_files['duplicate_names']

        with warnings.catch_warnings(record=True) as w:
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")
            meta = parse_fcs(path, meta_data_only=True, reformat_meta=True)
            channel_names = list(meta['_channel_names_'])

            self.assertTrue(channel_names == \
                ['HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'SSC-A', 'SSC-H', 'FL7-A', 'FL7-H'])

            # Verify some things
            assert len(w) == 1
    def read_meta(self, **kwargs):
        '''
        Read only the annotation of the FCS file (without reading DATA segment).

        It's advised not to use this method, but instead to access
        the meta data through the FCMeasurement.meta attribute.
        '''
        # TODO Try to rewrite the code to be more logical
        # The reason the equivalent statement is not in the read_data method
        # above is because self.readdata_kwargs are passed
        # as **kwargs to the read_data function.
        if 'channel_naming' in self.readdata_kwargs:
            kwargs['channel_naming'] = self.readdata_kwargs['channel_naming']
        meta = parse_fcs(self.datafile,
                         reformat_meta=True,
                         meta_data_only=True, **kwargs)
        return meta
示例#28
0
    def read_meta(self, **kwargs):
        '''
        Read only the annotation of the FCS file (without reading DATA segment).

        It's advised not to use this method, but instead to access
        the meta data through the FCMeasurement.meta attribute.
        '''
        # TODO Try to rewrite the code to be more logical
        # The reason the equivalent statement is not in the read_data method
        # above is because self.readdata_kwargs are passed
        # as **kwargs to the read_data function.
        if 'channel_naming' in self.readdata_kwargs:
            kwargs['channel_naming'] = self.readdata_kwargs['channel_naming']
        meta = parse_fcs(self.datafile,
                         reformat_meta=True,
                         meta_data_only=True, **kwargs)
        return meta
示例#29
0
    def test_channel_naming_automatic_correction(self):
        """ Checks that channel names are assigned automatically corrected if duplicate names
        encountered. """
        path = os.path.join(base_path, 'data', 'FlowCytometers',
                            'MiltenyiBiotec', 'FCS3.1',
                            'SG_2014-09-26_Duplicate_Names.fcs')

        with warnings.catch_warnings(record=True) as w:
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")
            meta = parse_fcs(path, meta_data_only=True, reformat_meta=True)
            channel_names = list(meta['_channel_names_'])

            self.assertTrue(channel_names == \
                ['HDR-CE', 'HDR-SE', 'HDR-V', 'FSC-A', 'FSC-H', 'SSC-A', 'SSC-H', 'FL7-A', 'FL7-H'])

            # Verify some things
            assert len(w) == 1
示例#30
0
 def test_mq_FCS_3_1_data_segment(self):
     """ Tests DATA segment parsed from FCS (3.1 format) file produced by a MACSQuant flow cytometer """
     fname = file_formats['mq fcs 3.1']
     meta, matrix = parse_fcs(fname, output_format='ndarray')
示例#31
0
 def test_mq_FCS_3_1_text_segment(self):
     """Test TEXT segment parsed from FCS (3.1 format) file from a MACSQuant flow cytometer."""
     fname = FILE_IDENTIFIER_TO_PATH['mq fcs 3.1']
     meta = parse_fcs(fname, meta_data_only=True)
     self.assertEqual('MACSQuant', meta['$CYT'])
def check_data_segment(fcs_format, array_values):
    fname = file_formats[fcs_format]
    meta, matrix = parse_fcs(fname, output_format='ndarray')
    diff = numpy.abs(array_values - matrix[0:4, :])
    return numpy.all(diff < 10**-8) # Is this the proper way to do the test?
 def test_mq_FCS_3_1_data_segment(self):
     """ Tests DATA segment parsed from FCS (3.1 format) file produced by a MACSQuant flow cytometer """
     fname = file_formats['mq fcs 3.1']
     meta, matrix = parse_fcs(fname, output_format='ndarray')
示例#34
0
def check_data_segment(file_name, expected_array_values):
    """Check that the data segmented extracted from the file corresponds to the expected values."""
    file_path = FILE_IDENTIFIER_TO_PATH[file_name]
    meta, df = parse_fcs(file_path)
    diff = numpy.abs(expected_array_values - df.values[0:4, :])
    return numpy.all(diff < 10**-8)  # Is this the proper way to do the test?
示例#35
0
def check_data_segment(fcs_format, array_values):
    fname = file_formats[fcs_format]
    meta, matrix = parse_fcs(fname, output_format='ndarray')
    diff = numpy.abs(array_values - matrix[0:4, :])
    return numpy.all(diff < 10**-8) # Is this the proper way to do the test?
示例#36
0
 def test_mq_FCS_3_1_data_segment(self):
     """Test DATA segment parsed from FCS (3.1 format) file from a MACSQuant flow cytometer"""
     fname = FILE_IDENTIFIER_TO_PATH['mq fcs 3.1']
     meta, df = parse_fcs(fname)