Skip to content

Commit 70f6664

Browse files
committed
update more failing tests
1 parent 8aebd29 commit 70f6664

File tree

1 file changed

+67
-69
lines changed

1 file changed

+67
-69
lines changed

qsnp/test/org/qcmg/snp/VcfPipelineTest.java

Lines changed: 67 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.qcmg.snp;
22

3-
import static org.junit.Assert.assertEquals;
43
import htsjdk.samtools.SAMFileHeader;
54
import htsjdk.samtools.SAMSequenceRecord;
65
import htsjdk.samtools.SamReader;
@@ -10,7 +9,6 @@
109
import java.io.PrintWriter;
1110
import java.util.ArrayList;
1211
import java.util.Arrays;
13-
import java.util.Collections;
1412
import java.util.Comparator;
1513
import java.util.HashMap;
1614
import java.util.List;
@@ -35,6 +33,8 @@
3533
import org.qcmg.picard.SAMFileReaderFactory;
3634
import org.qcmg.qio.vcf.VcfFileReader;
3735

36+
import static org.junit.Assert.*;
37+
3838
public class VcfPipelineTest {
3939

4040
@org.junit.Rule
@@ -43,13 +43,13 @@ public class VcfPipelineTest {
4343
public ExpectedException thrown= ExpectedException.none();
4444

4545
private void createFile( File vcfFile, List<String> data ) throws IOException {
46-
try (final PrintWriter pw = new PrintWriter(vcfFile);){
47-
data.stream().forEachOrdered(pw::println);
46+
try (final PrintWriter pw = new PrintWriter(vcfFile)){
47+
data.forEach(pw::println);
4848
}
4949
}
5050

5151
@Test
52-
public void readsEndAfter1Snp() throws SnpException, Exception {
52+
public void readsEndAfter1Snp() throws Exception {
5353
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
5454
final File testInputVcf = testFolder.newFile("test.vcf");
5555
final File testInputBam = testFolder.newFile("test.sam");
@@ -76,28 +76,28 @@ public void updateGTField() {
7676
VcfRecord v = new VcfRecord(new String[]{"chr1","881627","rs2272757","G","A","164.77",".","AC=1;AF=0.500;AN=2;BaseQRankSum=-2.799;ClippingRankSum=1.555;DB;DP=18;FS=7.375;MLEAC=1;MLEAF=0.500;MQ=59.94;MQ0=0;MQRankSum=0.400;QD=9.15;ReadPosRankSum=0.755;SOR=0.044","GT:AD:DP:GQ:PL","0/1:10,8:18:99:193,0,370",".:.:.:.:."});
7777
List<String> ff = v.getFormatFields();
7878
assertEquals(3, ff.size());
79-
assertEquals(true, ff.get(1).contains("0/1"));
79+
assertTrue(ff.get(1).contains("0/1"));
8080
assertEquals(".:.:.:.:.", ff.get(2));
8181
VcfPipeline.updateGTFieldIFNoCall(v, 10, false);
8282
ff = v.getFormatFields();
8383
assertEquals(3, ff.size());
84-
assertEquals(true, ff.get(1).contains("0/1"));
84+
assertTrue(ff.get(1).contains("0/1"));
8585
assertEquals("./.:.:10:.:.", ff.get(2));
8686
}
8787
@Test
8888
public void updateGTFieldAgain() {
8989
VcfRecord v = new VcfRecord(new String[]{"chr1","31029","rs372996257","G","A",".",".","FLANK=TCACCAGGAAC;BaseQRankSum=1.632;ClippingRankSum=0.457;DP=15;FS=24.362;MQ=23.95;MQRankSum=-0.326;QD=2.38;ReadPosRankSum=2.285;SOR=3.220;IN=1,2;DB","GT:AD:CCC:CCM:DP:FT:GQ:INF:MR:NNS:OABS","./.:.:.:3:.:.:.:.:.:.:G14[37.5]0[0]","0/1:11,4:.:3:15:SBIASALT:64:SOMATIC:4:4:A0[0]4[41];G10[39]2[41]"});
9090
List<String> ff = v.getFormatFields();
9191
assertEquals(3, ff.size());
92-
assertEquals(true, ff.get(1).contains("./."));
92+
assertTrue(ff.get(1).contains("./."));
9393
VcfPipeline.updateGTFieldIFNoCall(v, 14, true);
9494
ff = v.getFormatFields();
9595
assertEquals(3, ff.size());
96-
assertEquals(true, ff.get(1).contains("./."));
96+
assertTrue(ff.get(1).contains("./."));
9797
}
9898

9999
@Test
100-
public void classify() throws SnpException, Exception {
100+
public void classify() throws Exception {
101101
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
102102
final File testInputVcf = testFolder.newFile("test.vcf");
103103
final File testInputBam = testFolder.newFile("test.sam");
@@ -125,7 +125,7 @@ public void classify() throws SnpException, Exception {
125125
new VcfPipeline(new Ini(iniFile), new QExec("stackOverflow2", "test", null), false);
126126
// check the vcf output file
127127
assertEquals(testVcfs.size() + controlVcfs.size() -2, noOfLinesInVCFOutputFile(vcfOutput)); // -2 removes the 2 header files
128-
try (VcfFileReader reader = new VcfFileReader(vcfOutput);){
128+
try (VcfFileReader reader = new VcfFileReader(vcfOutput)){
129129
for (VcfRecord vcf : reader) {
130130

131131
/*
@@ -144,7 +144,7 @@ public void classify() throws SnpException, Exception {
144144
}
145145

146146
@Test
147-
public void classifySingleSample() throws SnpException, Exception {
147+
public void classifySingleSample() throws Exception {
148148
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
149149
final File testInputVcf = testFolder.newFile("test.vcf");
150150
final File vcfOutput = testFolder.newFile("output.vcf");
@@ -163,7 +163,7 @@ public void classifySingleSample() throws SnpException, Exception {
163163
new VcfPipeline(new Ini(iniFile), new QExec("classifySingleSample", "test", null), true);
164164
// check the vcf output file
165165
assertEquals(testVcfs.size() - 1, noOfLinesInVCFOutputFile(vcfOutput)); // -1 removes the header file
166-
try (VcfFileReader reader = new VcfFileReader(vcfOutput);){
166+
try (VcfFileReader reader = new VcfFileReader(vcfOutput)){
167167
for (VcfRecord vcf : reader) {
168168

169169
/*
@@ -182,7 +182,7 @@ public void classifySingleSample() throws SnpException, Exception {
182182
}
183183
}
184184
@Test
185-
public void readsEndAfter2Snps() throws SnpException, Exception {
185+
public void readsEndAfter2Snps() throws Exception {
186186
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
187187
final File testInputVcf = testFolder.newFile("test.vcf");
188188
final File testInputBam = testFolder.newFile("test.sam");
@@ -210,7 +210,7 @@ public void readsEndAfter2Snps() throws SnpException, Exception {
210210
assertEquals(vcfs.size()-1, noOfLinesInVCFOutputFile(vcfOutput));
211211
}
212212
@Test
213-
public void readsEndBefore3Snps() throws SnpException, Exception {
213+
public void readsEndBefore3Snps() throws Exception {
214214
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
215215
final File testInputVcf = testFolder.newFile("test.vcf");
216216
final File testInputBam = testFolder.newFile("test.sam");
@@ -236,7 +236,7 @@ public void readsEndBefore3Snps() throws SnpException, Exception {
236236
}
237237

238238
@Test
239-
public void readsEndBefore4Snps() throws SnpException, Exception {
239+
public void readsEndBefore4Snps() throws Exception {
240240
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
241241
final File testInputVcf = testFolder.newFile("test.vcf");
242242
final File testInputBam = testFolder.newFile("test.sam");
@@ -263,7 +263,7 @@ public void readsEndBefore4Snps() throws SnpException, Exception {
263263
}
264264

265265
@Test
266-
public void compoundSnps() throws SnpException, Exception {
266+
public void compoundSnps() throws Exception {
267267
final File iniFile = testFolder.newFile("qsnp_vcf.ini");
268268
final File testInputVcf = testFolder.newFile("test.vcf");
269269
final File testInputBam = testFolder.newFile("test.sam");
@@ -291,10 +291,10 @@ public void compoundSnps() throws SnpException, Exception {
291291
public void sorting() throws IOException {
292292

293293
Comparator<String> comp = null;
294-
List<String> sortedContigs = new ArrayList<String>();
294+
List<String> sortedContigs = new ArrayList<>();
295295
final File testInputBam = testFolder.newFile("test.sam");
296296
createFile(testInputBam, getBamFile());
297-
try (SamReader reader = SAMFileReaderFactory.createSAMFileReader(testInputBam);) {
297+
try (SamReader reader = SAMFileReaderFactory.createSAMFileReader(testInputBam)) {
298298
final SAMFileHeader header = reader.getFileHeader();
299299

300300
for (final SAMSequenceRecord contig : header.getSequenceDictionary().getSequences()) {
@@ -305,48 +305,47 @@ public void sorting() throws IOException {
305305
comp = ChrPositionComparator.getChrNameComparator(sortedContigs);
306306
Comparator<ChrPosition> c = ChrPositionComparator.getComparator(comp);
307307

308-
List<ChrPosition> chrPos = sortedContigs.stream().map(s -> ChrPositionUtils.getChrPosition(s, 1, 1)).collect(Collectors.toList());
309-
310-
Collections.sort(chrPos, VcfPipeline.CHR_COMPARATOR);
311-
assertEquals(22, chrPos.indexOf(ChrPositionUtils.getChrPosition("chrMT", 1, 1)));
312-
Collections.sort(chrPos, c);
308+
List<ChrPosition> chrPos = sortedContigs.stream().map(s -> ChrPositionUtils.getChrPosition(s, 1, 1)).sorted(VcfPipeline.CHR_COMPARATOR).collect(Collectors.toList());
309+
310+
assertEquals(24, chrPos.indexOf(ChrPositionUtils.getChrPosition("chrMT", 1, 1)));
311+
chrPos.sort(c);
313312
assertEquals(83, chrPos.indexOf(ChrPositionUtils.getChrPosition("chrMT", 1, 1)));
314-
315-
assertEquals(true, c.compare(ChrPositionUtils.getChrPosition("chr1", 1, 1), ChrPositionUtils.getChrPosition("chr1", 2, 2)) < 0);
316-
assertEquals(true, c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr1", 2, 2)) == 0);
317-
assertEquals(true, c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr1", 1, 1)) > 0);
318-
assertEquals(true, c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr2", 1, 1)) < 0);
319-
assertEquals(true, c.compare(ChrPositionUtils.getChrPosition("chr2", 2, 20), ChrPositionUtils.getChrPosition("chr2", 2, 2)) > 0);
313+
314+
assertTrue(c.compare(ChrPositionUtils.getChrPosition("chr1", 1, 1), ChrPositionUtils.getChrPosition("chr1", 2, 2)) < 0);
315+
assertEquals(0, c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr1", 2, 2)));
316+
assertTrue(c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr1", 1, 1)) > 0);
317+
assertTrue(c.compare(ChrPositionUtils.getChrPosition("chr1", 2, 2), ChrPositionUtils.getChrPosition("chr2", 1, 1)) < 0);
318+
assertTrue(c.compare(ChrPositionUtils.getChrPosition("chr2", 2, 20), ChrPositionUtils.getChrPosition("chr2", 2, 2)) > 0);
320319
}
321320

322321

323322
@Test
324323
public void getListComparator() throws IOException {
325324
List<String> list = Arrays.asList("chr1", "chr2");
326325
Comparator<String> comp = ChrPositionComparator.getChrNameComparator(list);
327-
328-
assertEquals(true, comp.compare("chr1", "chr2") < 0);
329-
assertEquals(true, comp.compare("chr2", "chr1") > 0);
326+
327+
assertTrue(comp.compare("chr1", "chr2") < 0);
328+
assertTrue(comp.compare("chr2", "chr1") > 0);
330329

331330
final File testInputBam = testFolder.newFile("test.sam");
332331
createFile(testInputBam, getBamFile());
333-
try (SamReader reader = SAMFileReaderFactory.createSAMFileReader(testInputBam);) {
332+
try (SamReader reader = SAMFileReaderFactory.createSAMFileReader(testInputBam)) {
334333
final SAMFileHeader header = reader.getFileHeader();
335334

336-
final List<String> sortedContigs = new ArrayList<String>();
335+
final List<String> sortedContigs = new ArrayList<>();
337336
for (final SAMSequenceRecord contig : header.getSequenceDictionary().getSequences()) {
338337
sortedContigs.add(contig.getSequenceName());
339338
}
340339
comp = ChrPositionComparator.getChrNameComparator(sortedContigs);
341340
}
342-
343-
assertEquals(true, comp.compare("chr1", "chr2") < 0);
344-
assertEquals(true, comp.compare("chr2", "chr1") > 0);
345-
assertEquals(true, comp.compare("chrMT", "chr1") > 0);
346-
assertEquals(true, comp.compare("chrMT", "GL000249.1") > 0);
341+
342+
assertTrue(comp.compare("chr1", "chr2") < 0);
343+
assertTrue(comp.compare("chr2", "chr1") > 0);
344+
assertTrue(comp.compare("chrMT", "chr1") > 0);
345+
assertTrue(comp.compare("chrMT", "GL000249.1") > 0);
347346

348347
List<String> toSort = Arrays.asList("chrMT", "chrX","chr1", "chrY", "GL000217.1");
349-
Collections.sort(toSort, comp);
348+
toSort.sort(comp);
350349
assertEquals(0, toSort.indexOf("chr1"));
351350
assertEquals(1, toSort.indexOf("chrX"));
352351
assertEquals(2, toSort.indexOf("chrY"));
@@ -357,15 +356,15 @@ public void getListComparator() throws IOException {
357356
@Ignore
358357
public void testVcfOmissionBasedOnLackOfData() {
359358
VcfRecord vcf = new VcfRecord(new String[]{"chrX","84428775",".","C","CT","368.74",".","AC=1;AF=0.500;AN=2;BaseQRankSum=1.883;ClippingRankSum=0.000;DP=18;ExcessHet=3.0103;FS=0.000;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=20.49;ReadPosRankSum=0.774;SOR=0.941","GT","./."});
360-
assertEquals(true, VcfPipeline.FF_NOT_ENOUGH_INFO.equals(vcf.getFormatFieldStrings()));
359+
assertEquals(VcfPipeline.FF_NOT_ENOUGH_INFO, vcf.getFormatFieldStrings());
361360
vcf = new VcfRecord(new String[]{"chrX","84428775",".","C","CT","368.74",".","AC=1;AF=0.500;AN=2;BaseQRankSum=1.883;ClippingRankSum=0.000;DP=18;ExcessHet=3.0103;FS=0.000;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=20.49;ReadPosRankSum=0.774;SOR=0.941","GT","C/CT"});
362-
assertEquals(false, VcfPipeline.FF_NOT_ENOUGH_INFO.equals(vcf.getFormatFieldStrings()));
361+
assertNotEquals(VcfPipeline.FF_NOT_ENOUGH_INFO, vcf.getFormatFieldStrings());
363362
vcf = new VcfRecord(new String[]{"chrX","84428775",".","C","CT","368.74",".","AC=1;AF=0.500;AN=2;BaseQRankSum=1.883;ClippingRankSum=0.000;DP=18;ExcessHet=3.0103;FS=0.000;MLEAC=1;MLEAF=0.500;MQ=60.00;MQRankSum=0.000;QD=20.49;ReadPosRankSum=0.774;SOR=0.941","GT:AD","./.:0"});
364-
assertEquals(false, VcfPipeline.FF_NOT_ENOUGH_INFO.equals(vcf.getFormatFieldStrings()));
363+
assertNotEquals(VcfPipeline.FF_NOT_ENOUGH_INFO, vcf.getFormatFieldStrings());
365364
}
366365

367366
@Test
368-
public void stackOverflow() throws SnpException, Exception {
367+
public void stackOverflow() throws Exception {
369368
/*
370369
* I think that this is due to the comparator placing chrMT before the GL's whereas in the bam headers and vcfs, chrMT is last.
371370
* Not the case - see getLIstComparator test
@@ -646,7 +645,7 @@ public void getExistingVcfHeader() throws Exception {
646645
TestVcfPipeline vp = new TestVcfPipeline(true);
647646
vp.testVcfFile = vcfFile.getAbsolutePath();
648647
VcfHeader headerFromFile = null;
649-
try (VcfFileReader reader = new VcfFileReader(vcfFile);) {
648+
try (VcfFileReader reader = new VcfFileReader(vcfFile)) {
650649
headerFromFile = reader.getVcfHeader();
651650
}
652651
vp.setTestVcfHeader(headerFromFile);
@@ -658,21 +657,21 @@ public void getExistingVcfHeader() throws Exception {
658657
if (i == 1) {
659658
assertEquals("##fileformat=VCFv4.1", rec.toString());
660659
} else if (i == 2) {
661-
assertEquals(true, rec.toString().startsWith(VcfHeaderUtils.STANDARD_UUID_LINE));
662-
} else if (i == 3) {
663-
assertEquals(true, rec.toString().startsWith("##reference"));
660+
assertTrue(rec.toString().startsWith(VcfHeaderUtils.STANDARD_UUID_LINE));
661+
} else if (i == 3) {
662+
assertTrue(rec.toString().startsWith("##reference"));
664663
} else if (i == 4) {
665-
assertEquals(true, rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_FILTER));
664+
assertTrue(rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_FILTER));
666665
} else if (i > 4 && i < 24) {
667-
assertEquals(true, rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_INFO));
666+
assertTrue(rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_INFO));
668667
}else if (i > 23 && i < 29) {
669-
assertEquals(true, rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_FORMAT));
668+
assertTrue(rec.toString().startsWith(VcfHeaderUtils.HEADER_LINE_FORMAT));
670669
} else if (i > 29 && i < 50) {
671-
assertEquals(true, rec.toString().startsWith("##contig"));
670+
assertTrue(rec.toString().startsWith("##contig"));
672671
} else if (i == 29) {
673-
assertEquals(true, rec.toString().startsWith("##GATKCommandLine"));
672+
assertTrue(rec.toString().startsWith("##GATKCommandLine"));
674673
} else {
675-
assertEquals(true, rec.toString().startsWith("#CHROM"));
674+
assertTrue(rec.toString().startsWith("#CHROM"));
676675
}
677676
}
678677
assertEquals(50, i); // no additional header added at this stage
@@ -684,21 +683,21 @@ public void getExistingVcfHeader() throws Exception {
684683
if(rec.toString().startsWith(VcfHeaderUtils.STANDARD_FILE_FORMAT)
685684
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_FINAL_HEADER_LINE))
686685
continue;
687-
assertEquals(true, rec.getId() != null //???
688-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF)
689-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF_UUID)
690-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF_GATK_VER)
691-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF)
692-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF_GATK_VER)
693-
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF_UUID));
686+
assertTrue(rec.getId() != null //???
687+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF)
688+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF_UUID)
689+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_CONTROL_VCF_GATK_VER)
690+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF)
691+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF_GATK_VER)
692+
|| rec.toString().startsWith(VcfHeaderUtils.STANDARD_TEST_VCF_UUID));
694693
}
695694

696695
// now check that when calling writeToVcf that we get this along with standard qsnp vcf header
697696
File qsnpVcfFile = testFolder.newFile();
698697
vp.writeVCF(qsnpVcfFile.getAbsolutePath());
699698

700699
VcfHeader finalHeader = null;
701-
try (VcfFileReader reader2 = new VcfFileReader(qsnpVcfFile);) {
700+
try (VcfFileReader reader2 = new VcfFileReader(qsnpVcfFile)) {
702701
finalHeader = reader2.getVcfHeader();
703702
}
704703

@@ -725,14 +724,13 @@ public void getExistingVcfHeader() throws Exception {
725724
assertEquals(rec, finalRec);
726725
String line1 = rec.toString();
727726
String line2 = finalRec.toString();
728-
assertEquals(true, line1.equals(line2));
729-
assertEquals(line1.hashCode(), line1.hashCode());
727+
assertEquals(line1, line2);
730728
System.out.println("finalRec: BaseQRankSum hashCode: " + finalRec.hashCode());
731729
}
732730
}
733731
}
734-
735-
assertEquals(true, finalHeaderRecords.containsAll(existingHeaderRecords));
732+
733+
assertTrue(finalHeaderRecords.containsAll(existingHeaderRecords));
736734
}
737735

738736
@Test
@@ -757,7 +755,7 @@ public void merge() {
757755
*/
758756
VcfPipeline.mergeVcfRecords(controlMap, testMap, mergedVcfs);
759757
assertEquals(1, mergedVcfs.size());
760-
VcfRecord mergedRec = mergedVcfs.get(0);
758+
VcfRecord mergedRec = mergedVcfs.getFirst();
761759
Map<String, String[]> ffMap = VcfUtils.getFormatFieldsAsMap(mergedRec.getFormatFields());
762760
assertEquals("T,G", mergedRec.getAlt());
763761
assertEquals("0/1", ffMap.get(VcfHeaderUtils.FORMAT_GENOTYPE)[0]);
@@ -768,7 +766,7 @@ public void merge() {
768766

769767
private int noOfLinesInVCFOutputFile(File vcfOutput) throws IOException {
770768
int noOfLines = 0;
771-
try (VcfFileReader reader = new VcfFileReader(vcfOutput);){
769+
try (VcfFileReader reader = new VcfFileReader(vcfOutput)){
772770
for (VcfRecord vcf : reader) noOfLines++;
773771
}
774772
return noOfLines;

0 commit comments

Comments
 (0)