コード例 #1
0
    def test_convert_trait_table_entries(self):
        """convert_trait_entries should convert labels,values using conversion fns"""
        lines =[\
          ['organism 1','0','0.3','15','1','6'],\
          ['organism 2','1','1','13','-1',-1],\
          ['organism 3','2','0','12','0.9','5']]

        val_conv_fns = []

        #Handle replacement of ambiguous values
        replacement_dict = {'-': 0, '-1': 0, -1: 0, 'NULL': 0, None: 0}
        replace_ambig_fn = make_translate_conversion_fn(replacement_dict)
        val_conv_fns.append(replace_ambig_fn)
        label_conv_fns = [remove_spaces]

        #Convert values to integers (in string form)
        val_conv_fns.append(lambda x: str(int(float(x))))

        obs = [l for l in convert_trait_table_entries(lines,\
                value_conversion_fns = val_conv_fns,\
                label_conversion_fns=label_conv_fns)]
        exp =[\
          ['organism_1','0','0','15','1','6'],\
          ['organism_2','1','1','13','0','0'],\
          ['organism_3','2','0','12','0','5']]

        self.assertEqual(obs, exp)
コード例 #2
0
    def test_convert_trait_table_entries(self):
        """convert_trait_entries should convert labels,values using conversion fns"""
        lines =[\
          ['organism 1','0','0.3','15','1','6'],\
          ['organism 2','1','1','13','-1',-1],\
          ['organism 3','2','0','12','0.9','5']]
        
        val_conv_fns = []
        
        #Handle replacement of ambiguous values
        replacement_dict ={'-':0,'-1':0,-1:0,'NULL':0,None:0}
        replace_ambig_fn = make_translate_conversion_fn(replacement_dict)
        val_conv_fns.append(replace_ambig_fn)
        label_conv_fns = [remove_spaces]
       
        #Convert values to integers (in string form)
        val_conv_fns.append(lambda x: str(int(float(x))))
       
        obs = [l for l in convert_trait_table_entries(lines,\
                value_conversion_fns = val_conv_fns,\
                label_conversion_fns=label_conv_fns)]
        exp =[\
          ['organism_1','0','0','15','1','6'],\
          ['organism_2','1','1','13','0','0'],\
          ['organism_3','2','0','12','0','5']]

        self.assertEqual(obs,exp)
コード例 #3
0
    def test_convert_trait_table_entries(self):
        """convert_trait_entries should convert labels,values using conversion fns"""
        lines = [
            ["organism 1", "0", "0.3", "15", "1", "6"],
            ["organism 2", "1", "1", "13", "-1", -1],
            ["organism 3", "2", "0", "12", "0.9", "5"],
        ]

        val_conv_fns = []

        # Handle replacement of ambiguous values
        replacement_dict = {"-": 0, "-1": 0, -1: 0, "NULL": 0, None: 0}
        replace_ambig_fn = make_translate_conversion_fn(replacement_dict)
        val_conv_fns.append(replace_ambig_fn)
        label_conv_fns = [remove_spaces]

        # Convert values to integers (in string form)
        val_conv_fns.append(lambda x: str(int(float(x))))

        obs = [
            l
            for l in convert_trait_table_entries(
                lines, value_conversion_fns=val_conv_fns, label_conversion_fns=label_conv_fns
            )
        ]
        exp = [
            ["organism_1", "0", "0", "15", "1", "6"],
            ["organism_2", "1", "1", "13", "0", "0"],
            ["organism_3", "2", "0", "12", "0", "5"],
        ]

        self.assertEqual(obs, exp)
コード例 #4
0
    def test_make_translate_conversion_fn(self):
        """make_translate_conversion_fn should make a conversion_fn given dicts """

        translation_dict = {"-1": 0, -1: 0, "Unknown": 0, "?": 0}

        conversion_fn = make_translate_conversion_fn(translation_dict)

        values = [0, -1, 15, "10", "-1", "Unknown", "?"]
        exp = ["0", "0", "15", "10", "0", "0", "0"]
        obs = map(conversion_fn, values)
        self.assertEqual(obs, exp)
コード例 #5
0
    def test_make_translate_conversion_fn(self):
        """make_translate_conversion_fn should make a conversion_fn given dicts """

        translation_dict =\
          {'-1':0,-1:0,'Unknown':0,'?':0}

        conversion_fn =\
          make_translate_conversion_fn(translation_dict)

        values = [0, -1, 15, '10', '-1', 'Unknown', '?']
        exp = ['0', '0', '15', '10', '0', '0', '0']
        obs = map(conversion_fn, values)
        self.assertEqual(obs, exp)
コード例 #6
0
    def test_make_translate_conversion_fn(self):
        """make_translate_conversion_fn should make a conversion_fn given dicts """
        
        translation_dict =\
          {'-1':0,-1:0,'Unknown':0,'?':0}

        conversion_fn =\
          make_translate_conversion_fn(translation_dict)
        
        values = [0,-1,15,'10','-1','Unknown','?']
        exp = ['0','0','15','10','0','0','0']
        obs = map(conversion_fn,values)
        self.assertEqual(obs,exp)