Skip to content

Commit

Permalink
Add tests for Jess output comparing to output from CLI
Browse files Browse the repository at this point in the history
  • Loading branch information
althonos committed Apr 12, 2024
1 parent ae3c6ad commit 97033d1
Show file tree
Hide file tree
Showing 6 changed files with 58 additions and 2 deletions.
6 changes: 4 additions & 2 deletions pyjess/tests/__init__.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
from . import (
test_atom,
test_atom,
test_jess,
test_molecule,
test_tess_atom,
test_tess_atom,
test_tess_template
)

def load_tests(loader, suite, pattern):
suite.addTests(loader.loadTestsFromModule(test_atom))
suite.addTests(loader.loadTestsFromModule(test_jess))
suite.addTests(loader.loadTestsFromModule(test_molecule))
suite.addTests(loader.loadTestsFromModule(test_tess_atom))
suite.addTests(loader.loadTestsFromModule(test_tess_template))
Expand Down
Empty file added pyjess/tests/data/__init__.py
Empty file.
1 change: 1 addition & 0 deletions pyjess/tests/data/template_01.qry
1 change: 1 addition & 0 deletions pyjess/tests/data/template_02.qry
45 changes: 45 additions & 0 deletions pyjess/tests/test_jess.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import unittest

from .._jess import Template, Molecule, Jess
from .utils import files
from . import data


class TestAtom(unittest.TestCase):

@unittest.skipUnless(files, "importlib.resources not available")
def test_query(self):

with files(data).joinpath("template_01.qry").open() as f:
template = Template.load(f)
jess = Jess([template])

with files(data).joinpath("pdb1lnb.pdb").open() as f:
molecule = Molecule.load(f)

hits = list(jess.query(molecule, 1, 2, 2))
self.assertEqual(len(hits), 1)
self.assertAlmostEqual(hits[0].rmsd, 0.555, places=3)
self.assertAlmostEqual(hits[0].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[0].log_evalue, -2.10, places=1)

hits = list(jess.query(molecule, 2, 5, 3))
self.assertEqual(len(hits), 2)
self.assertAlmostEqual(hits[0].rmsd, 0.555, places=3)
self.assertAlmostEqual(hits[0].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[0].log_evalue, -2.10, places=1)
self.assertAlmostEqual(hits[1].rmsd, 1.440, places=3)
self.assertAlmostEqual(hits[1].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[1].log_evalue, 0.12, places=1)

hits = list(jess.query(molecule, 2, 5, 5))
self.assertEqual(len(hits), 3)
self.assertAlmostEqual(hits[0].rmsd, 0.555, places=3)
self.assertAlmostEqual(hits[0].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[0].log_evalue, -2.10, places=1)
self.assertAlmostEqual(hits[1].rmsd, 1.440, places=3)
self.assertAlmostEqual(hits[1].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[1].log_evalue, 0.12, places=1)
self.assertAlmostEqual(hits[2].rmsd, 1.644, places=3)
self.assertAlmostEqual(hits[2].determinant, 1.0, places=3)
self.assertAlmostEqual(hits[2].log_evalue, 0.63, places=1)
7 changes: 7 additions & 0 deletions pyjess/tests/utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
try:
from importlib.resources import files
except ImportError:
try:
from importlib_resources import files # type: ignore
except ImportError:
files = None # type: ignore

0 comments on commit 97033d1

Please # to comment.