Exemple #1
0
 def test_RfamParser_strict_invalid_structure(self):
     """RfamParser: functions when toggling strict w/ record w/ bad struct
     """
     # strict 
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_bad_structure_2))
     #not strict
     self.assertEqual(list(RfamParser(self._fake_record_bad_structure_2,\
     strict=False)),[])
Exemple #2
0
    def test_RfamParser(self):
        """RfamParser: integrity of output """

        expected_sequences =\
        [''.join(['AACACAUCAGAUUUCCUGGUGUAACGAAUUUUUUAAGUGCUUCUUGCUUA',\
            'AGCAAGUUUCAUCCCGACCCCCUCAGGGUCGGGAUUU']),\
        ''.join(['AACGCAUCGGAUUUCCCGGUGUAACGAA-UUUUCAAGUGCUUCUUGCAUU',\
            'AGCAAGUUUGAUCCCGACUCCUG-CGAGUCGGGAUUU']),\
        ''.join(['CUCACAUCAGAUUUCCUGGUGUAACGAA-UUUUCAAGUGCUUCUUGCAUA',\
            'AGCAAGUUUGAUCCCGACCCGU--AGGGCCGGGAUUU'])]
        expected_structure = ''.join(\
        ['...<<<<<<<.....>>>>>>>....................<<<<<...',\
        '.>>>>>....<<<<<<<<<<.....>>>>>>>>>>..'])            
             
        for r in RfamParser(self._fake_record):
            headers,sequences,structure = r
            
            self.assertEqual(headers['Refs']['Rfam'], ['RF00014'])
            self.assertEqual(headers['Author'], 'Mifsud W')
            self.assertEqualItems(sequences.values(), expected_sequences)
            assert isinstance(sequences, Alignment)
            self.assertEqualItems([s.Info.GenBank for s in sequences.Seqs],
                [['U17136.1'],['M15749.1'],['AF090431.1']])
            self.assertEqualItems([s.Info.Start for s in sequences.Seqs],
                [897,154,221])
            self.assertEqual(structure, expected_structure)
            assert isinstance(structure,WussStructure)
Exemple #3
0
 def test_RFamParser_strict_invalid_headers(self):
     """RfamParser: functions when toggling strict w/ record w/ bad header
     """
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_bad_header_1))
         
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_bad_header_2))
     
     # strict = False
     x =  list(RfamParser(self._fake_record_bad_header_1, strict=False))
     obs = list(RfamParser(self._fake_record_bad_header_1,\
         strict=False))[0][0].keys()
     self.assertEqual(len(obs),1)
     obs = list(RfamParser(self._fake_record_bad_header_2,\
         strict=False))[0][0].keys()
     self.assertEqual(len(obs),1)
def CMfinderParser(lines):
    """Parser for CMfinder output format

    Parser tested through RfamParser test
    """
    for info, alignment, struct in RfamParser(lines,strict=False):
        struct = wuss_to_vienna(struct)
        pairs = struct.toPairs()
    return [alignment, pairs]
Exemple #5
0
 def test_RfamParser_strict_invalid_sequences(self):
     """RfamParser: functions when toggling strict w/ record w/ bad seq
     """
     self.assertRaises(RecordError,list,
         MinimalRfamParser(self._fake_record_bad_sequence_1))
         
     # strict = False
     # in 'False' mode you expect to get back as much as possible, also
     # parts of sequences
     self.assertEqual(len(list(RfamParser(self._fake_record_bad_sequence_1,\
         strict=False))[0][1].NamedSeqs), 3)           
Exemple #6
0
 def test_RfamParser_single_family(self):
     """RfamParser: should work on a single family in stockholm format"""
     exp_header = Info()
     exp_aln = {'K02120.1/628-682':\
         'AUGGGAAAUUCCCCCUCCUAUAACCCCCCCGCUGGUAUCUCCCCCUCAGACUGGC',\
         'D00647.1/629-683':\
         'AUGGGAAACUCCCCCUCCUAUAACCCCCCCGCUGGCAUCUCCCCCUCAGACUGGC'}
     exp_struct = '<<<<<<.........>>>>>>.........<<<<<<.............>>>>>>'
     h, a, s = list(RfamParser(self.single_family))[0]
     self.assertEqual(h,exp_header)
     self.assertEqual(a,exp_aln)
     self.assertEqual(s,exp_struct)
Exemple #7
0
 def test_RfamParser_strict_missing_fields(self):
     """RfamParser: toggle strict functions correctly """
     # strict = True
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_no_headers))
     
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_no_sequences))
     
     self.assertRaises(RecordError,list,\
         RfamParser(self._fake_record_no_structure))
                     
     # strict = False
     self.assertEqual(list(RfamParser(self._fake_record_no_headers,\
         strict=False)), [])
     self.assertEqual(list(RfamParser(self._fake_record_no_sequences,\
         strict=False)), [])
     self.assertEqual(list(RfamParser(self._fake_record_no_structure,\
         strict=False)), [])