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",
         ],
     )
Example #2
0
 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'
     ])
Example #3
0
 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]}})
Example #7
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]},
         },
     )