def test_munge_feature_metadata_missing_features(self): feature_md = qiime2.CategoricalMetadataColumn( pd.Series(['dog'], name='species', index=pd.Index(['O2'], name='id'))) with self.assertRaisesRegex(ValueError, 'not present.*O1'): _munge_feature_metadata(feature_md, self.table, 'both')
def test_munge_feature_metadata_sort_samples(self): feature_md = qiime2.CategoricalMetadataColumn( pd.Series(['peanut', 'dog'], name='species', index=pd.Index(['O1', 'O2'], name='id'))) obs = _munge_feature_metadata(feature_md, self.table, 'samples') exp = pd.DataFrame( [[10, 0], [12, 10], [11, 10]], columns=['dog', 'peanut'], index=pd.Index(['S1', 'S2', 'S3'])) assert_frame_equal(exp, obs)
def test_munge_feature_metadata_is_superset(self): feature_md = qiime2.CategoricalMetadataColumn( pd.Series(['peanut', 'dog', 'cujo'], name='species', index=pd.Index(['O1', 'O2', 'O3'], name='id'))) obs = _munge_feature_metadata(feature_md, self.table, 'both') exp = pd.DataFrame( [[0, 10], [10, 12], [10, 11]], columns=['peanut', 'dog'], index=pd.Index(['S1', 'S2', 'S3'])) assert_frame_equal(exp, obs)
def test_munge_feature_metadata_sort_duplicate_feature_names(self): new_tab = self.table.copy() new_tab['O3'] = [1, 2, 3] feature_md = qiime2.CategoricalMetadataColumn( pd.Series(['peanut', 'dog', 'peanut'], name='species', index=pd.Index(['O1', 'O2', 'O3'], name='id'))) obs = _munge_feature_metadata(feature_md, new_tab, 'samples') exp = pd.DataFrame( [[10, 0, 1], [12, 10, 2], [11, 10, 3]], columns=['dog', 'peanut', 'peanut'], index=pd.Index(['S1', 'S2', 'S3'])) assert_frame_equal(exp, obs)