def test_get_base_pairs(self): """Calculates one canonical and two noncanonicals correctly.""" m = ModernaStructure('file', RNA_HAIRPIN, 'D') result = m.get_base_pairs() result = map(str, result['31']) self.assertTrue('31 +/+ 39' in result) self.assertTrue('31 HS 32' in result) self.assertTrue('31 SS 30' in result)
def test_wc_pairs_hairpin(self): """Exactly two W-C pairs in a hairpin are recognized.""" m = ModernaStructure('file', RNA_HAIRPIN, 'D') result = m.get_base_pairs() # calc number of +/+ pairs count = 0 for val in result.values(): for bpair in val: if bpair.type == '+/+': count += 1 self.assertEqual(count, 4)
def test_wc_pairs_1ehz(self): """All W-C pairs in a tRNA are recognized.""" m = ModernaStructure('file', RNA_1EHZ, 'A') result = m.get_base_pairs() # calc number of +/+ pairs gc_count, au_count = 0, 0 for key in result: val = result[key] for bpair in val: if bpair.type == '+/+': gc_count += 1 elif bpair.type == '-/-': au_count += 1 #print gc_count, au_count self.assertEqual(au_count, 14) self.assertEqual(gc_count, 26) """# canonical from 1ehz according to rnaview
def test_get_base_pairs_generator(self): """aaa""" m = ModernaStructure('file', RNA_HAIRPIN, 'D') result = map(str, list(m.get_base_pairs('generator'))) self.assertTrue('30 +/+ 40' in result) self.assertTrue(len(result) >= 4)
def test_structure_unpaired(self): """Single-stranded structure has no pairs.""" m = ModernaStructure('file', EXAMPLE_CHAR, 'C') result = m.get_base_pairs() self.assertEqual(result['37'], [])