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

dummy commit 4

see previous commits...
parent 0836b79f
No related branches found
No related tags found
No related merge requests found
......@@ -12,6 +12,7 @@ import datetime
import ost
from ost import seq
from ost import settings
from ost import io
from ost.bindings import hhblits3
class _UnitTestHHblitsLog(ost.LogSink):
......@@ -154,14 +155,39 @@ class TestHHblitsBindings(unittest.TestCase):
with open(hhfile) as tfh:
tlst = tfh.readlines()
with open("testfiles/test.hmm") as efh:
elst_1 = efh.readlines()
with open("testfiles/test_2.hmm") as efh:
elst_2 = efh.readlines()
assert(len(elst_1)==len(elst_2))
self.assertEqual(len(elst_1), len(tlst))
for i in range(0, len(elst_1)):
if not elst_1[i].startswith(('FILE', 'COM', 'DATE')):
self.assertTrue(elst_1[i] == tlst[i] or elst_2[i] == tlst[i])
elst = efh.readlines()
self.assertEqual(len(elst), len(tlst))
for i in range(0, len(elst)):
if elst[i].startswith("NULL"):
break # only compare header, profile is checked separately
if not elst[i].startswith(('FILE', 'COM', 'DATE')):
self.assertEqual(elst[i], tlst[i])
prof = io.LoadSequenceProfile(hhfile, format="hhm")
ref_prof = io.LoadSequenceProfile("testfiles/test.hmm", format="hhm")
hmm_transitions = [seq.HMMTransition.HMM_M2M, seq.HMMTransition.HMM_M2I,
seq.HMMTransition.HMM_M2D, seq.HMMTransition.HMM_I2M,
seq.HMMTransition.HMM_I2I, seq.HMMTransition.HMM_D2M,
seq.HMMTransition.HMM_D2D]
self.assertEqual(prof.sequence, ref_prof.sequence)
self.assertEqual(prof.neff, ref_prof.neff)
for col, ref_col in zip(prof.columns, ref_prof.columns):
hmm_data = col.hmm_data
ref_hmm_data = ref_col.hmm_data
self.assertAlmostEqual(hmm_data.neff, ref_hmm_data.neff, places=2)
self.assertAlmostEqual(hmm_data.neff_i, ref_hmm_data.neff_i,
places=2)
self.assertAlmostEqual(hmm_data.neff_d, ref_hmm_data.neff_d,
places=2)
for t in hmm_transitions:
self.assertAlmostEqual(hmm_data.GetProb(t),
ref_hmm_data.GetProb(t), places=2)
for olc in "ARNDQEKSCMWYTVILGPHF":
self.assertAlmostEqual(col.GetFreq(olc), ref_col.GetFreq(olc),
places=2)
def testA3mToProfileWithoutFileName(self):
# test A3mToProfile to work without a given hhmake_file name
......@@ -175,14 +201,38 @@ class TestHHblitsBindings(unittest.TestCase):
with open(hhfile) as tfh:
tlst = tfh.readlines()
with open("testfiles/test.hmm") as efh:
elst_1 = efh.readlines()
with open("testfiles/test_2.hmm") as efh:
elst_2 = efh.readlines()
assert(len(elst_1)==len(elst_2))
self.assertEqual(len(elst_1), len(tlst))
for i in range(0, len(elst_1)):
if not elst_1[i].startswith(('FILE', 'COM', 'DATE')):
self.assertEqual(elst_2[i], tlst[i])
elst = efh.readlines()
self.assertEqual(len(elst), len(tlst))
for i in range(0, len(elst)):
if elst[i].startswith("NULL"):
break # only compare header, profile is checked separately
if not elst[i].startswith(('FILE', 'COM', 'DATE')):
self.assertEqual(elst[i], tlst[i])
prof = io.LoadSequenceProfile(hhfile, format="hhm")
ref_prof = io.LoadSequenceProfile("testfiles/test.hmm", format="hhm")
hmm_transitions = [seq.HMMTransition.HMM_M2M, seq.HMMTransition.HMM_M2I,
seq.HMMTransition.HMM_M2D, seq.HMMTransition.HMM_I2M,
seq.HMMTransition.HMM_I2I, seq.HMMTransition.HMM_D2M,
seq.HMMTransition.HMM_D2D]
self.assertEqual(prof.sequence, ref_prof.sequence)
self.assertEqual(prof.neff, ref_prof.neff)
for col, ref_col in zip(prof.columns, ref_prof.columns):
hmm_data = col.hmm_data
ref_hmm_data = ref_col.hmm_data
self.assertAlmostEqual(hmm_data.neff, ref_hmm_data.neff, places=2)
self.assertAlmostEqual(hmm_data.neff_i, ref_hmm_data.neff_i,
places=2)
self.assertAlmostEqual(hmm_data.neff_d, ref_hmm_data.neff_d,
places=2)
for t in hmm_transitions:
self.assertAlmostEqual(hmm_data.GetProb(t),
ref_hmm_data.GetProb(t), places=2)
for olc in "ARNDQEKSCMWYTVILGPHF":
self.assertAlmostEqual(col.GetFreq(olc), ref_col.GetFreq(olc),
places=2)
os.remove(hhfile)
def testA3mToProfileWithExistingFile(self):
......
This diff is collapsed.
......@@ -55,7 +55,7 @@ void export_profile_handle()
.value("HMM_D2D", HMM_D2D)
;
class_<HMMData>("HMMData", init<>())
class_<HMMData, HMMDataPtr>("HMMData", init<>())
.add_property("neff", &HMMData::GetNeff, &HMMData::SetNeff)
.add_property("neff_i", &HMMData::GetNeff_I, &HMMData::SetNeff_I)
.add_property("neff_d", &HMMData::GetNeff_D, &HMMData::SetNeff_D)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment