1 package org.broadinstitute.hellbender.tools.spark.bwa; 2 3 import org.broadinstitute.hellbender.CommandLineProgramTest; 4 import org.broadinstitute.hellbender.cmdline.argumentcollections.MarkDuplicatesSparkArgumentCollection; 5 import org.broadinstitute.hellbender.tools.spark.pipelines.BwaAndMarkDuplicatesPipelineSpark; 6 import org.broadinstitute.hellbender.testutils.ArgumentsBuilder; 7 import org.broadinstitute.hellbender.testutils.SamAssertionUtils; 8 import org.testng.Assert; 9 import org.testng.annotations.Test; 10 11 import java.io.File; 12 13 public final class BwaAndMarkDuplicatesPipelineSparkIntegrationTest extends CommandLineProgramTest { 14 15 @Override getTestedClassName()16 public String getTestedClassName() { 17 return BwaAndMarkDuplicatesPipelineSpark.class.getSimpleName(); 18 } 19 20 @Test test()21 public void test() throws Exception { 22 //This file was created by 1) running bwaspark on the input and 2) running picard MarkDuplicates on the result 23 final File expectedSam = new File(largeFileTestDir, "CEUTrio.HiSeq.WGS.b37.NA12878.20.21.tiny.md.bam"); 24 25 final File ref = new File(b37_reference_20_21); 26 final File input = new File(largeFileTestDir, "CEUTrio.HiSeq.WGS.b37.NA12878.20.21.tiny.unaligned.bam"); 27 final File output = createTempFile("bwa", ".bam"); 28 if (!output.delete()) { 29 Assert.fail(); 30 } 31 32 final ArgumentsBuilder args = new ArgumentsBuilder(); 33 args.addReference(ref); 34 args.addInput(input); 35 args.addOutput(output); 36 args.add(MarkDuplicatesSparkArgumentCollection.DO_NOT_MARK_UNMAPPED_MATES_LONG_NAME, true); 37 this.runCommandLine(args.getArgsArray()); 38 39 SamAssertionUtils.assertSamsEqual(output, expectedSam); 40 } 41 42 } 43