X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=test%2Fjalview%2Fanalysis%2Fscoremodels%2FScoreMatrixTest.java;h=1a5d43c98f91459a5effca9382d25029f9d2716f;hb=07194be147ec7a652d1029c9460fb6426db13b7e;hp=9c9e917ff1f50fd4860adb677e43f98f9eb609d6;hpb=2a9d6da50bb346c1f8cd38f104c958b7e8e6eff0;p=jalview.git diff --git a/test/jalview/analysis/scoremodels/ScoreMatrixTest.java b/test/jalview/analysis/scoremodels/ScoreMatrixTest.java index 9c9e917..1a5d43c 100644 --- a/test/jalview/analysis/scoremodels/ScoreMatrixTest.java +++ b/test/jalview/analysis/scoremodels/ScoreMatrixTest.java @@ -30,7 +30,7 @@ public class ScoreMatrixTest // note score matrix does not have to be symmetric (though it should be!) float[][] scores = new float[3][]; scores[0] = new float[] { 1f, 2f, 3f }; - scores[1] = new float[] { 4f, 5f, 6f }; + scores[1] = new float[] { -4f, 5f, 6f }; scores[2] = new float[] { 7f, 8f, 9f }; ScoreMatrix sm = new ScoreMatrix("Test", "ABC".toCharArray(), scores); assertEquals(sm.getSize(), 3); @@ -38,11 +38,14 @@ public class ScoreMatrixTest assertEquals(sm.getPairwiseScore('A', 'a'), 1f); assertEquals(sm.getPairwiseScore('b', 'c'), 6f); assertEquals(sm.getPairwiseScore('c', 'b'), 8f); - assertEquals(sm.getPairwiseScore('A', 'D'), 0f); assertEquals(sm.getMatrixIndex('c'), 2); assertEquals(sm.getMatrixIndex(' '), -1); - assertEquals(sm.getGapIndex(), -1); // no gap symbol + // substitution to or from unknown symbol gets minimum score + assertEquals(sm.getPairwiseScore('A', 'D'), -4f); + assertEquals(sm.getPairwiseScore('D', 'A'), -4f); + // unknown-to-self gets a score of 1 + assertEquals(sm.getPairwiseScore('D', 'D'), 1f); } @Test( @@ -161,8 +164,8 @@ public class ScoreMatrixTest assertEquals(sm.getMatrixIndex('D'), 3); assertEquals(sm.getMatrixIndex('X'), 22); assertEquals(sm.getMatrixIndex('x'), 22); - assertEquals(sm.getMatrixIndex('-'), 23); - assertEquals(sm.getMatrixIndex('*'), -1); + assertEquals(sm.getMatrixIndex('-'), -1); + assertEquals(sm.getMatrixIndex('*'), 23); assertEquals(sm.getMatrixIndex('.'), -1); assertEquals(sm.getMatrixIndex(' '), -1); assertEquals(sm.getMatrixIndex('?'), -1); @@ -170,13 +173,6 @@ public class ScoreMatrixTest } @Test(groups = "Functional") - public void testGetGapIndex() - { - ScoreMatrix sm = ScoreModels.getInstance().getBlosum62(); - assertEquals(sm.getGapIndex(), 23); - } - - @Test(groups = "Functional") public void testGetSize() { ScoreMatrix sm = ScoreModels.getInstance().getBlosum62(); @@ -426,8 +422,6 @@ public class ScoreMatrixTest assertTrue(sm.isProtein()); assertFalse(sm.isDNA()); assertNull(sm.getDescription()); - sm.setDescription("BLOSUM62"); - assertEquals(sm.getDescription(), "BLOSUM62"); /* * verify expected scores against ARNDCQEGHILKMFPSTWYVBZX @@ -529,8 +523,6 @@ public class ScoreMatrixTest assertEquals(sm.getMatrixIndex('-'), 1); assertEquals(sm.getMatrixIndex(' '), -1); assertEquals(sm.getMatrixIndex('.'), -1); - - assertEquals(sm.getGapIndex(), 1); } @Test(groups = "Functional") @@ -538,21 +530,24 @@ public class ScoreMatrixTest { float[][] scores = new float[2][]; scores[0] = new float[] { 1f, 2f }; - scores[1] = new float[] { 4f, 5f }; + scores[1] = new float[] { -4f, 5f }; ScoreMatrix sm = new ScoreMatrix("Test", new char[] { 'A', 'B' }, scores); assertEquals(sm.getPairwiseScore('A', 'A'), 1f); assertEquals(sm.getPairwiseScore('A', 'a'), 1f); assertEquals(sm.getPairwiseScore('A', 'B'), 2f); - assertEquals(sm.getPairwiseScore('b', 'a'), 4f); + assertEquals(sm.getPairwiseScore('b', 'a'), -4f); assertEquals(sm.getPairwiseScore('B', 'b'), 5f); /* - * unknown symbols currently score zero + * unknown symbols currently score minimum score + * or 1 for identity with self */ - assertEquals(sm.getPairwiseScore('A', '-'), 0f); - assertEquals(sm.getPairwiseScore('-', '-'), 0f); - assertEquals(sm.getPairwiseScore('Q', 'W'), 0f); + assertEquals(sm.getPairwiseScore('A', '-'), -4f); + assertEquals(sm.getPairwiseScore('-', 'A'), -4f); + assertEquals(sm.getPairwiseScore('-', '-'), 1f); + assertEquals(sm.getPairwiseScore('Q', 'W'), -4f); + assertEquals(sm.getPairwiseScore('Q', 'Q'), 1f); /* * symbols not in basic ASCII set score zero