Clover icon

Coverage Report

  1. Project Clover database Thu Dec 4 2025 16:11:35 GMT
  2. Package jalview.util

File HMMProbabilityDistributionAnalyserTest.java

 

Code metrics

2
51
5
1
119
97
6
0.12
10.2
5
1.2

Classes

Class Line # Actions
HMMProbabilityDistributionAnalyserTest 23 51 6
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

1    package jalview.util;
2   
3    import jalview.datamodel.HMMNode;
4    import jalview.datamodel.HiddenMarkovModel;
5    import jalview.datamodel.Sequence;
6    import jalview.datamodel.SequenceI;
7   
8    import static org.testng.Assert.assertEquals;
9    import static org.testng.Assert.assertNull;
10   
11    import java.io.BufferedReader;
12    import java.io.FileReader;
13    import java.io.IOException;
14    import java.util.ArrayList;
15    import java.util.List;
16    import java.util.Map;
17    import java.util.Vector;
18   
19    import org.testng.annotations.Test;
20   
21    import junit.extensions.PA;
22   
 
23    public class HMMProbabilityDistributionAnalyserTest {
24   
25    HMMProbabilityDistributionAnalyser analyser = new HMMProbabilityDistributionAnalyser();
26   
 
27  0 toggle @Test
28    public void testMoveToFile() throws IOException
29    {
30   
31  0 BufferedReader br = new BufferedReader(new FileReader(
32    "test/jalview/util/test_Fams_for_probability_analysis"));
33  0 analyser.moveLocationBy(1, br);
34   
35  0 String line = br.readLine();
36  0 assertEquals(line, "# STOCKHOLM 1.0");
37  0 line = br.readLine();
38  0 assertEquals(line, "seq1 ATW");
39  0 line = br.readLine();
40  0 assertEquals(line, "seq2 ATI");
41   
42    }
43   
 
44  0 toggle @Test
45    public void testCountValidResidues()
46    {
47  0 analyser.sequences = new Vector<>();
48  0 analyser.hmm = new HiddenMarkovModel();
49  0 analyser.hmm.setProperty("LENG", "8");
50   
51  0 List<HMMNode> nodes = new ArrayList<>();
52  0 nodes.add(new HMMNode());
53  0 for (int i = 1; i < 9; i++)
54    {
55  0 HMMNode node = new HMMNode();
56  0 node.setResidueNumber(i - 1);
57  0 nodes.add(node);
58   
59    }
60  0 PA.setValue(analyser.hmm, "nodes", nodes);
61   
62  0 SequenceI[] sequence = new Sequence[] {
63    new Sequence("seq1", "ATGWWSCF"), new Sequence("seq2", "GGMKI"),
64    new Sequence("seq3", "--.ATccGc") };
65  0 analyser.sequences.add(sequence[0]);
66  0 analyser.sequences.add(sequence[1]);
67  0 analyser.sequences.add(sequence[2]);
68   
69  0 int count = analyser.countValidResidues();
70  0 assertEquals(count, 16);
71    }
72   
 
73  0 toggle @Test(priority = 0)
74    public void testReadBinned() throws IOException
75    {
76  0 analyser.readBinned("test/jalview/util/");
77  0 Map<String, Double> map = analyser.binned;
78  0 assertEquals((double) map.get("1.8"), 4.53);
79  0 assertEquals((double) map.get("3.4"), 2.65);
80  0 assertEquals((double) map.get("6.4"), 10.8);
81  0 assertEquals((double) map.get("0"), 5.4);
82    }
83   
 
84  0 toggle @Test
85    public void testReadRaw() throws IOException
86    {
87  0 analyser.readRaw("test/jalview/util/");
88  0 List<ArrayList<Double>> list = analyser.raw;
89   
90  0 assertEquals((double) list.get(0).get(0), 1.43);
91  0 assertNull(list.get(0).get(2));
92  0 assertEquals((double) list.get(1).get(1), 1.2);
93  0 assertEquals((double) list.get(2).get(0), 5.6);
94  0 assertEquals((double) list.get(2).get(2), 6.8);
95   
96    }
97   
 
98  0 toggle @Test(priority = 1)
99    public void testProcessData() throws IOException
100    {
101  0 analyser.keepRaw = true;
102  0 BufferedReader brFam = new BufferedReader(new FileReader(
103    "test/jalview/util/test_Fams_for_probability_analysis"));
104  0 BufferedReader brHMM = new BufferedReader(new FileReader(
105    "test/jalview/util/test_HMMs_for_probability_analysis"));
106  0 analyser.readStockholm(brFam);
107  0 analyser.readHMM(brHMM);
108  0 analyser.processData(6);
109  0 Map<String, Double> map = analyser.binned;
110  0 List<ArrayList<Double>> list = analyser.raw;
111  0 assertEquals((double) map.get("1.8"), 4.863d, 0.001d);
112  0 assertEquals((double) map.get("3.4"), 2.65);
113  0 assertEquals((double) map.get("0"), 5.4);
114  0 assertEquals((double) map.get("6.4"), 10.8);
115  0 assertEquals((double) map.get("1.4"), 0.166667, 0.00001d);
116  0 assertEquals((double) map.get("4.4"), 0.5);
117   
118    }
119    }