Skip to content
Snippets Groups Projects
Commit 56f724fa authored by Studer Gabriel's avatar Studer Gabriel
Browse files

qsscore: explicitely test symmetry in qsscore, i.e. S(x,y) == S(y,x)

parent 115c411c
No related branches found
No related tags found
No related merge requests found
......@@ -144,6 +144,17 @@ class TestQSScore(unittest.TestCase):
qs_score = qs_scorer.GetQSScore(res.mapping)
self.assertAlmostEqual(qs_score, 0.323, 2)
def test_hetero_model_switched_order(self):
# same as above but with switched order to test for symmetric behaviour
# of QS score
target = _LoadFile('1eud_mdl_partial-dimer.pdb') # BA, no symmetry
model = _LoadFile('1eud_ref.pdb') # AB, no symmetry
mapper = ChainMapper(target)
res = mapper.GetRigidMapping(model, strategy="greedy_iterative_rmsd")
qs_scorer = QSScorer.FromMappingResult(res)
qs_score = qs_scorer.GetQSScore(res.mapping)
self.assertAlmostEqual(qs_score, 0.323, 2)
def test_homo_1(self):
# different stoichiometry SOD
ent_1 = _LoadFile('4dvh.1.pdb') # A2, symmetry: C2
......@@ -167,6 +178,17 @@ class TestQSScore(unittest.TestCase):
qs_score = qs_scorer.GetQSScore(res.mapping)
self.assertAlmostEqual(qs_score, 1/6, 2)
def test_homo_2_switched_order(self):
# same as above but with switched order to test for symmetric behaviour
# of QS score
ent_2 = _LoadFile('4r7y.1.pdb') # A6, symmetry: C6
ent_1 = ent_2.Select('cname=A,B') # A2, no symmetry
mapper = ChainMapper(ent_1)
res = mapper.GetRigidMapping(ent_2, strategy="greedy_iterative_rmsd")
qs_scorer = QSScorer.FromMappingResult(res)
qs_score = qs_scorer.GetQSScore(res.mapping)
self.assertAlmostEqual(qs_score, 1/6, 2)
if __name__ == "__main__":
from ost import testutils
if testutils.SetDefaultCompoundLib():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment