diff --git a/modules/mol/alg/tests/test_qsscoring.py b/modules/mol/alg/tests/test_qsscoring.py index fc73c72d6b72a34dacb0365997460eba9c9e2a1d..f247609295a231362af6fe8e08f8fd7a5c75797d 100644 --- a/modules/mol/alg/tests/test_qsscoring.py +++ b/modules/mol/alg/tests/test_qsscoring.py @@ -1,6 +1,6 @@ import unittest, os, sys import ost -from ost import io, mol, settings +from ost import io, mol, settings, seq # check if we can import: fails if numpy or scipy not available try: from ost.mol.alg.qsscoring import * @@ -301,8 +301,18 @@ class TestQSscore(unittest.TestCase): ent_1 = _LoadFile('4dvh.1.pdb') # A2, symmetry: C2 ent_2 = _LoadFile('4br6.1.pdb') # A4, symmetry: D2 qs_scorer = QSscorer(ent_1, ent_2) - self.assertAlmostEqual(qs_scorer.global_score, 0.147, 2) - self.assertAlmostEqual(qs_scorer.best_score, 0.866, 2) + + # The alignments from parasail slightly differ. The sequence identities + # are in the range 40% but slightly lower for parasail alignments. + # however, the parasail alignments appear less gappy and "nicer". + # They nevertheless lead to lower QS-score. + if seq.alg.ParasailAvailable(): + self.assertAlmostEqual(qs_scorer.global_score, 0.14757304498883386, 2) + self.assertAlmostEqual(qs_scorer.best_score, 0.7878766697963304, 2) + else: + self.assertAlmostEqual(qs_scorer.global_score, 0.14797023263299844, 2) + self.assertAlmostEqual(qs_scorer.best_score, 0.8666616636985371, 2) + self._CheckScorer(qs_scorer) # check properties self.assertFalse(qs_scorer.calpha_only)