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"))
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)
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))
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))
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))