Example #1
0
 def test_wuss_to_vienna(self):
     """wuss_to_vienna() should transform Wuss into Vienna"""
     empty = WussStructure('.....')
     normal = WussStructure('[.{[<...}}}}')
     pseudo = WussStructure('[..AA..]..aa')
     self.assertEqual(wuss_to_vienna(normal), '(.(((...))))')
     self.assertEqual(wuss_to_vienna(empty), '.....')
     self.assertEqual(wuss_to_vienna(pseudo), '(......)....')
Example #2
0
 def setUp(self):
     """Define three standard structures: note differences in whitespace
     and number formatting"""
     self.Struct = WussStructure
     super(WussStructureTests, self).setUp()
     self.WussNoPairs = WussStructure('.-_,~:')
     self.WussOneHelix = WussStructure('[-{<(__)-->}]', -0.01)
     self.WussTwoHelix = WussStructure('{[.]}(<>).', 1.11)
     self.WussThreeHelix = WussStructure('::(<<({__}),,([(__)])-->>)')
     self.WussPseudo = WussStructure('<<__AA>>_aa::')
Example #3
0
    def test_MinimalStockholmParser_w_valid_data(self):
        """MinimalStockholmParser: integrity of output """

        # Some ugly constructions here, but this is what the output of
        # parsing fake_two_records should be
        headers = ['#=GF AC   RF00014', '#=GF AU   Mifsud W']
        sequences =\
        {'U17136.1/898-984':\
        ''.join(['AACACAUCAGAUUUCCUGGUGUAACGAAUUUUUUAAGUGCUUCUUGCUUA',\
            'AGCAAGUUUCAUCCCGACCCCCUCAGGGUCGGGAUUU']),\
        'M15749.1/155-239':\
        ''.join(['AACGCAUCGGAUUUCCCGGUGUAACGAA-UUUUCAAGUGCUUCUUGCAUU',\
            'AGCAAGUUUGAUCCCGACUCCUG-CGAGUCGGGAUUU']),\
        'AF090431.1/222-139':\
        ''.join(['CUCACAUCAGAUUUCCUGGUGUAACGAA-UUUUCAAGUGCUUCUUGCAUA',\
            'AGCAAGUUUGAUCCCGACCCGU--AGGGCCGGGAUUU'])}

        structure = WussStructure(''.join(\
        ['...<<<<<<<.....>>>>>>>....................<<<<<...',\
        '.>>>>>....<<<<<<<<<<.....>>>>>>>>>>..']))

        data = []
        for r in MinimalStockholmParser(self._fake_two_records, strict=False):
            data.append(r)
        self.assertEqual(\
            (data[0][0]['GF'],data[0][1].todict(),\
                str(data[0][2])),(headers,sequences,structure))
        assert isinstance(data[0][1], Alignment)

        # This line tests that invalid entries are ignored when strict=False
        # Note, there are two records in self._fake_two_records, but 2nd is
        # invalid
        self.assertEqual(len(data), 1)