def test_ranks_specific(self): exp_1 = pd.DataFrame([['c', 'sample-1', 1.], ['g', 'sample-1', 2]], columns=['Taxon', 'Sample ID', 'Rank']) exp_2 = pd.DataFrame([['c', 'sample-2', 1.]], columns=['Taxon', 'Sample ID', 'Rank']) exp_3 = pd.DataFrame([['c', 'sample-3', 2.], ['g', 'sample-3', 1]], columns=['Taxon', 'Sample ID', 'Rank']) taxonomy = Taxonomy(self.table, self.taxonomy_df, rank_level=2) obs_1 = taxonomy.ranks_specific('sample-1') obs_2 = taxonomy.ranks_specific('sample-2') obs_3 = taxonomy.ranks_specific('sample-3') self._clean_sort_df(obs_1, ['Taxon', 'Sample ID']) self._clean_sort_df(obs_2, ['Taxon', 'Sample ID']) self._clean_sort_df(obs_3, ['Taxon', 'Sample ID']) self._clean_sort_df(exp_1, ['Taxon', 'Sample ID']) self._clean_sort_df(exp_2, ['Taxon', 'Sample ID']) self._clean_sort_df(exp_3, ['Taxon', 'Sample ID']) pdt.assert_frame_equal(obs_1, exp_1, check_like=True) pdt.assert_frame_equal(obs_2, exp_2, check_like=True) pdt.assert_frame_equal(obs_3, exp_3, check_like=True)
def test_ranks_specific_missing_id(self): taxonomy = Taxonomy(self.table, self.taxonomy_df, rank_level=2) with self.assertRaisesRegex(UnknownID, 'foobar'): taxonomy.ranks_specific('foobar')