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