@@ -0,0 +1,986 @@
+package com.github.sparkcaller.preprocessing;%0A%0Aimport com.github.sparkcaller.BaseGATKProgram;%0Aimport com.github.sparkcaller.Utils;%0Aimport org.apache.spark.api.java.function.Function;%0Aimport scala.Tuple2;%0A%0Aimport java.io.File;%0A%0Apublic class BQSR extends BaseGATKProgram implements Function%3CTuple2%3CFile, File%3E, File%3E %7B%0A    public BQSR(String pathToReference, String extraArgsString) %7B%0A        super(%22PrintReads%22, extraArgsString);%0A        setReference(pathToReference);%0A    %7D%0A%0A    public File call(Tuple2%3CFile, File%3E bqsrTablePair) throws Exception %7B%0A        File bamFile = bqsrTablePair._1;%0A        File bqsrTable = bqsrTablePair._2;%0A%0A        setInputFile(bamFile.getPath());%0A        addArgument(%22-BQSR%22, bqsrTable.getPath());%0A%0A        String outputBamFilename = Utils.removeExtenstion(bamFile.getPath(), %22bam%22) + %22-bqsr.bam%22;%0A        File outputBam = new File(outputBamFilename);%0A%0A        setOutputFile(outputBam.getPath());%0A%0A        executeProgram();%0A        return outputBam;%0A    %7D%0A%7D%0A

Create the class which uses the tables generated by the BQSRTargetGenerator to perform BQSR.