예제 #1
0
    def test_gradient_missing_samples(self):
        from qiime2.plugins.gneiss.methods import gradient_clustering
        table = pd.DataFrame({"x": 1, "y": 2}, index=["a", "s1"])
        table = qiime2.Artifact.import_data("FeatureTable[Frequency]", table)
        metadata = qiime2.Metadata.load(get_data_path("test_metadata.txt"))

        with self.assertRaisesRegex(KeyError, "not present.*a"):
            gradient_clustering(table, metadata.get_column("x"))
예제 #2
0
    def test_gradient_ignore_missing_samples(self):
        from qiime2.plugins.gneiss.methods import gradient_clustering
        table = pd.DataFrame({"x": 1, "y": 2}, index=["a", "s1"])
        table = qiime2.Artifact.import_data("FeatureTable[Frequency]", table)
        metadata = qiime2.Metadata.load(get_data_path("test_metadata.txt"))

        gradient_clustering(table,
                            metadata.get_column("x"),
                            ignore_missing_samples=True)
        # Checkpoint assertion
        self.assertTrue(True)
예제 #3
0
    def test_gradient_artifact_weighted(self):
        from qiime2.plugins.gneiss.methods import gradient_clustering
        table_f = get_data_path("weighted.biom.qza")
        metadata_f = get_data_path("test_metadata.txt")
        in_table = qiime2.Artifact.load(table_f)
        in_metadata = qiime2.Metadata(pd.read_table(metadata_f, index_col=0))

        res_uw = gradient_clustering(in_table,
                                     in_metadata.get_category('x'),
                                     weighted=False)
        res_w = gradient_clustering(in_table,
                                    in_metadata.get_category('x'),
                                    weighted=True)
        res_clust_uw = res_uw.clustering._view(TreeNode)
        res_clust_w = res_w.clustering._view(TreeNode)

        self.assertNotEqual(str(res_clust_uw), str(res_clust_w))
예제 #4
0
    def test_gradient_artifact(self):
        from qiime2.plugins.gneiss.methods import gradient_clustering
        table_f = get_data_path("test_gradient.biom.qza")
        metadata_f = get_data_path("test_metadata.txt")
        in_table = qiime2.Artifact.load(table_f)
        in_metadata = qiime2.Metadata(pd.read_table(metadata_f, index_col=0))

        res = gradient_clustering(in_table, in_metadata.get_category('x'))
        res_clust = res.clustering._view(TreeNode)
        exp_str = '((o1:0.5,o2:0.5)y1:0.5,(o3:0.5,o4:0.5)y2:0.5)y0;\n'
        self.assertEqual(exp_str, str(res_clust))
예제 #5
0
    def test_gradient_match(self):
        # there are extra rows in match that need to be filtered out
        from qiime2.plugins.gneiss.methods import gradient_clustering
        table_f = get_data_path("test_gradient.biom.qza")
        metadata_f = get_data_path("test_metadata2.txt")
        in_table = qiime2.Artifact.load(table_f)
        in_metadata = qiime2.Metadata.load(metadata_f)

        res = gradient_clustering(in_table, in_metadata.get_column('x'))
        res_clust = res.clustering._view(TreeNode)
        exp_str = '((o1:0.5,o2:0.5)y1:0.5,(o3:0.5,o4:0.5)y2:0.5)y0;\n'
        self.assertEqual(exp_str, str(res_clust))