def test_output_results_G_test(self): """output_results works""" category_info = {"sample1": "A", "sample2": "A", "sample3": "B", "sample4": "C"} OTU_sample_info = { "0": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "1"}, "1": {"sample1": "1", "sample2": "1", "sample3": "1", "sample4": "0"}, "2": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "1"}, "3": {"sample1": "0", "sample2": "1", "sample3": "0", "sample4": "1"}, } category_values = ["A", "B", "C"] taxonomy_info = {"0": "taxon1", "1": "taxon2", "2": "taxon3", "3": "taxon4"} G_test_results = run_G_test_OTUs(["0", "1", "3"], category_info, OTU_sample_info, category_values) output = output_results_G_test(G_test_results, {}) self.assertEqual( output, [ "OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos", "1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]", "0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]", "3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]", ], ) output = output_results_G_test(G_test_results, taxonomy_info) self.assertEqual( output, [ "OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos\tConsensus Lineage", "1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]\ttaxon2", "0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]\ttaxon1", "3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]\ttaxon4", ], )
def test_output_results_G_test(self): """output_results works""" category_info = { 'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C' } OTU_sample_info = { '0': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1' }, '1': { 'sample1': '1', 'sample2': '1', 'sample3': '1', 'sample4': '0' }, '2': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1' }, '3': { 'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1' } } category_values = ['A', 'B', 'C'] taxonomy_info = { '0': 'taxon1', '1': 'taxon2', '2': 'taxon3', '3': 'taxon4' } G_test_results = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) output = output_results_G_test(G_test_results, {}) self.assertEqual(output, [ 'OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos', '1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]', '0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]', '3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]' ]) output = output_results_G_test(G_test_results, taxonomy_info) self.assertEqual(output, [ 'OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos\tConsensus Lineage', '1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]\ttaxon2', '0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]\ttaxon1', '3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]\ttaxon4' ])
def test_run_G_test_OTUs(self): """run_G_test_OTUs works""" category_info = { 'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C' } OTU_sample_info = { '0': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1' }, '1': { 'sample1': '1', 'sample2': '1', 'sample3': '0', 'sample4': '0' }, '2': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '0' }, '3': { 'sample1': '0', 'sample2': '0', 'sample3': '0', 'sample4': '1' } } category_values = ['A', 'B', 'C'] result = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) self.assertEqual(result.keys(), ['1', '0', '3']) self.assertFloatEqual(result['0'][3], 1.5241248812628101) self.assertFloatEqual(result['0'][0], 4.29304060218) self.assertFloatEqual(result['0'][1], 0.508041627088) self.assertEqual( result['0'][2], { 'OTU_pos': { 'B_pos': [1, 0.5], 'C_pos': [1, 0.5], 'A_pos': [0, 1.0] }, 'OTU_neg': { 'B_pos': [0, 0.5], 'C_pos': [0, 0.5], 'A_pos': [2, 1.0] } })
def test_fdr_correction_G_test(self): """fdr_correction_G_test works""" category_info = {"sample1": "A", "sample2": "A", "sample3": "B", "sample4": "C"} OTU_sample_info = { "0": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "1"}, "1": {"sample1": "1", "sample2": "1", "sample3": "1", "sample4": "0"}, "2": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "1"}, "3": {"sample1": "0", "sample2": "1", "sample3": "0", "sample4": "1"}, } category_values = ["A", "B", "C"] G_test_results = run_G_test_OTUs(["0", "1", "3"], category_info, OTU_sample_info, category_values) G_test_results = add_fdr_correction_to_results(G_test_results) self.assertFloatEqual(G_test_results["0"][-1], 1.52412488126) self.assertFloatEqual(G_test_results["1"][-1], 0.938976340277) self.assertFloatEqual(G_test_results["3"][-1], 0.828522198394)
def test_fdr_correction_G_test(self): """fdr_correction_G_test works""" category_info = {'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C'} OTU_sample_info = {'0': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1'}, '1': {'sample1': '1', 'sample2': '1', 'sample3': '1', 'sample4': '0'}, '2': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1'}, '3': {'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1'}} category_values = ['A', 'B', 'C'] G_test_results = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) G_test_results = add_fdr_correction_to_results(G_test_results) self.assertFloatEqual(G_test_results['0'][-1], 1.52412488126) self.assertFloatEqual(G_test_results['1'][-1], 0.938976340277) self.assertFloatEqual(G_test_results['3'][-1], 0.828522198394)
def test_run_G_test_OTUs(self): """run_G_test_OTUs works""" category_info = {'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C'} OTU_sample_info = {'0': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1'}, '1': {'sample1': '1', 'sample2': '1', 'sample3': '0', 'sample4': '0'}, '2': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '0'}, '3': {'sample1': '0', 'sample2': '0', 'sample3': '0', 'sample4': '1'}} category_values = ['A', 'B', 'C'] result = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) self.assertEqual(result.keys(), ['1', '0', '3']) self.assertFloatEqual(result['0'][3], 1.5241248812628101) self.assertFloatEqual(result['0'][0], 4.29304060218) self.assertFloatEqual(result['0'][1], 0.508041627088) self.assertEqual(result['0'][2], {'OTU_pos': {'B_pos': [1, 0.5], 'C_pos': [1, 0.5], 'A_pos': [0, 1.0]}, 'OTU_neg': {'B_pos': [0, 0.5], 'C_pos': [0, 0.5], 'A_pos': [2, 1.0]}})
def test_fdr_correction_G_test(self): """fdr_correction_G_test works""" category_info = { 'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C' } OTU_sample_info = { '0': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1' }, '1': { 'sample1': '1', 'sample2': '1', 'sample3': '1', 'sample4': '0' }, '2': { 'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1' }, '3': { 'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1' } } category_values = ['A', 'B', 'C'] G_test_results = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) G_test_results = add_fdr_correction_to_results(G_test_results) self.assertFloatEqual(G_test_results['0'][-1], 1.52412488126) self.assertFloatEqual(G_test_results['1'][-1], 0.938976340277) self.assertFloatEqual(G_test_results['3'][-1], 0.828522198394)
def test_output_results_G_test(self): """output_results works""" category_info = {'sample1': 'A', 'sample2': 'A', 'sample3': 'B', 'sample4': 'C'} OTU_sample_info = {'0': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1'}, '1': {'sample1': '1', 'sample2': '1', 'sample3': '1', 'sample4': '0'}, '2': {'sample1': '0', 'sample2': '0', 'sample3': '1', 'sample4': '1'}, '3': {'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1'}} category_values = ['A', 'B', 'C'] taxonomy_info = {'0': 'taxon1', '1': 'taxon2', '2': 'taxon3', '3': 'taxon4'} G_test_results = run_G_test_OTUs(['0', '1', '3'], category_info, \ OTU_sample_info, category_values) output = output_results_G_test(G_test_results, {}) self.assertEqual(output, ['OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos', '1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]', '0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]', '3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]']) output = output_results_G_test(G_test_results, taxonomy_info) self.assertEqual(output, ['OTU\tg_val\tg_prob\tBonferroni_corrected\tFDR_corrected\tOTU_pos##B_pos\tOTU_pos##C_pos\tOTU_pos##A_pos\tOTU_neg##B_pos\tOTU_neg##C_pos\tOTU_neg##A_pos\tConsensus Lineage', '1\t3.48284992796\t0.625984226851\t1.87795268055\t0.938976340277\t[1, 0.75]\t[0, 0.75]\t[2, 1.5]\t[0, 0.25]\t[1, 0.25]\t[0, 0.5]\ttaxon2', '0\t4.29304060218\t0.508041627088\t1.52412488126\t1.52412488126\t[1, 0.5]\t[1, 0.5]\t[0, 1.0]\t[0, 0.5]\t[0, 0.5]\t[2, 1.0]\ttaxon1', '3\t2.14652030109\t0.828522198394\t2.48556659518\t0.828522198394\t[0, 0.5]\t[1, 0.5]\t[1, 1.0]\t[1, 0.5]\t[0, 0.5]\t[1, 1.0]\ttaxon4'])
def test_run_G_test_OTUs(self): """run_G_test_OTUs works""" category_info = {"sample1": "A", "sample2": "A", "sample3": "B", "sample4": "C"} OTU_sample_info = { "0": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "1"}, "1": {"sample1": "1", "sample2": "1", "sample3": "0", "sample4": "0"}, "2": {"sample1": "0", "sample2": "0", "sample3": "1", "sample4": "0"}, "3": {"sample1": "0", "sample2": "0", "sample3": "0", "sample4": "1"}, } category_values = ["A", "B", "C"] result = run_G_test_OTUs(["0", "1", "3"], category_info, OTU_sample_info, category_values) self.assertEqual(result.keys(), ["1", "0", "3"]) self.assertFloatEqual(result["0"][3], 1.5241248812628101) self.assertFloatEqual(result["0"][0], 4.29304060218) self.assertFloatEqual(result["0"][1], 0.508041627088) self.assertEqual( result["0"][2], { "OTU_pos": {"B_pos": [1, 0.5], "C_pos": [1, 0.5], "A_pos": [0, 1.0]}, "OTU_neg": {"B_pos": [0, 0.5], "C_pos": [0, 0.5], "A_pos": [2, 1.0]}, }, )