From 321b7f055a79a67a938a955c0cbb06b5b1f74019 Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Thu, 27 Jun 2024 11:29:12 +0200 Subject: [PATCH] fix qsscoring unit test parasail produces slightly different alignments for one test case --- modules/mol/alg/tests/test_qsscoring.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/modules/mol/alg/tests/test_qsscoring.py b/modules/mol/alg/tests/test_qsscoring.py index fc73c72d6..f24760929 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) -- GitLab