Beispiel #1
0
    def test_rnastrand_long(self):
        """Two long examples from the RNAstrand database: CRW_00544 & CRW_00528
        """
        # CRW_00544
        # contextfold
        pred_1 = '(((.((((....(((.........)))..................(((((((....((((...................................(((...........)))......((((((.....((((....))))......))))))((((.....((((((.((((((((....))))).........((((((...................)))).))...(((.......((((.((((((.......)))..)))....)))).....))).....(((((((.....)))))))...........((((.((((((((((.(((((((..........)))))))............(((((((........((((((((..........................((((.((((((((((((((.................................)))))))))...(((((((((((((.(((........((((((........((((....((((.............((((..((((((((((............))))))))))..))))...........(((((((......))))))).....(((((((....)))))))..(((((((.......)))))))...............((....)).................(((((.....((((....((((((...........))))))...))))....))))).....))))....)))).(((((.(((.....(((.........)))...)))...)))))........................(((((((.((((..(((.((((((((...((((((((((((((((((.......)))).((....))...........................)))))))))))))).......((((((....(((((.((((((.(.......).).((...(((..((((........)))).)))..))))))).))))).((.......)).......))))))....)))))))).........(((((....)))))...............)))))))))))).))((((.....((((..(((((((.(((....(((((((..(((((...(((.(((((((((((.....(((((((((((((......((((.(((.......((...................))....))))))).((..(((((((((........))))))))).......))......................)))))))....(....)..............................)))))).....(((((((.......))))..........(..(.......((.(((((((((((((((......(((............(((............)))....((((((..(((((((((((((.......(((((((((((...)))))))))))((((......((..((((((((.....(((((((........(........).(((((((((...((((.........))))((((((((((((((((..((((((((................)))))))).........(.......)...........))))))))))))))))........)))))))))....))))))).........))))))))..))......))))...((((((((((.((........)).))))))))))......)))))))))))))...............(((((((........(((........(((((((...)))))))....))))))))))............)))))).........................(((((....))))).............(((((...........)))))))).....((((((.(((.........))).)).))))...))))))))..((((((....))))))))))))).))....)..).......)))........................................(((((....((((((((..((((....))))..))))))))..)))))))))))))))).)))....)))))...))))))).....(((((...)))))............)))...))))))).((((((.((((((............)))))).)))))).....))))........................((((((((((((.....(((...((((........((((...))))..((((((((((((...............((((.((((.........)))).))))(((((..(((...((((.(((.(((((........))))).))).))))...)))..))))).......))))))))))))........))))...)))....))))))))))))....))))....)))))))))...)))))))))))))....)))))))))((((((.((.((((((((.................((((((((.((......(.(......(((((.((....((((((((....((((((...(........((((((((((.(((((.....(((((..(..((...(((((.....)))))..((((((....((.(((.....))).))...))))))..))..)..))))))))).).)))))))))))..))))))......))))))))....))..)))))......).).....)))))))))).....................((((((.....))))))..................))))))))...)).))))))..........)))))))).....(((((........)))))...)))))))(((((((.....((((((((((......)))))..........(((((((((.....(((((((((.................((((....)))).............(....).))))))))))))))))))...((.((((((((......)))))))).))....(((((....)))))........)))))...)))))))...........................)))))))))).)))).(((((((((..(((((...)))))...)))))))))(((((((.((((........(((((((...))))))).............((((((.(((((((...(((((((((((......................(((((........)))))..(((((.......(((.......)))..........((((....))))((.....(((....))).).)........))))))))))))...(............(((((.......(.((((((((((..((((.(((.((((((((...((.......))...)))))))..))))................((((((((((.....(((((...(((........(((((.....)))))..........................(((((((....))).)))).(((((...........)))))..............)))....)))))........)))....))))))).)))).)))))))))).))))))...........)........)))).)))))))))))))...)))))))))))...............))).))))))...((((................)))).....))))........)))).))))))).)))).)))..(((((((((((((((((..((...((((((((.........))))))))...................((((((((((..(((((..((((((.(.......(((((((....))))))).........).))))))..).)))).)))))))))).)).))))))))...(((((((...((((((((......))))))))..))))))))))))))))........((((.........(((((((.....))))))).....))))............'

        # unafold
        pred_2 = '............(..(((...((((..........(((((((((.(((((((...(((((.......((....(((((.................(((....)))....(((((((...............(((((((((((.((((.....((((.((((..(((((.((((((((....)))))..((((((..((((((((((.....)))))....)))))..............((((.(((..((....(((((((..(((((((...((((((.((((((..(((((......((((((((((((.........(((((((((...(((((((..........)))))))..))))))))).(((..(((((.......)))))...)))................))))))))))))......)))))...)))))).))))))......)))))))...(((((((((.....((((((..(((((.....((((((.(((((............((((((((((............((((..((((((((((.(((.....)))))))))))))..)))).............)))))))))).((((((......(((((((....)))))))..(((((((.......)))))))...............((....)).....((((((...(((((((((..((((((....((((((..((....)).))))))...))))))...((((((.........((((.((.......)).....((((((((((((...(((..(.((((((((.(((((((((....((..((.(((((((((((...(((((.(((((.......(((((((((((((((((((...)))))).((....)).(((..(((......)))....)))..))))))))))))))))))......(((((..(((((.(((((..((((......))))...((((.((((........))))))))....))))).)))))((((....(((((........)))))...)))).............(((((....))))).))))).........)))))))))))).)).)).))..)).....(((((((((((........))))).)))))).)))))))))..)))))))).)..)))((((((((..(...(((.......))).(((...(((((.....(((......)))...........(((((((((........))))))))).............)))))..)))....)..))))))))...((((.(((((((((((((((....(((((..((((((..((((........)))).(((.(((((.((((....((((.((((....)))))))).......))))))))))))....))))))(((...............)))......))))).......(((((((((((.((((((((((((...)))))))))))).............((((((((.((..(((((((...((((....)))).((((((((((((.((((.....))))......(((((((((((((((((..(((........(((((((....(((....)))....)))))))...........)))..)))))))))))))))))........)))))))))))).)))))))......)).)))))))).))))))))))).....((((((((((.(((......))).)))))))))).)))))))))))))))))))..(((((......(((((((((((((...(((.((((.(((.((.((((((.((((((....))))..)).)))))).)).)))))))..........................(((((....)))))(..((((((..(((((..((((((((.(((..((((......((((((.((((.......)))).)).))))...))))..(((.....)))..))))))))).)).)))))))))))..)..((((.(((.....(((((((.(((((((.(((((((((......(((((((....((((((((..((((....))))..))))))))..)))))))..........((((((((((((((....)).))))))))))))...............)))))))))...((((.((((.............))))..))))))))))))))))))..)))))))..)))..)))))))))))))..(((((((((((((((((((......((((((((..(((.....)))...(((((((((((((((..((.(((((((......)).))))).))..))..)))))))))))))............))))))))..(((((....((((((..(....)..))))))..)))))..)))))))))...((((((((...))))))))..)))))))))).)))))....((((((((......))))..)))))))))).)))))).))))..(((.....))).)))))).............)))))))))..))))))))))))..))))).)))))).((((((((..............(..((((.((((((((((..(((((.....(((((((((.(...(((((.....)))))..((((((((..((.(((.....))).)).))))))))).)))))..)))))))))...))))))))))..))))..)..(((((((...((((......))))...))))))).))))))))...)))))..))))))...))))))))))))))))..))..)))))))...)))))).....))).))..)))..))))))))..((((((..((((..(((...((((((......)))))).(((.((((......(((....)))............((((((((((((((..(((((((((.....(((((((((......((....((((...(((((........)))))...))))...))))))))))))))))))))...((.((((((((......)))))))).))......))))))))).)))))....)))))))..)))..))))...)))))).........)))).))))))))))).......((((((((((((((((...))))))).)))))))))(((((((.((((...(((((....(((((((((..(((((...(((((((......((..((((...((..(((((((.....(((((.......)))))(((((........)))))..((((((((....)))....(((((((...(((...((((....))))...))).(((....))).))))).))...))))))))))))..))...))))..))..))))))).)))))(((((((((((.((((.((..((((((((.((.(((....))).))))))))).)..))...(((....)))..(((((((((((((..(........)..)).)))..(((((.....)))))......((((...((..(((((....(((((((....))).)))).(((((.(((....)))))))).............(((....))))))))..))....)))).)))))))))))))))))))))))......)))))))))...((((((....)))))).....)))))....))))))))))))))).)))...)))))....))....(((.(((((.......))))))))...................))))))))))))....((((((((((((((((((((((((((.((((((((((((.........)))))))).....)))).)).......((((((((((..((((...((((((((((.....(((((((....)))))))..)))).....))))))....)))).))))))))))....))))))))...(((((((...((((((((......))))))))..))))))))))))))))......))))))).)))))))))(((((.....)))))........)))).)))..)....'
        
        cutoff = 0.4
        
        dbns = [pred_1, pred_2]
        try:
            cutoff, consensus = calc_consensus_secstruc_for_dbn(dbns, threshold=cutoff)
        except ConflictInBasePairsError, error:
            conflicting_bps = BasePairs(eval(str(error).split('\'')[1]))
            solve_conflicts(conflicting_bps)   
            consensus_pred = conflicting_bps.toVienna(len(pred_1), 0)
            self.assertTrue(type(consensus_pred), ViennaStructure)
