def test_run_correlation_OTUs(self):
        """run_correlation_OTUs works"""
        category_info = {'sample1':'0.1',
                        'sample2':'0.2',
                        'sample3':'0.3',
                        'sample4':'0.4'}
        OTU_sample_info = {'0': {'sample1': '0', 'sample2': '1', 'sample3': '2', 'sample4': '3'},
        '1': {'sample1': '7', 'sample2': '5', 'sample3': '3', 'sample4': '1'},
        '2': {'sample1': '4', 'sample2': '4.2', 'sample3': '4', 'sample4': '4'},
        '3': {'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1'}}
        OTU_list = ['1', '0', '2', '3'] 
        result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
        #OTU 0 should be positively correlated, 1 negative, and 2&3 neutral
        self.assertFloatEqual(result['0'][0], 1.0)#r
        self.assertFloatEqual(result['0'][1], 0.0)#prob
        self.assertEqual(result['0'][2], "[3.0, 0.0, 2.0, 1.0]")
        self.assertEqual(result['0'][3], "[0.40000000000000002, 0.10000000000000001, 0.29999999999999999, 0.20000000000000001]")
        self.assertFloatEqual(result['1'], [-0.99999999999999956, 4.4408920985006281e-16, '[1.0, 7.0, 3.0, 5.0]', '[0.40000000000000002, 0.10000000000000001, 0.29999999999999999, 0.20000000000000001]'])

        #test that appropriate error is raised is categorical
        category_info = {'sample1':'A',
                        'sample2':'B',
                        'sample3':'A',
                        'sample4':'B'}
        self.assertRaises(ValueError, run_correlation_OTUs, OTU_list, category_info, OTU_sample_info)
Пример #2
0
    def test_run_correlation_OTUs(self):
        """run_single_correlation works"""
        category_info = {
            'sample1': '0.1',
            'sample2': '0.2',
            'sample3': '0.3',
            'sample4': '0.4'
        }
        OTU_sample_info = {
            '0': {
                'sample1': '0',
                'sample2': '1',
                'sample3': '2',
                'sample4': '3'
            },
            '1': {
                'sample1': '7',
                'sample2': '5',
                'sample3': '3',
                'sample4': '1'
            },
            '2': {
                'sample1': '4',
                'sample2': '4.2',
                'sample3': '4',
                'sample4': '4'
            },
            '3': {
                'sample1': '0',
                'sample2': '1',
                'sample3': '0',
                'sample4': '1'
            }
        }
        OTU_list = ['1', '0', '2', '3']
        result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
        #OTU 0 should be positively correlated, 1 negative, and 2&3 neutral
        self.assertFloatEqual(result['0'], [1.0, 0.0, 0.0])
        self.assertFloatEqual(result['1'], [
            -0.99999999999999956, 4.4408920985006281e-16,
            1.7763568394002513e-15
        ])
        self.assertFloatEqual(
            result['2'],
            [-0.25819888974715061, 0.74180111025284945, 2.9672044410113978])
        self.assertFloatEqual(
            result['3'],
            [0.44721359549995815, 0.55278640450004191, 2.2111456180001676])

        #test that appropriate error is raised is categorical
        category_info = {
            'sample1': 'A',
            'sample2': 'B',
            'sample3': 'A',
            'sample4': 'B'
        }
        self.assertRaises(ValueError, run_correlation_OTUs, OTU_list,
                          category_info, OTU_sample_info)
