示例#1
0
 def test_bad_metadata(self):
     alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div',
                           index=['sample1', 'sample2', 'sample3'])
     md = qiime2.Metadata(
         pd.DataFrame({'value': ['a', 'b', 'c']},
                      index=['sample1', 'sample2', 'sample3']))
     with tempfile.TemporaryDirectory() as output_dir:
         with self.assertRaises(ValueError):
             alpha_correlation(output_dir, alpha_div, md)
示例#2
0
 def test_bad_method(self):
     alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div',
                           index=['sample1', 'sample2', 'sample3'])
     md = qiime2.MetadataCategory(
         pd.Series(['1.0', '2.0', '3.0'], name='value',
                   index=['sample1', 'sample2', 'sample3']))
     with tempfile.TemporaryDirectory() as output_dir:
         with self.assertRaises(ValueError):
             alpha_correlation(output_dir, alpha_div, md, method='bad!')
示例#3
0
 def test_extra_alpha_div(self):
     alpha_div = pd.Series([2.0, 4.0, 6.0, 8.0], name='alpha-div',
                           index=['sample1', 'sample2', 'sample3',
                                  'sample4'])
     md = qiime2.Metadata(
         pd.DataFrame(
             {'value': [1.0, 2.0, 3.0]},
             index=pd.Index(['sample1', 'sample2', 'sample3'], name='id')))
     with tempfile.TemporaryDirectory() as output_dir:
         with self.assertRaisesRegex(ValueError,
                                     'not present.*metadata.*sample4'):
             alpha_correlation(output_dir, alpha_div, md)
示例#4
0
 def test_all_metadata_columns_filtered(self):
     alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div',
                           index=['sample1', 'sample2', 'sample3'])
     # Non-numeric and empty columns are filtered.
     md = qiime2.Metadata(
         pd.DataFrame(
             {'col1': ['a', 'b', 'a'],
              'col2': [np.nan, np.nan, np.nan]},
             index=pd.Index(['sample1', 'sample2', 'sample3'], name='id')))
     with tempfile.TemporaryDirectory() as output_dir:
         with self.assertRaisesRegex(
                 ValueError, 'contains only non-numeric or empty columns'):
             alpha_correlation(output_dir, alpha_div, md)
示例#5
0
    def test_extra_metadata(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', '4.0']},
                         index=['sample1', 'sample2', 'sample3', 'sample4']))
        with tempfile.TemporaryDirectory() as output_dir:
            alpha_correlation(output_dir, alpha_div, md)
            index_fp = os.path.join(output_dir, 'index.html')
            self.assertTrue(os.path.exists(index_fp))
            jsonp_fp = os.path.join(output_dir, 'category-value.jsonp')
            self.assertTrue(os.path.exists(jsonp_fp))

            self.assertTrue('"sampleSize": 3' in open(jsonp_fp).read())
示例#6
0
 def test_extra_alpha_div_intersect(self):
     alpha_div = pd.Series(
         [2.0, 4.0, 6.0, 8.0],
         name='alpha-div',
         index=['sample1', 'sample2', 'sample3', 'sample4'])
     md = qiime2.Metadata(
         pd.DataFrame({'value': [1.0, 2.0, 3.0]},
                      index=pd.Index(['sample1', 'sample2', 'sample3'],
                                     name='id')))
     with tempfile.TemporaryDirectory() as output_dir:
         alpha_correlation(output_dir, alpha_div, md, intersect_ids=True)
         index_fp = os.path.join(output_dir, 'index.html')
         self.assertTrue(os.path.exists(index_fp))
         jsonp_fp = os.path.join(output_dir, 'column-value.jsonp')
         self.assertTrue(os.path.exists(jsonp_fp))
示例#7
0
 def test_nan_metadata(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, np.nan]},
             index=pd.Index(['sample1', 'sample2', 'sample3'], name='id')))
     with tempfile.TemporaryDirectory() as output_dir:
         alpha_correlation(output_dir, alpha_div, md)
         index_fp = os.path.join(output_dir, 'index.html')
         self.assertTrue(os.path.exists(index_fp))
         jsonp_fp = os.path.join(output_dir, 'column-value.jsonp')
         self.assertTrue(os.path.exists(jsonp_fp))
         with open(jsonp_fp) as jsonp_fh:
             jsonp_content = jsonp_fh.read()
         self.assertTrue('"filtered": 2' in jsonp_content)
         self.assertTrue('"initial": 3' in jsonp_content)
示例#8
0
    def test_pearson(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=pd.Index(['sample1', 'sample2', 'sample3'], name='id')))
        with tempfile.TemporaryDirectory() as output_dir:
            alpha_correlation(output_dir, alpha_div, md, method='pearson')
            index_fp = os.path.join(output_dir, 'index.html')
            self.assertTrue(os.path.exists(index_fp))
            jsonp_fp = os.path.join(output_dir, 'column-value.jsonp')
            self.assertTrue(os.path.exists(jsonp_fp))

            with open(jsonp_fp) as jsonp_fh:
                jsonp_content = jsonp_fh.read()
            self.assertTrue('Pearson' in jsonp_content)
            self.assertTrue('"sampleSize": 3' in jsonp_content)
            self.assertTrue('"data":' in jsonp_content)
            self.assertFalse('filtered' in jsonp_content)
示例#9
0
 def test_non_numeric_metadata(self):
     alpha_div = pd.Series([2.0, 4.0, 6.0], name='alpha-div',
                           index=['sample1', 'sample2', 'sample3'])
     md = qiime2.Metadata(
         pd.DataFrame(
             {'col1': [4, 5, 6],
              'col2': ['a', 'b', 'c']},
             index=pd.Index(['sample1', 'sample2', 'sample3'], name='id')))
     with tempfile.TemporaryDirectory() as output_dir:
         alpha_correlation(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-col1.jsonp')))
         self.assertFalse(os.path.exists(
                          os.path.join(output_dir,
                                       'column-col2.jsonp')))
         with open(index_fp) as index_fh:
             index_content = index_fh.read()
         self.assertTrue('contain numeric data' in index_content)
         self.assertTrue('<strong>col2' in index_content)