Exemplo n.º 1
0
 def test_uc(self):
     """compares asa within unit cell."""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     asa.asa_xtra(self.input_structure, symmetry_mode='uc', xtra_key='ASA_UC')
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     self.input_structure.propagateData(sum, 'A', 'ASA_UC', xtra=True)
     residues = einput(self.input_structure, 'R')
     x = residues[('2E12', 0, 'B', ('GLU', 77, ' '))].xtra.values()
     self.assertTrue(x[0] != x[1])
Exemplo n.º 2
0
 def test_uc2(self):
     self.input_file = os.path.join('data', '1LJO.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     asa.asa_xtra(self.input_structure, symmetry_mode='uc', xtra_key='ASA_XTAL')
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     self.input_structure.propagateData(sum, 'A', 'ASA_XTAL', xtra=True)
     residues = einput(self.input_structure, 'R')
     r1 = residues[('1LJO', 0, 'A', ('ARG', 65, ' '))]
     r2 = residues[('1LJO', 0, 'A', ('ASN', 46, ' '))]
     self.assertFloatEqual(r1.xtra.values(),
                           [128.94081270529105, 22.807700865674093])
     self.assertFloatEqual(r2.xtra.values(),
                           [115.35738419425566, 115.35738419425566])
Exemplo n.º 3
0
 def _test_bio(self):
     """compares asa within a bio unit."""
     self.input_file = os.path.join('data', '1A1X.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     asa.asa_xtra(self.input_structure, symmetry_mode='bio', xtra_key='ASA_BIO')
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     self.input_structure.propagateData(sum, 'A', 'ASA_BIO', xtra=True)
     residues = einput(self.input_structure, 'R')
     r1 = residues[('1A1X', 0, 'A', ('GLU', 37, ' '))]
     r2 = residues[('1A1X', 0, 'A', ('TRP', 15, ' '))]
     self.assertFloatEqual(r1.xtra.values(), \
                             [20.583191467544726, 78.996394472066541])
     self.assertFloatEqual(r2.xtra.values(), \
                             [136.41436710386989, 136.41436710386989])
Exemplo n.º 4
0
 def test_compare(self):
     """compares internal asa to stride."""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     try:
         asa.asa_xtra(self.input_structure, mode='stride')
     except ApplicationNotFoundError:
         return
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     residues = einput(self.input_structure, 'R')
     asa1 = []
     asa2 = []
     for residue in residues.selectChildren('H_HOH', 'ne', 'name').values():
         asa1.append(residue.xtra['ASA'])
         asa2.append(residue.xtra['STRIDE_ASA'])
     self.assertAlmostEqual(correlation(asa1, asa2)[1], 0.)
Exemplo n.º 5
0
 def test_compare(self):
     """compares internal asa to stride."""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     try:
         asa.asa_xtra(self.input_structure, mode='stride')
     except ApplicationNotFoundError: 
         return            
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     residues = einput(self.input_structure, 'R')
     asa1 = []
     asa2 = []
     for residue in  residues.selectChildren('H_HOH', 'ne', 'name').values():
         asa1.append(residue.xtra['ASA'])
         asa2.append(residue.xtra['STRIDE_ASA'])
     self.assertAlmostEqual(correlation(asa1, asa2)[1], 0.)
Exemplo n.º 6
0
 def test_crystal(self):
     """compares asa within unit cell."""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     asa.asa_xtra(self.input_structure, symmetry_mode='uc', crystal_mode=2, xtra_key='ASA_XTAL')
     asa.asa_xtra(self.input_structure)
     self.input_structure.propagateData(sum, 'A', 'ASA', xtra=True)
     self.input_structure.propagateData(sum, 'A', 'ASA_XTAL', xtra=True)
     residues = einput(self.input_structure, 'R')
     r1 = residues[('2E12', 0, 'A', ('ALA', 42, ' '))]
     r2 = residues[('2E12', 0, 'A', ('VAL', 8, ' '))]
     r3 = residues[('2E12', 0, 'A', ('LEU', 25, ' '))]
     self.assertFloatEqual(r1.xtra.values(), \
                             [32.041070749038823, 32.041070749038823])
     self.assertFloatEqual(r3.xtra.values(), \
                            [0., 0.])
     self.assertFloatEqual(r2.xtra.values(), \
                             [28.873559956056916, 0.0])
Exemplo n.º 7
0
 def test_asa_xtra_stride(self):
     """test asa via stride"""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     try:
         result = asa.asa_xtra(self.input_structure, 'stride')
     except ApplicationNotFoundError:
         return
     self.assertAlmostEqual(self.input_structure[(0,)][('B',)]\
                            [(('LEU', 35, ' '),)].xtra['STRIDE_ASA'], 17.20)
Exemplo n.º 8
0
 def test_asa_xtra(self):
     """test internal asa"""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     self.assertRaises(ValueError, asa.asa_xtra, self.input_structure, mode='a')
     result = asa.asa_xtra(self.input_structure)
     a = einput(self.input_structure, 'A')
     for i in range(len(result)):
         self.assertEquals(result.values()[i]['ASA'], a[result.keys()[i]].xtra['ASA'])
     r = einput(self.input_structure, 'R')
     for water in  r.selectChildren('H_HOH', 'eq', 'name').values():
         self.assertFalse('ASA' in water.xtra)
     for residue in  r.selectChildren('H_HOH', 'ne', 'name').values():
         for a in residue:
             self.assertTrue('ASA' in a.xtra)
     result = asa.asa_xtra(self.input_structure, xtra_key='SASA')
     for residue in  r.selectChildren('H_HOH', 'ne', 'name').values():
         for a in residue:
             a.xtra['ASA'] == a.xtra['SASA']
Exemplo n.º 9
0
 def test_asa_xtra_stride(self):
     """test asa via stride"""
     self.input_file = os.path.join('data', '2E12.pdb')
     self.input_structure = PDBParser(open(self.input_file))
     try:
         result = asa.asa_xtra(self.input_structure, 'stride')
     except ApplicationNotFoundError: 
         return
     self.assertAlmostEqual(self.input_structure[(0,)][('B',)]\
                            [(('LEU', 35, ' '),)].xtra['STRIDE_ASA'], 17.20)