Пример #3
0
 def test_output_results_correlation(self):
     """output_results_correlation works"""
     category_info = {
         'sample1': '0.1',
         'sample2': '0.2',
         'sample3': '0.3',
         'sample4': '0.4'
     }
     OTU_sample_info = {
         '0': {
             'sample1': '0',
             'sample2': '1',
             'sample3': '2',
             'sample4': '3'
         },
         '1': {
             'sample1': '7',
             'sample2': '5',
             'sample3': '3',
             'sample4': '1'
         },
         '2': {
             'sample1': '4',
             'sample2': '4.2',
             'sample3': '4',
             'sample4': '4'
         },
         '3': {
             'sample1': '0',
             'sample2': '1',
             'sample3': '0',
             'sample4': '1'
         }
     }
     taxonomy_info = {
         '0': 'taxon1',
         '1': 'taxon2',
         '2': 'taxon3',
         '3': 'taxon4'
     }
     OTU_list = ['1', '0', '2', '3']
     result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
     output = output_results_correlation(result, taxonomy_info)
     self.assertEqual(
         output[0],
         'OTU\tprob\tBonferroni_corrected\tFDR_corrected\tr\tConsensus Lineage'
     )
     self.assertEqual(
         output[1],
         '1\t4.4408920985e-16\t1.7763568394e-15\t8.881784197e-16\t-1.0\ttaxon2'
     )
     self.assertEqual(len(output), 5)
 def test_output_results_correlation(self):
     """output_results_correlation works"""
     category_info = {"sample1": "0.1", "sample2": "0.2", "sample3": "0.3", "sample4": "0.4"}
     OTU_sample_info = {
         "0": {"sample1": "0", "sample2": "1", "sample3": "2", "sample4": "3"},
         "1": {"sample1": "7", "sample2": "5", "sample3": "3", "sample4": "1"},
         "2": {"sample1": "4", "sample2": "4.2", "sample3": "4", "sample4": "4"},
         "3": {"sample1": "0", "sample2": "1", "sample3": "0", "sample4": "1"},
     }
     taxonomy_info = {"0": "taxon1", "1": "taxon2", "2": "taxon3", "3": "taxon4"}
     OTU_list = ["1", "0", "2", "3"]
     result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
     output = output_results_correlation(result, taxonomy_info)
     self.assertEqual(output[0], "OTU\tprob\tBonferroni_corrected\tFDR_corrected\tr\tConsensus Lineage")
     self.assertEqual(output[1], "1\t4.4408920985e-16\t1.7763568394e-15\t8.881784197e-16\t-1.0\ttaxon2")
     self.assertEqual(len(output), 5)
    def test_run_correlation_OTUs(self):
        """run_single_correlation works"""
        category_info = {"sample1": "0.1", "sample2": "0.2", "sample3": "0.3", "sample4": "0.4"}
        OTU_sample_info = {
            "0": {"sample1": "0", "sample2": "1", "sample3": "2", "sample4": "3"},
            "1": {"sample1": "7", "sample2": "5", "sample3": "3", "sample4": "1"},
            "2": {"sample1": "4", "sample2": "4.2", "sample3": "4", "sample4": "4"},
            "3": {"sample1": "0", "sample2": "1", "sample3": "0", "sample4": "1"},
        }
        OTU_list = ["1", "0", "2", "3"]
        result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
        # OTU 0 should be positively correlated, 1 negative, and 2&3 neutral
        self.assertFloatEqual(result["0"], [1.0, 0.0, 0.0])
        self.assertFloatEqual(result["1"], [-0.99999999999999956, 4.4408920985006281e-16, 1.7763568394002513e-15])
        self.assertFloatEqual(result["2"], [-0.25819888974715061, 0.74180111025284945, 2.9672044410113978])
        self.assertFloatEqual(result["3"], [0.44721359549995815, 0.55278640450004191, 2.2111456180001676])

        # test that appropriate error is raised is categorical
        category_info = {"sample1": "A", "sample2": "B", "sample3": "A", "sample4": "B"}
        self.assertRaises(ValueError, run_correlation_OTUs, OTU_list, category_info, OTU_sample_info)
 def test_output_results_correlation(self):
     """output_results_correlation works"""
     category_info = {'sample1':'0.1',
                     'sample2':'0.2',
                     'sample3':'0.3',
                     'sample4':'0.4'}
     OTU_sample_info = {'0': {'sample1': '0', 'sample2': '1', 'sample3': '2', 'sample4': '3'},
     '1': {'sample1': '7', 'sample2': '5', 'sample3': '3', 'sample4': '1'},
     '2': {'sample1': '4', 'sample2': '4.2', 'sample3': '4', 'sample4': '4'},
     '3': {'sample1': '0', 'sample2': '1', 'sample3': '0', 'sample4': '1'}}
     taxonomy_info = {'0': 'taxon1',
                     '1': 'taxon2',
                     '2': 'taxon3',
                     '3': 'taxon4'}
     OTU_list = ['1', '0', '2', '3'] 
     result = run_correlation_OTUs(OTU_list, category_info, OTU_sample_info)
     output = output_results_correlation(result, taxonomy_info)
     self.assertEqual(output[0], 'OTU\tprob\totu_values_y\tcat_values_x\tBonferroni_corrected\tFDR_corrected\tr\tConsensus Lineage')
     self.assertEqual(output[1], '1\t4.4408920985e-16\t[1.0, 7.0, 3.0, 5.0]\t[0.40000000000000002, 0.10000000000000001, 0.29999999999999999, 0.20000000000000001]\t1.7763568394e-15\t8.881784197e-16\t-1.0\ttaxon2')
     self.assertEqual(len(output), 5)