def test_no_rows(self): index = pd.Index([], name='Feature ID', dtype=object) columns = ['Taxon'] df = pd.DataFrame([], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, 'one row of data'): _dataframe_to_tsv_taxonomy_format(df)
def test_no_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = [] df = pd.DataFrame([[], []], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, 'one column of data'): _dataframe_to_tsv_taxonomy_format(df)
def test_no_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = [] df = pd.DataFrame([[], []], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, 'one column of data'): _dataframe_to_tsv_taxonomy_format(df)
def test_no_rows(self): index = pd.Index([], name='Feature ID', dtype=object) columns = ['Taxon'] df = pd.DataFrame([], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, 'one row of data'): _dataframe_to_tsv_taxonomy_format(df)
def test_duplicate_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = ['Taxon', 'Taxon'] df = pd.DataFrame([['abc', 'def'], ['ghi', 'jkl']], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, "duplicated: Taxon"): _dataframe_to_tsv_taxonomy_format(df)
def test_invalid_taxon_column_name(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = ['Foo'] df = pd.DataFrame([['abc'], ['def']], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, "`Taxon`, found 'Foo'"): _dataframe_to_tsv_taxonomy_format(df)
def test_duplicate_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = ['Taxon', 'Taxon'] df = pd.DataFrame([['abc', 'def'], ['ghi', 'jkl']], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, "duplicated: Taxon"): _dataframe_to_tsv_taxonomy_format(df)
def test_invalid_taxon_column_name(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) columns = ['Foo'] df = pd.DataFrame([['abc'], ['def']], index=index, columns=columns, dtype=object) with self.assertRaisesRegex(ValueError, "`Taxon`, found 'Foo'"): _dataframe_to_tsv_taxonomy_format(df)
def test_2_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) df = pd.DataFrame( [['k__Bacteria; p__Proteobacteria', '42'], ['k__Bacteria', '43']], index=index, columns=['Taxon', 'Confidence'], dtype=object) exp = ('Feature ID\tTaxon\tConfidence\n' 'seq1\tk__Bacteria; p__Proteobacteria\t42\n' 'seq2\tk__Bacteria\t43\n') obs = _dataframe_to_tsv_taxonomy_format(df) with obs.open() as fh: self.assertEqual(fh.read(), exp)
def test_2_columns(self): index = pd.Index(['seq1', 'seq2'], name='Feature ID', dtype=object) df = pd.DataFrame([['k__Bacteria; p__Proteobacteria', '42'], ['k__Bacteria', '43']], index=index, columns=['Taxon', 'Confidence'], dtype=object) exp = ( 'Feature ID\tTaxon\tConfidence\n' 'seq1\tk__Bacteria; p__Proteobacteria\t42\n' 'seq2\tk__Bacteria\t43\n' ) obs = _dataframe_to_tsv_taxonomy_format(df) with obs.open() as fh: self.assertEqual(fh.read(), exp)