def test_write_pdb(self): """write_pdb should create a file.""" s = RNAChain('file', MINI_TEMPLATE) if os.access(OUTPUT, os.F_OK): os.remove(OUTPUT) s.write_pdb_file(OUTPUT) self.assertTrue(os.access, os.F_OK)
def test_write_load_sanity(self): """After re-reading written file, there should be the same residues.""" s = RNAChain('file', MINI_TEMPLATE) if os.access(OUTPUT, os.F_OK): os.remove(OUTPUT) s.write_pdb_file(OUTPUT) t = RNAChain('file', OUTPUT) i = 0 while i < 15: i += 1 self.assertEqual(s[str(i)].id[1], t[str(i)].id[1]) self.assertEqual(s[str(i)].long_abbrev, t[str(i)].long_abbrev) s_atoms = sum([len(r) for r in s]) t_atoms = sum([len(r) for r in t]) self.assertEqual(s_atoms, t_atoms)
def test_1ehz(self): """Everything should work for a more complicated structure.""" m = RNAChain('file', RNA_1EHZ) # atom count self.assertEqual(len(m), 76) # write if os.access(OUTPUT, os.F_OK): os.remove(OUTPUT) m.write_pdb_file(OUTPUT) self.assertTrue(os.access(OUTPUT, os.F_OK)) # reload n = RNAChain('file', OUTPUT) self.assertEqual(len(n), 76) # check iter res = [r for r in n] self.assertEqual(len(res), 76) # check residues self.assertEqual(n['1'].long_abbrev, 'G') self.assertEqual(n['8'].long_abbrev, 'U') self.assertEqual(n['10'].long_abbrev, 'm2G') self.assertEqual(n['76'].long_abbrev, 'A') self.assertEqual(n['16'].long_abbrev, 'D') self.assertRaises(RNAChainError, n.__getitem__, '77')