| 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 |
|
|
| |
|
| 0% |
Uncovered Elements: 58 (58) |
Complexity: 6 |
Complexity Density: 0.12 |
|
| 23 |
|
public class HMMProbabilityDistributionAnalyserTest { |
| 24 |
|
|
| 25 |
|
HMMProbabilityDistributionAnalyser analyser = new HMMProbabilityDistributionAnalyser(); |
| 26 |
|
|
| |
|
| 0% |
Uncovered Elements: 8 (8) |
Complexity: 1 |
Complexity Density: 0.12 |
4-
|
|
| 27 |
0 |
@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 |
|
|
| |
|
| 0% |
Uncovered Elements: 18 (18) |
Complexity: 2 |
Complexity Density: 0.12 |
4-
|
|
| 44 |
0 |
@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 |
|
|
| |
|
| 0% |
Uncovered Elements: 6 (6) |
Complexity: 1 |
Complexity Density: 0.17 |
4-
|
|
| 73 |
0 |
@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 |
|
|
| |
|
| 0% |
Uncovered Elements: 7 (7) |
Complexity: 1 |
Complexity Density: 0.14 |
4-
|
|
| 84 |
0 |
@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 |
|
|
| |
|
| 0% |
Uncovered Elements: 14 (14) |
Complexity: 1 |
Complexity Density: 0.07 |
4-
|
|
| 98 |
0 |
@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 |
|
} |