From 2cb47edc13807225098fa448493ef17907fe9c64 Mon Sep 17 00:00:00 2001 From: Gabriel Studer <gabriel.studer@unibas.ch> Date: Wed, 20 Nov 2019 17:01:49 +0100 Subject: [PATCH] basic unit tests for ialign --- modules/bindings/tests/CMakeLists.txt | 1 + modules/bindings/tests/test_ialign.py | 37 +++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 modules/bindings/tests/test_ialign.py diff --git a/modules/bindings/tests/CMakeLists.txt b/modules/bindings/tests/CMakeLists.txt index 089f1ae9b..3d3efc3ab 100644 --- a/modules/bindings/tests/CMakeLists.txt +++ b/modules/bindings/tests/CMakeLists.txt @@ -7,6 +7,7 @@ set(OST_BINDINGS_UNIT_TESTS test_naccess.py test_cadscore.py test_tmtools.py + test_ialign.py ) ost_unittest(MODULE bindings diff --git a/modules/bindings/tests/test_ialign.py b/modules/bindings/tests/test_ialign.py new file mode 100644 index 000000000..33b6f610d --- /dev/null +++ b/modules/bindings/tests/test_ialign.py @@ -0,0 +1,37 @@ +import unittest +from ost import * +from ost import settings +from ost import testutils +from ost.seq.alg import SequenceIdentity +from ost.bindings import ialign + +class TestIAlign(unittest.TestCase): + + def setUp(self): + self.protein = io.LoadEntity("testfiles/testprotein.pdb") + + + def testIAlign(self): + + try: + ialign_exec = settings.Locate('ialign.pl') + except: + print("Could not find ialign master perl script: ignoring unit tests") + return + + ialign_result = ialign.iAlign(self.protein, self.protein) + + # model and reference are the same, we expect pretty good results + self.assertEqual(ialign_result.rmsd, 0.0) + self.assertEqual(ialign_result.is_score, 1.0) + self.assertEqual(SequenceIdentity(ialign_result.alignment), 100.0) + self.assertEqual(ialign_result.aligned_residues, 78) + self.assertEqual(ialign_result.aligned_contacts, 91) + + # transformation should be identity matrix (no transformation at all...) + identity = geom.Mat4(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1) + self.assertEqual(ialign_result.transform, identity) + + +if __name__ == "__main__": + testutils.RunTests() -- GitLab