@@ -0,0 +1,973 @@
+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 BQSRTargetGenerator extends BaseGATKProgram implements Function%3CFile, Tuple2%3CFile, File%3E%3E %7B%0A    public BQSRTargetGenerator(String pathToReference, String knownSites, String extraArgs) %7B%0A        super(%22BaseRecalibrator%22, extraArgs);%0A        setReference(pathToReference);%0A        addArgument(%22-knownSites%22, knownSites);%0A    %7D%0A%0A    public Tuple2%3CFile, File%3E call(File file) throws Exception %7B%0A        setInputFile(file.getPath());%0A        String outputTableFilename = Utils.removeExtenstion(file.getPath(), %22bam%22) + %22-recal_data.table%22;%0A        File outputTable = new File(outputTableFilename);%0A%0A        setOutputFile(outputTable.getPath());%0A%0A        executeProgram();%0A        return new Tuple2%3CFile, File%3E(file, outputTable);%0A    %7D%0A%7D%0A

Add the class used to find which parts of the BAM file which requires BQSR.