def test_alpha_group_significance_numeric_only(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'value': ['1.0', '2.0', '3.0']}, index=['sample1', 'sample2', 'sample3'])) with tempfile.TemporaryDirectory() as output_dir: with self.assertRaisesRegex(ValueError, 'Only numeric'): alpha_group_significance(output_dir, alpha_div, md)
def test_alpha_group_significance_single_quote(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a or b': ['a', "b'", 'b']}, index=['sample1', 'sample2', 'sample3'])) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue("\'" in open(index_fp).read())
def test_alpha_group_significance_numeric_only(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame( {'col1': [1, 2, 1], 'col2': [4.2, 4.2, 4.3]}, index=pd.Index(['sample1', 'sample2', 'sample3'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: err_msg = ("does not contain any columns that satisfy this " "visualizer's requirements") with self.assertRaisesRegex(ValueError, err_msg): alpha_group_significance(output_dir, alpha_div, md)
def test_alpha_group_significance_forward_slash_in_metadata_col(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame( {'a/b': ['a', 'b', 'b']}, index=pd.Index(['sample1', 'sample2', 'sample3'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') with open(index_fp) as index_fh: self.assertTrue("/" in index_fh.read()) jsonp_fp = os.path.join(output_dir, 'column-a%2Fb.jsonp') self.assertTrue(os.path.exists(jsonp_fp)) csv_fp = os.path.join(output_dir, 'kruskal-wallis-pairwise-a%2Fb.csv') self.assertTrue(os.path.exists(csv_fp))
def test_alpha_group_significance_KW_value_error(self): alpha_div = pd.Series([2.0, 2.0, 3.0, 2.0], name='alpha-div', index=['sample1', 'sample2', 'sample3', 'sample4']) md = qiime2.Metadata( pd.DataFrame({'x': ['a', 'b', 'b', 'c']}, index=['sample1', 'sample2', 'sample3', 'sample4'])) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'category-x.jsonp'))) self.assertTrue('pairwise group comparisons have been omitted' in open(index_fp).read()) self.assertTrue('x:c (n=1) vs x:a (n=1)' in open(index_fp).read())
def test_alpha_group_significance(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a or b': ['a', 'b', 'b']}, index=['sample1', 'sample2', 'sample3'])) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'category-a%20or%20b.jsonp'))) self.assertTrue('Kruskal-Wallis (all groups)' in open(index_fp).read()) self.assertTrue('Kruskal-Wallis (pairwise)' in open(index_fp).read())
def test_alpha_group_significance_forward_slash_in_metadata_col(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a/b': ['a', 'b', 'b']}, index=pd.Index(['sample1', 'sample2', 'sample3'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') with open(index_fp) as index_fh: self.assertTrue("/" in index_fh.read()) jsonp_fp = os.path.join(output_dir, 'column-a%2Fb.jsonp') self.assertTrue(os.path.exists(jsonp_fp)) csv_fp = os.path.join(output_dir, 'kruskal-wallis-pairwise-a%2Fb.csv') self.assertTrue(os.path.exists(csv_fp))
def test_alpha_group_significance_one_group_single_value(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a or b': ['a', 'b', 'b'], 'bad': ['x', 'x', 'x']}, index=['sample1', 'sample2', 'sample3'])) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'category-a%20or%20b.jsonp'))) self.assertFalse(os.path.exists( os.path.join(output_dir, 'category-bad.jsonp'))) self.assertTrue('only a single' in open(index_fp).read()) self.assertTrue('<strong>bad' in open(index_fp).read())
def test_alpha_group_significance(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a or b': ['a', 'b', 'b']}, index=pd.Index(['sample1', 'sample2', 'sample3'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue( os.path.exists( os.path.join(output_dir, 'column-a%20or%20b.jsonp'))) with open(index_fp) as index_fh: index_content = index_fh.read() self.assertTrue('Kruskal-Wallis (all groups)' in index_content) self.assertTrue('Kruskal-Wallis (pairwise)' in index_content)
def test_alpha_group_significance_one_group_single_value(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame({'a or b': ['a', 'b', 'b'], 'bad': ['x', 'x', 'x']}, index=['sample1', 'sample2', 'sample3'])) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'category-a%20or%20b.jsonp'))) self.assertFalse(os.path.exists( os.path.join(output_dir, 'category-bad.jsonp'))) self.assertTrue('only a single' in open(index_fp).read()) self.assertTrue('<strong>bad' in open(index_fp).read())
def test_alpha_group_significance_KW_value_error(self): alpha_div = pd.Series([2.0, 2.0, 3.0, 2.0], name='alpha-div', index=['sample1', 'sample2', 'sample3', 'sample4']) md = qiime2.Metadata( pd.DataFrame({'x': ['a', 'b', 'b', 'c']}, index=pd.Index(['sample1', 'sample2', 'sample3', 'sample4'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'column-x.jsonp'))) with open(index_fp) as index_fh: index_content = index_fh.read() self.assertTrue('pairwise group comparisons have been omitted' in index_content) self.assertTrue('x:c (n=1) vs x:a (n=1)' in index_content)
def test_alpha_group_significance_one_group_all_unique_values(self): alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div', index=['sample1', 'sample2', 'sample3']) md = qiime2.Metadata( pd.DataFrame( {'a or b': ['a', 'b', 'b'], 'bad': ['x', 'y', 'z']}, index=pd.Index(['sample1', 'sample2', 'sample3'], name='id'))) with tempfile.TemporaryDirectory() as output_dir: alpha_group_significance(output_dir, alpha_div, md) index_fp = os.path.join(output_dir, 'index.html') self.assertTrue(os.path.exists(index_fp)) self.assertTrue(os.path.exists( os.path.join(output_dir, 'column-a%20or%20b.jsonp'))) self.assertFalse(os.path.exists( os.path.join(output_dir, 'column-bad.jsonp'))) with open(index_fp) as index_fh: index_content = index_fh.read() self.assertTrue('number of samples' in index_content) self.assertTrue('<strong>bad' in index_content)