Exemple #1
0
    def test_all_metrics_weird_input(self):
        """all_metrics: should work when ref or prediction empty or no seqs"""
        ref = Pairs([(3, 10)])
        pred = Pairs()
        seqs = ['UACGUAGCUAGCUAGCUACG']
        obs = all_metrics(ref, pred, seqs=[seqs], min_dist=4)
        exp = {'SENSITIVITY':0, 'SELECTIVITY':0,\
            'AC':0, 'CC':0, 'MCC':0}
        for k in exp:
            self.assertFloatEqual(obs[k], exp[k])

        ref = Pairs()
        pred = Pairs()
        seqs = ['UACGUAGCUAGCUAGCUACG']
        obs = all_metrics(ref, pred, seqs=[seqs], min_dist=4)
        exp = {'SENSITIVITY':1, 'SELECTIVITY':1,\
            'AC':1, 'CC':1, 'MCC':1}
        for k in exp:
            self.assertFloatEqual(obs[k], exp[k])

        ref = Pairs([(3, 10)])
        pred = Pairs([(1, 12)])
        seqs = ['UACGUAGCUAGCUAGCUACG']
        self.assertRaises(ValueError, all_metrics, ref, pred, seqs="",\
            min_dist=4)
Exemple #2
0
    def test_all_metrics_weird_input(self):
        """all_metrics: should work when ref or prediction empty or no seqs"""
        ref = Pairs([(3,10)])
        pred = Pairs()
        seqs = ['UACGUAGCUAGCUAGCUACG']
        obs = all_metrics(ref, pred, seqs=[seqs], min_dist=4)
        exp = {'SENSITIVITY':0, 'SELECTIVITY':0,\
            'AC':0, 'CC':0, 'MCC':0}
        for k in exp:
            self.assertFloatEqual(obs[k], exp[k])

        ref = Pairs()
        pred = Pairs()
        seqs = ['UACGUAGCUAGCUAGCUACG']
        obs = all_metrics(ref, pred, seqs=[seqs], min_dist=4)
        exp = {'SENSITIVITY':1, 'SELECTIVITY':1,\
            'AC':1, 'CC':1, 'MCC':1}
        for k in exp:
            self.assertFloatEqual(obs[k], exp[k])

        ref = Pairs([(3,10)])
        pred = Pairs([(1,12)])
        seqs = ['UACGUAGCUAGCUAGCUACG']
        self.assertRaises(ValueError, all_metrics, ref, pred, seqs="",\
            min_dist=4)
Exemple #3
0
 def test_all_metrics(self):
     """all_metrics: check against compare_ct.pm"""
     exp = {'SENSITIVITY':0.4, 'SELECTIVITY':0.5, 'AC':0.45,\
         'CC':0.42906394, 'MCC':0.42906394}
     obs = all_metrics(self.true, self.predicted, seqs=self.seq, min_dist=4)
     self.assertEqualItems(obs.keys(), exp.keys())
     for k in exp:
         self.assertFloatEqual(obs[k], exp[k])
Exemple #4
0
 def test_all_metrics(self):
     """all_metrics: check against compare_ct.pm"""
     exp = {'SENSITIVITY':0.4, 'SELECTIVITY':0.5, 'AC':0.45,\
         'CC':0.42906394, 'MCC':0.42906394}
     obs = all_metrics(self.true, self.predicted, seqs=self.seq, min_dist=4)
     self.assertEqualItems(obs.keys(), exp.keys())
     for k in exp:
         self.assertFloatEqual(obs[k], exp[k])
Exemple #5
0
 def test_all_metrics_pseudo(self):
     """all_metrics: pseudoknot in ref, check against compare_ct.pm"""
     ref = Pairs([(0, 8), (1, 7), (4, 10)])
     pred = Pairs([(0, 8), (3, 6), (4, 10)])
     seq = 'GACUGUGUCAU'
     exp = {'SENSITIVITY':0.6666667, 'SELECTIVITY':0.6666667,\
         'AC':0.6666667, 'CC':0.57575758, 'MCC':0.57575758}
     obs = all_metrics(ref, pred, seqs=[seq], min_dist=4)
     self.assertEqualItems(obs.keys(), exp.keys())
     for k in exp:
         self.assertFloatEqual(obs[k], exp[k])
Exemple #6
0
 def test_all_metrics_pseudo(self):
     """all_metrics: pseudoknot in ref, check against compare_ct.pm"""
     ref = Pairs([(0,8),(1,7),(4,10)])
     pred = Pairs([(0,8),(3,6),(4,10)])
     seq = 'GACUGUGUCAU'
     exp = {'SENSITIVITY':0.6666667, 'SELECTIVITY':0.6666667,\
         'AC':0.6666667, 'CC':0.57575758, 'MCC':0.57575758}
     obs = all_metrics(ref, pred, seqs=[seq], min_dist=4)
     self.assertEqualItems(obs.keys(), exp.keys())
     for k in exp:
         self.assertFloatEqual(obs[k], exp[k])