Beispiel #2
0
        # CRW_00528
        # ContextFold
        pred_3 = '.((((...(((((((((((.(.((((..((((((((((........((((..(((........((((((.................(((........)))..................((((((.....(((....))).........))))))((((((((..((((.....))))..)).))))))(((......)))........))))))......((......(((((((..........))))))).......))................)))...((((.((((((((((((((((((.......))))))).)))))).))))))))).(((.(((((((((.(.(((((((((.....(((.(((((((((.....(((((((......(((((....)))))...(...).(((.......))))))))))....)))))))))..)))...)))))))))).))))))))).)))......(((((((........)))))))....(((((.((....)).)))))..)))).......)))))).)))))))).).........((....))................((((....))))...................)))))))))))............................................(((((....................(((((....))))).......(((((..........((((((...))))))..(((((((((((((((((........(((((..(((((((((((((((((........(((((..(............))))))................))))))))))))))))).)))))...))))))))))))))))).(((((....((((..((((((.......((((((((((......((((((..(((((....(((((((((((((.(((((((....))))))))))))))))))))......)))))..))))))((((((((((((((.........))))))))..(((....)))..)))))).....)))))))))).........)))))).)))).....))))).......)))))((((........)))).......((((((((((((((..(((((............((((...........))))....)))))..................((((((((((((.........)))))))).((((.........))))...........))))..((((((......))))))........))))))))))))))..))))).)))).....(((((((((((.....(...(((((((....)))))))..).................(((.......)))........))))))))))).(((...((.((........)).))....)))(((..(((((.(..(.(((((..........((((((((((...(((((....)))))...)...............(((((..((((((.....)))))).)))))...)))).)))))..........))))).)....)....)))))..)))(((((.(((.((..........)).))))))))((((.(((((.....))))).))))....(((((((..((....((((((....((((.......(((((((........(((((...(((.(((((((((..(((((............)))))...........((((.....((((........))))......))))))))))))))))........)))))....)))))))))))....))))))((((((((((..(.......((((....))))....)...)))))))))).............((((..(((......((((((.((....))))))))...)))..))))....(((((((...((((.....((...............(((((((.(((((((.((((....(((((((((.(.(((.......((....((((.....))))....))....(((....)))))).).)))))(.((((..(((((((....))))))).....)))))..............(((((........)))))........(((((((((((((............(((....))).............((((((...((((.((((.((((..(((((((.......))))))).........((((((((((....((((.....))))....)))))))))).....(((..((((((((....(((((((((....)))))))))......))))))))..)))........(((((((((....)))))))))....))))..)))).)))).........))))))........(((((...((((((.(((((((............))))))).)))))))))))...)))))))))).)))................)))).....)))).))).)))).)))))))....(((...)))............((((((((.(((.(((..........(((((....(....).....)))))(..(((((((((((((.((((((..((((.(((((.((((..(((((...((..((((((((((........................))))))))))..))...)))))..)))).))))).))))....................((((..(((((....))))).))))))))))........)))))))..)))))).).............(((((((((.(((((.............((((((((....((((....)))).....)))))))).....(((.((.((((((...........((((........))))..)))))).))....))).((((((.......))))))...(((((......))))).(((((.......))))).......))))).....)).)))))))))).))).)))))))).....))....)))).((((((........)))))).........((((........))))(((((((((..((((((((.(((((((((((((((((((((((..........(((((..((((((((.(((((((((........)))))))))....))))))))............))))).)))))).))))))))))).............((((((((((....((.....(((((......(((..((.............))..)))..)))))....))....))))))))))(((((.(((((....)))))...))))))))))).)))))))..((.((((((((...........))))))))))...)..)))))))))...........((((((((......((((((...(.(.((.......((((((((.......)))))))).((((....)))))).)..)...))))))(((..((((...))))..)))..((((((((..((((.....((((.(((...((((((((..............(((((.......)))))(((...)))...))))))))..)))))))......((((((((((((((.(((((((.......))))))).)....((.........))....)))))))..)..)))).).....(((((((....))).))))....((((..((((.(((........(((((((.....)))))))....)))..))))..)))).....(.((((((...(.(....).)..)))))).)(((((..........((((((((((....)))))..)))))........))))).(((....(((((............)))))....))).........((((((.....))))))(((((((((.......(((((((....)))))))(((((.......)))))..((.........((((((((.((((((((.............)))))))).......))))))))........))((((.(((((((((((((((((((((....))))))))))))))))))))).))))...........)))))))))......)))).........((((....))))))))))))......))))))))(((((......))))))))))))...))..)))))))...............'

        #unafold
        pred_4 = '..(((((.(((((.....((..(((.((((((((((((...((...((((........((((.................((..((((((.(((((((.....((((...........(((((((((((.(((....))).))))....)))))))(((((((..((((.....))))..)).))))).))))..(((((..((((.........))))..)))))................)))))))...))))))..)).................(((((((((....(((((((((((((((.......))))))).))))))))(((..(((.....((..(((((((.(((..((((.....(((((((...((((((((((................((((....))))......((((.....))))........)))))))))))))))))...))))..))).)))))))..))...)))..))).)))))))))......)))).....(((((((......))))))).))))..))...))))))).)))))..)))..))....((....))..)))))............(((.((((((......(((((((((((..(((((.......))))).....((((((....(((((((((((.(((((((..((((...))))..))))....))).)))))))))))((((((((((....((((((((((......(((((((((....((((((((((((((((((......((((((..((..(..((((((((((((....(((..(((((..(((.....)))..).))))..))).....)).))))))))))..)..)).)))))).)))))))))))))))))).......(((((((..((((((((((((((..((.((((((((.......))))))))..((..(((((((((((.(((((((....))))))))))))))))))..))..))......)))).))))))..))))..)))))))(((((((..((((((.((((.....((((((((.........(..(((((((....((((((((((...........(((((((((...(((((((......(((((.((..((((((((((((((..((....................((((...(((((((((((((....)))))))...))))))..)))).....(((((((((........)))...))))))..)).....((((((((((((..............))))).))).))))..))))))))))))))..))...(((((((...(((((((((((.........(((((((....)))))))....((.(((.(((.(((....)))))).))).))......)))))))))))...(((........))).)))))))......)))))....((....))....)))))))...))).))))))....(((((....)))))..)))))))))))))))))..).(((((..((.....))..)))))))))))))..........((((((((((.(((((....((((((...(((((((.(((..((...................((((((...(((.((((.........((((...((((....))))..)))).........)))).))).....)))))).(((((((((....(((((((((.......(((.....(((....)))......)))..(((((((((.((((.(((........))))).))........((((((...........))))))))))))))))))))))))..(((((((((((((........(((((....)))))......))))))))))).))........)))))))))..))..))).))))))).(((((((((.(((......(((((..(((...(((....)))....)))..........(((((..((((((.(((...(((((((..((((.......))))...))))))).....(((((...(((....)))..)))))..))).)))))).((((......((((((((....)))))))).....)))).)))))..))))).(((((........))))).)))....(((((((((((((..(((....((((.((((((...............((((......(((.((((((((((((.(((((.......)))))..........(((((((((((....((((.....))))....)))))))))))..(((((..((((((((..(((((((..((....))..))).))))...))))))))..))).)).....(((((((((....)))))))))))).))).)))))).)))(((((.....)))))......))))......(((((..(((..........)))..))))).)))))).)))).)))...)))))))))).)))............((((.((((((.(((......)))..(((((((.....)))).))).....................(((((((((((((.......((((......))))..((((((..(.(((((((((((((...((.((((.(((((.((((..(..(((((..(((..((((((((((..(((..(((.....)))..))).)))))))))).)))..))))))..)))).))))).)))).)).................((((..(((((....))))).))))..............)))))))..))))))........(((((..(((((((((...............((((((((((((....((((....)))).....)))))))..(((((((((...(((((....((((.((((((........)))))).)))).)))))...)))))))))..)))))...............(((.((((..((((((.......)))))).))))...))).....)).)))))))..)))))((((((((((...((((......((((((..((...(((((((......(((((((((........)))))))))......((((((((..((((.(((((((((((((((((..((.((((..((....(((((((((..((((((((......)))))))).....)))))))))....))...)))).))..)))))).))))))))))).(((((.......(((.(((((...(((((((..(((.....))).)))))))....)))))....(((....(((((((....)))))))...))).)))....(((((....)))))..)))))..))))..)))))))).((.((((((((...........)))))))))).....)))))))........(((..((((((((..((((.....(((....((((...((.((((((((((.....)))))))))).))...))))....)))...((((((((((...((((.(((((.......))))).......)))).))))))).))).....))))..))).)))))..))).))..)))))).....))))..)))))).))))....)..))))))...)))))))).)))))...)))))))))).))))).)))).....))))))....)))))..(((((..(..(((.((..((((...(((((((....))).))))......))))..)).)))..)..)))))....)))))))))).........)))).))))))..((((.(((((((....((((.......((((((.......))))))...(((((.((((((....)))))))))))....)))).....)))))))....))))...))))))).((((((........))))))........)))))))))..))))))))))...........(((((.(((((((((....((((((((.((((....))))...))))))))))))))))))))))....))))))))))(((.((((((((((............((((.((((((((((..(((((((((....)))))))))..)))))))))).)))).....(((((((........))))))).)))))))))))))))))))....)))).))))))).((((.((..(((((......)))))..))))))...)))))).))).))))).........'

        # consensus
        cutoff = 0.4
        dbns = [pred_3, pred_4]
        
        try:
            cutoff, consensus = calc_consensus_secstruc_for_dbn(dbns, threshold=cutoff)
        except ConflictInBasePairsError, error:
            conflicting_bps = BasePairs(eval(str(error).split('\'')[1]))
            solve_conflicts(conflicting_bps)
            consensus_pred = conflicting_bps.toVienna(len(pred_3), 0)
            self.assertTrue(type(consensus_pred), ViennaStructure)
        else:
            self.assertTrue(False)
        
    

class CalcConsensusSecstrucForBpsTests(TestCase):
    """
        Tests for calc_consensus_secstruc_for_bps
    """
    def setUp(self):
        """
        """
        list_of_dbns = [ViennaStructure(x) for x in SECSTRUCS]
Beispiel #3
0
 def test_solve_conflicts_even_more_conflicting_base_pairs(self):
     """solve_conflicts - nested conflict
     """
     combinations = solve_conflicts(self.even_more_conflicting_bps)
     self.assertEqual(combinations, self.even_more_ref_combinations)
Beispiel #4
0
 def test_solve_conflicts_no_conflicts(self):
     """solve_conflicts - no conflicts in input
     """
     combinations = solve_conflicts(BasePairs([(1,2),(3,4),(5,6)]))
     self.assertEqual(combinations, [[(1,2),(3,4),(5,6)], []])
Beispiel #5
0
 def test_solve_conflicts_of_conflicting_base_pairs(self):
     """solve_conflicts - single conflict
     """
     combinations = solve_conflicts(self.conflicting_bps)
     self.assertEqual(combinations, self.ref_combinations)