예제 #1
0
    def test_missing_values(self):
        md = qiime2.MetadataCategory(
            pd.Series([1.0, 2.0, np.nan, 4.0],
                      name='number',
                      index=['sample1', 'sample2', 'sample3', 'sample4']))

        with self.assertRaisesRegex(ValueError, 'missing values'):
            distance_matrix(md)
예제 #2
0
    def test_non_numeric_category(self):
        md = qiime2.MetadataCategory(
            pd.Series(['x1', 'x2', '3', '4'],
                      name='number',
                      index=['sample1', 'sample2', 'sample3', 'sample4']))

        with self.assertRaisesRegex(ValueError,
                                    'non-numeric values.*\n\n.*x1'):
            distance_matrix(md)
예제 #3
0
    def test_missing_values(self):
        md = qiime2.NumericMetadataColumn(
            pd.Series([1.0, 2.0, np.nan, 4.0],
                      name='number',
                      index=pd.Index(
                          ['sample1', 'sample2', 'sample3', 'sample4'],
                          name='id')))

        with self.assertRaisesRegex(ValueError, 'missing values'):
            distance_matrix(md)
예제 #4
0
    def test_one_sample(self):
        md = qiime2.MetadataCategory(
            pd.Series([1.5], name='number', index=['sample1']))
        exp = skbio.DistanceMatrix([[0.0]], ids=['sample1'])

        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #5
0
    def test_one_sample(self):
        md = qiime2.NumericMetadataColumn(
            pd.Series([1.5],
                      name='number',
                      index=pd.Index(['sample1'], name='id')))
        exp = skbio.DistanceMatrix([[0.0]], ids=['sample1'])

        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #6
0
    def test_float_category(self):
        md = qiime2.MetadataCategory(
            pd.Series([1.5, 2.0, 3.0],
                      name='number',
                      index=['sample1', 'sample2', 'sample3']))
        exp = skbio.DistanceMatrix(
            [[0.0, 0.5, 1.5], [0.5, 0.0, 1.0], [1.5, 1.0, 0.0]],
            ids=['sample1', 'sample2', 'sample3'])
        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #7
0
    def test_int_category(self):
        md = qiime2.MetadataCategory(
            pd.Series([1, 2, 3],
                      name='number',
                      index=['sample1', 'sample2', 'sample3']))
        exp = skbio.DistanceMatrix([[0, 1, 2], [1, 0, 1], [2, 1, 0]],
                                   ids=['sample1', 'sample2', 'sample3'])

        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #8
0
    def test_float_column(self):
        md = qiime2.NumericMetadataColumn(
            pd.Series([1.5, 2.0, 3.0],
                      name='number',
                      index=pd.Index(['sample1', 'sample2', 'sample3'],
                                     name='id')))
        exp = skbio.DistanceMatrix(
            [[0.0, 0.5, 1.5], [0.5, 0.0, 1.0], [1.5, 1.0, 0.0]],
            ids=['sample1', 'sample2', 'sample3'])
        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #9
0
    def test_int_column(self):
        md = qiime2.NumericMetadataColumn(
            pd.Series([1, 2, 3],
                      name='number',
                      index=pd.Index(['sample1', 'sample2', 'sample3'],
                                     name='id')))
        exp = skbio.DistanceMatrix([[0, 1, 2], [1, 0, 1], [2, 1, 0]],
                                   ids=['sample1', 'sample2', 'sample3'])

        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #10
0
    def test_str_casting(self):
        md = qiime2.MetadataCategory(
            pd.Series(['1', '2', '3', '4'],
                      name='number',
                      index=['sample1', 'sample2', 'sample3', 'sample4']))
        exp = skbio.DistanceMatrix(
            [[0.0, 1.0, 2.0, 3.0], [1.0, 0.0, 1.0, 2.0], [2.0, 1.0, 0.0, 1.0],
             [3.0, 2.0, 1.0, 0.0]],
            ids=['sample1', 'sample2', 'sample3', 'sample4'])

        obs = distance_matrix(md)

        self.assertEqual(exp, obs)
예제 #11
0
    def test_empty_metadata_category(self):
        md = qiime2.MetadataCategory(pd.Series([], name='number', index=[]))

        with self.assertRaisesRegex(ValueError, 'metadata category.*empty'):
            distance_matrix(md)