diff --git a/modules/seq/alg/tests/test_weight_matrix.py b/modules/seq/alg/tests/test_weight_matrix.py new file mode 100644 index 0000000000000000000000000000000000000000..7d85996fb3e74d0aa3ee87eace30a04881b0918a --- /dev/null +++ b/modules/seq/alg/tests/test_weight_matrix.py @@ -0,0 +1,45 @@ +import unittest +from ost import * +from ost import settings +from ost import seq + +class TestWeightMatrix(unittest.TestCase): + + def test_GetWeight(self): + mat = seq.alg.BLOSUM62 + self.assertEqual(mat.GetWeight('A', 'A'), 4) + self.assertEqual(mat.GetWeight('A', 'B'), -2) + self.assertEqual(mat.GetWeight('a', 'A'), 4) + self.assertEqual(mat.GetWeight('A', 'b'), -2) + self.assertEqual(mat.GetWeight('A', '?'), 0) + self.assertEqual(mat.GetWeight('E', '?'), 0) + self.assertEqual(mat.GetWeight('Y', '?'), 0) + self.assertEqual(mat.GetWeight('?', 'A'), 0) + self.assertEqual(mat.GetWeight('?', 'E'), 0) + self.assertEqual(mat.GetWeight('?', 'Y'), 0) + self.assertEqual(mat.GetWeight('?', 'y'), 0) + + + def test_SetWeight(self): + mat = seq.alg.BLOSUM62 + self.assertEqual(mat.GetWeight('A', 'A'), 4) + mat.SetWeight('A', 'A', -1) + self.assertEqual(mat.GetWeight('A', 'A'), -1) + + self.assertEqual(mat.GetWeight('A', 'B'), -2) + mat.SetWeight('A', 'B', 10) + self.assertEqual(mat.GetWeight('A', 'B'), 10) + + self.assertEqual(mat.GetWeight('E', '?'), 0) + mat.SetWeight('E', '?', 10) + self.assertEqual(mat.GetWeight('E', '?'), 0) + + self.assertEqual(mat.GetWeight('?', 'E'), 0) + mat.SetWeight('?', 'E', 10) + self.assertEqual(mat.GetWeight('?', 'E'), 0) + +if __name__ == "__main__": + try: + unittest.main() + except Exception, e: + print e