1 package jalview.schemes;
3 import static org.testng.Assert.assertEquals;
5 import jalview.io.DataSourceType;
6 import jalview.io.HMMFile;
9 import java.io.IOException;
10 import java.net.MalformedURLException;
12 import org.testng.annotations.Test;
14 public class HMMERColourSchemeTest {
16 @Test(groups = "Functional")
17 public void testFindColour() throws MalformedURLException, IOException
19 HMMFile file = new HMMFile("test/jalview/io/test_PKinase_hmm.txt",
22 ColourSchemeI scheme = new HMMERColourScheme(file.getHMM());
25 * 'A' in column 1, node 2, match emission 2.77204
27 * background frequency is 0.0826
28 * ratio is 0.757, log is negative, colour is Orange
30 Color actual = scheme.findColour('A', 1, null, null, 0);
31 assertEquals(actual, Color.ORANGE);
34 actual = scheme.findColour('-', 2, null, null, 0);
35 assertEquals(actual, Color.WHITE);
36 actual = scheme.findColour(' ', 2, null, null, 0);
37 assertEquals(actual, Color.WHITE);
38 actual = scheme.findColour('.', 2, null, null, 0);
39 assertEquals(actual, Color.WHITE);
42 * 'Y' in column 4, node 5, match emission 4.41426
44 * background frequency is 0.0292
45 * ratio is 0.414, log is negative, colour is Orange
47 actual = scheme.findColour('Y', 4, null, null, 0);
48 assertEquals(actual, Color.ORANGE);
51 * 'M' in column 109, no matching node, colour is reddish
53 actual = scheme.findColour('M', 109, null, null, 0);
54 assertEquals(actual, new Color(230, 0, 0));
57 * 'I' in column 6, node 7, match emission 1.33015
59 * background frequency is 0.0593
60 * ratio is 4.459, log is 1.495
61 * colour is graduated 1.495/4.52 or 84/255 of the way from
62 * white(255, 255, 255) to blue(0, 0, 255)
64 actual = scheme.findColour('I', 6, null, null, 0);
65 assertEquals(actual, new Color(171, 171, 255));
68 * 'V' in column 14, node 15, match emission 0.44769
70 * background frequency is 0.0686
71 * ratio is 9.316, log is 2.232
72 * colour is graduated 2.232/4.52 or 126/255 of the way from
73 * white(255, 255, 255) to blue(0, 0, 255)
75 actual = scheme.findColour('V', 14, null, null, 0);
76 assertEquals(actual, new Color(129, 129, 255));
79 * invalid symbol is White
81 actual = scheme.findColour('X', 2, null, null, 0);
82 assertEquals(actual, Color.WHITE);