Skip to content

Commit

Permalink
modify integration test
Browse files Browse the repository at this point in the history
  • Loading branch information
Ke Hu committed Jul 26, 2015
1 parent 67f9c5a commit 8871d24
Show file tree
Hide file tree
Showing 29 changed files with 1,902 additions and 1,789 deletions.
10 changes: 3 additions & 7 deletions BSPAT/src/edu/cwru/cbc/BSPAT/DataType/Pattern.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
import java.util.Map;

public class Pattern {
private static int patternCount = 1;
private int patternCount;
private String patternString;
private Map<String, Sequence> sequenceMap;
private int patternID;
Expand All @@ -17,12 +17,8 @@ public Pattern(String patternString, PatternType patternType) {
sequenceMap = new HashMap<>();
}

public static void resetPatternCount() {
patternCount = 1;
}

public void assignPatternID() {
this.patternID = patternCount++;
public void assignPatternID(int i) {
this.patternID = i;
}

public int getPatternID() {
Expand Down
5 changes: 2 additions & 3 deletions BSPAT/src/edu/cwru/cbc/BSPAT/core/BSSeqAnalysis.java
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,6 @@ public List<ReportSummary> execute(String experimentName,
reportSummaries.add(reportSummary);
continue;
}
Pattern.resetPatternCount();
sortAndAssignPatternID(methylationPatternList);
reportSummary.addPatternLink(PatternLink.METHYLATION);
report.writePatterns(methylationPatternList, PatternLink.METHYLATION, allMethylSequences);
Expand Down Expand Up @@ -337,8 +336,8 @@ private void sortAndAssignPatternID(List<Pattern> patternList) {
// sort methylation pattern.
Collections.sort(patternList, new PatternByCountComparator());
// assign pattern id after sorting. So id is associated with order. Smaller id has large count.
for (Pattern pattern : patternList) {
pattern.assignPatternID();
for (int i = 0; i < patternList.size(); i++) {
patternList.get(i).assignPatternID(i);
}
}

Expand Down
68 changes: 39 additions & 29 deletions BSPAT/test/edu/cwru/cbc/BSPAT/IntegrationTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -88,14 +88,14 @@ private String testMapping() throws ServletException {


assertEquals("Sequences analysed in total", 1676, myAnswer.resultConstant.mappingSummary.getSeqAnalysed());
assertEquals("Sequences with a unique best hit", 1586,
myAnswer.resultConstant.mappingSummary.getUniqueBestHit());
assertEquals("Sequences without any alignment", 90, myAnswer.resultConstant.mappingSummary.getNoAlignment());
assertEquals("Sequences did not map uniquely", 0, myAnswer.resultConstant.mappingSummary.getNotUnique());
assertEquals("Sequences with a unique best hit", 1586,
myAnswer.resultConstant.mappingSummary.getUniqueBestHit());
assertEquals("Sequences without any alignment", 90, myAnswer.resultConstant.mappingSummary.getNoAlignment());
assertEquals("Sequences did not map uniquely", 0, myAnswer.resultConstant.mappingSummary.getNotUnique());
assertEquals("Invalid sequences", 0, myAnswer.resultConstant.mappingSummary.getNotExtracted());
assertEquals("Mapping efficiency", "0.946",
myAnswer.resultConstant.mappingSummary.getMappingEfficiencyString());
assertTrue("Mapping phase running time less than 1 sec", myAnswer.resultConstant.mappingTime >= 1);
assertEquals("Mapping efficiency", "0.946",
myAnswer.resultConstant.mappingSummary.getMappingEfficiencyString());
assertTrue("Mapping phase running time less than 1 sec", myAnswer.resultConstant.mappingTime >= 1);

assertNotNull("Reference coordinates", myAnswer.resultConstant.getAbsolutePathCoorFile());
assertNotNull("Mapping result", myAnswer.resultConstant.mappingResultLink);
Expand All @@ -114,8 +114,8 @@ private void testAnalysis(String jobID) throws ServletException {
when(servletContext.getRealPath("")).thenReturn(testPath);
when(request.getParameter("jobID")).thenReturn(jobID);
when(request.getParameter("figureFormat")).thenReturn("png");
when(request.getParameter("criticalValue")).thenReturn("0.01");
when(request.getParameter("SNPThreshold")).thenReturn("0.2");
when(request.getParameter("criticalValue")).thenReturn("0.01");
when(request.getParameter("SNPThreshold")).thenReturn("0.2");
when(request.getParameter("conversionRateThreshold")).thenReturn("0.9");
when(request.getParameter("sequenceIdentityThreshold")).thenReturn("0.9");
MyAnswer myAnswer = new MyAnswer();
Expand All @@ -128,40 +128,50 @@ private void testAnalysis(String jobID) throws ServletException {

verify(request, Mockito.times(1)).getRequestDispatcher("analysisResult.jsp");

assertEquals("Sequence number cover target region", 1042,
myAnswer.resultConstant.seqCountSummary.getSeqTargetBounded());
assertEquals("Sequence number after filtering", 1010,
myAnswer.resultConstant.seqCountSummary.getSeqTargetAfterFilter());
assertEquals("Sequences don't cover whole target but cover all CpGs", 538,
myAnswer.resultConstant.seqCountSummary.getSeqCpGBounded());
assertEquals("CpG bounded Sequence number after filtering", 530,
myAnswer.resultConstant.seqCountSummary.getSeqCpGAfterFilter());
assertEquals("Sequences cover neither target nor all CpGs", 6,
myAnswer.resultConstant.seqCountSummary.getSeqOthers());
assertTrue("Analysis phase running time less than 1 sec", myAnswer.resultConstant.analysisTime >= 1);
assertEquals("Sequence number cover target region", 1042,
myAnswer.resultConstant.seqCountSummary.getSeqTargetBounded());
assertEquals("Sequence number after filtering", 1010,
myAnswer.resultConstant.seqCountSummary.getSeqTargetAfterFilter());
assertEquals("Sequences don't cover whole target but cover all CpGs", 538,
myAnswer.resultConstant.seqCountSummary.getSeqCpGBounded());
assertEquals("CpG bounded Sequence number after filtering", 526,
myAnswer.resultConstant.seqCountSummary.getSeqCpGAfterFilter());
assertEquals("Sequences cover neither target nor all CpGs", 6,
myAnswer.resultConstant.seqCountSummary.getSeqOthers());
assertTrue("Analysis phase running time less than 1 sec", myAnswer.resultConstant.analysisTime >= 1);

assertNotNull("Anslysis result", myAnswer.resultConstant.analysisResultLink);

assertEquals("Number of Experiments", 2, myAnswer.resultConstant.experiments.size());
assertEquals("Number of Regions", 1, myAnswer.resultConstant.experiments.get(0).getReportSummaries().size());
assertTrue("Has ASM pattern", myAnswer.resultConstant.experiments.get(0).getReportSummaries().get(0).hasASM());
assertEquals("Number of Regions", 1, myAnswer.resultConstant.experiments.get(1).getReportSummaries().size());
assertTrue("Has ASM pattern", myAnswer.resultConstant.experiments.get(0).getReportSummaries().get(0).hasASM());
assertEquals("Number of Regions", 1, myAnswer.resultConstant.experiments.get(1).getReportSummaries().size());
assertTrue("Has ASM pattern", myAnswer.resultConstant.experiments.get(1).getReportSummaries().get(0).hasASM());

// check pattern result files
File testFileFolder = new File("/home/kehu/IdeaProjects/BSPAT/testFiles");

File testFileFolder = new File(System.getProperty("user.dir") + "/BSPAT/testFiles");
File resultFolder = new File(String.format("%s/Job%s/pattern_result/", testPath, jobID));
checkResultFiles(testFileFolder, resultFolder);
}

private void checkResultFiles(File testFileFolder, File resultFolder) {
if (testFileFolder.exists() && resultFolder.exists()) {
File[] files = testFileFolder.listFiles(new ExtensionFilter(".txt"));
if (files != null) {
for (File file : files) {
junitx.framework.FileAssert.assertEquals(file.getName(), file, new File(
resultFolder.getAbsolutePath() + "/" + file.getName()));
File[] folders = testFileFolder.listFiles();
assert folders != null;
for (File folder : folders) {
File[] files = folder.listFiles(new ExtensionFilter(".txt"));
assert files != null;
for (File file : files) {
if (file.isDirectory()) {
File[] bedFiles = file.listFiles(new ExtensionFilter(".bed"));
for (File bedFile : bedFiles) {
junitx.framework.FileAssert.assertEquals(file.getName(), file, new File(
resultFolder.getAbsolutePath() + "/" + folder.getName() + "/" + file.getName() + "/" + bedFile
.getName()));
}
}
junitx.framework.FileAssert.assertEquals(file.getName(), file, new File(
resultFolder.getAbsolutePath() + "/" + folder.getName() + "/" + file.getName()));
}
}
}
Expand Down
33 changes: 16 additions & 17 deletions BSPAT/testFiles/experiment1/LOC440034_bismark.analysis.filtered.txt
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
methylationString ID originalSequence BisulfiteConversionRate methylationRate sequenceIdentity
CGAGGATGGCTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACTTCCCACTGCGAAGCAGGCGACCTGCT ref
null HWUSI-EAS149L_0095_FC:1:45:8236:15678#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.0 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:100:17798:18841#0/1 TGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACTTTTTATTGCGAAGTAGGCAATCTGCT 0.5384615384615384 0.6666666666666666 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:102:6429:20030#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.0 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:16:10711:3552#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTATCTATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.0 0.9705882352941176
null HWUSI-EAS149L_0095_FC:1:3:9813:11300#0/1 TGGGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTATTTTTTACTGCGAAGTAGGCGATCTGTT 0.8461538461538461 0.6666666666666666 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:28:10595:18151#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTTTATTGCGCAGCAGGCGATTTGTT 0.8461538461538461 0.6666666666666666 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:49:14392:11160#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.0 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:43:13278:8414#0/1 CGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.3333333333333333 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:108:11439:20961#0/1 TGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACCTTTTATTGCGAAGTAGGCAATCTGCT 0.5384615384615384 0.6666666666666666 0.9705882352941176
null HWUSI-EAS149L_0095_FC:1:3:13101:10743#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTTTATTGCGAAGTAGGCGATCTGTT 0.8461538461538461 0.6666666666666666 1.0
null HWUSI-EAS149L_0095_FC:1:110:3817:10383#0/1 TGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTTTATTTTTCATTGCGAAGTAGGCGATTTGTT 0.8461538461538461 0.6666666666666666 1.0
null HWUSI-EAS149L_0095_FC:1:45:18827:9589#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTCTATTGTGAAGTAGGTGATTTGTT 0.8461538461538461 0.0 1.0
null HWUSI-EAS149L_0095_FC:1:52:8098:9795#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGGTTATTTCTCATTGTGAAGTAGGTAATTTGTT 0.8461538461538461 0.0 0.9705882352941176
null HWUSI-EAS149L_0095_FC:1:107:11427:9924#0/1 TGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTTTACTTTTTATTGTGAAGTGGGTAATTTGTT 0.8461538461538461 0.0 0.9705882352941176
null HWUSI-EAS149L_0095_FC:1:28:8044:6247#0/1 TGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTATTTTTCATTGTGAAGCAGGTAATTTGTT 0.8461538461538461 0.0 0.9852941176470589
null HWUSI-EAS149L_0095_FC:1:57:5987:11522#0/1 TGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACTTTTTATTGCGAAGTAGGCAATCTGCT 0.5384615384615384 0.6666666666666666 0.9852941176470589
-----------------------**---------------------------------------------------**-------**-------* HWUSI-EAS149L_0095_FC:1:45:8236:15678#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTTT 0.8888888888888888 0.0 0.989010989010989
----------------------**---------------------------------------------------@@-------@@-------@@ HWUSI-EAS149L_0095_FC:1:100:17798:18841#0/1 ATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACTTTTTATTGCGAAGTAGGCAATCTGCTCG 0.6470588235294117 0.75 0.989010989010989
-----------------------**---------------------------------------------------**-------**-------** HWUSI-EAS149L_0095_FC:1:102:6429:20030#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTTTG 0.8888888888888888 0.0 0.9891304347826086
-------------------------**---------------------------------------------------**-------**-------* HWUSI-EAS149L_0095_FC:1:16:10711:3552#0/1 AATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTATCTATTGTGAAGTAGGTAATTTGTTT 0.8888888888888888 0.0 0.978494623655914
----------------------**---------------------------------------------------@@-------@@-------** HWUSI-EAS149L_0095_FC:1:3:9813:11300#0/1 ATTTTTAATGAGGGAGGAGGTTTGGGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTATTTTTTACTGCGAAGTAGGCGATCTGTTTG 0.8823529411764706 0.5 0.989010989010989
--------------------------**---------------------------------------------------@@-------@@-------@@ HWUSI-EAS149L_0095_FC:1:28:10595:18151#0/1 AAATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTTTATTGCGCAGCAGGCGATTTGTTCG 0.8888888888888888 0.75 0.9894736842105263
------------------------**---------------------------------------------------**-------**-------* HWUSI-EAS149L_0095_FC:1:49:14392:11160#0/1 ATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTTT 0.8888888888888888 0.0 0.9891304347826086
------------------------@@---------------------------------------------------**-------**-------** HWUSI-EAS149L_0095_FC:1:43:13278:8414#0/1 ATATTTTTAATGAGGGAGGAGGTTCGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTACTTTCTATTGTGAAGTAGGTAATTTGTTTG 0.8888888888888888 0.25 0.989247311827957
-----------------------**---------------------------------------------------@@-------@@------- HWUSI-EAS149L_0095_FC:1:108:11439:20961#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACCTTTTATTGCGAAGTAGGCAATCTGCT 0.6666666666666667 0.6666666666666666 0.978021978021978
-----------------------**---------------------------------------------------@@-------@@------- HWUSI-EAS149L_0095_FC:1:3:13101:10743#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTTTATTGCGAAGTAGGCGATCTGTT 0.8888888888888888 0.6666666666666666 1.0
------------------------**---------------------------------------------------@@-------@@-------* HWUSI-EAS149L_0095_FC:1:110:3817:10383#0/1 ATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTTTATTTTTCATTGCGAAGTAGGCGATTTGTTT 0.8888888888888888 0.5 1.0
--------------------------**---------------------------------------------------**-------**-------** HWUSI-EAS149L_0095_FC:1:45:18827:9589#0/1 AAATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTCATTTTCTATTGTGAAGTAGGTGATTTGTTTG 0.8888888888888888 0.0 1.0
-----------------------**---------------------------------------------------**-------**-------* HWUSI-EAS149L_0095_FC:1:52:8098:9795#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGGTTATTTCTCATTGTGAAGTAGGTAATTTGTTT 0.8888888888888888 0.0 0.978021978021978
------------------------**---------------------------------------------------**-------**------- HWUSI-EAS149L_0095_FC:1:107:11427:9924#0/1 ATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTTTACTTTTTATTGTGAAGTGGGTAATTTGTT 0.8888888888888888 0.0 0.9782608695652174
-------------------------**---------------------------------------------------**-------**------- HWUSI-EAS149L_0095_FC:1:28:8044:6247#0/1 AATATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGATTGGAGGAGAAGGTTTATTTTTCATTGTGAAGCAGGTAATTTGTT 0.8888888888888888 0.0 0.989247311827957
-----------------------**---------------------------------------------------@@-------@@-------@@ HWUSI-EAS149L_0095_FC:1:57:5987:11522#0/1 TATTTTTAATGAGGGAGGAGGTTTGAGGATGGTTGGGTTTGATTTATGACTGGAGGAGAAGGTCCACTTTTTATTGCGAAGTAGGCAATCTGCTCG 0.6666666666666667 0.75 0.9891304347826086
Loading

0 comments on commit 8871d24

Please sign in to comment.