diff --git a/scala/qscript/oneoffs/carneiro/dataProcessing.scala b/scala/qscript/oneoffs/carneiro/dataProcessing.scala index ae2ab4046..c9d03d5c3 100755 --- a/scala/qscript/oneoffs/carneiro/dataProcessing.scala +++ b/scala/qscript/oneoffs/carneiro/dataProcessing.scala @@ -72,6 +72,7 @@ class dataProcessing extends QScript { // BAM files generated by the pipeline val bamList: String = outDir + outName + ".list" + val joinedBams: String = outDir + outName + ".join.bam" val cleanedBam: String = outDir + outName + ".clean.bam" val fixedBam: String = outDir + outName + ".processed.bam" @@ -119,8 +120,9 @@ class dataProcessing extends QScript { add(new writeList(recalibratedBamList, bamList), - new allTargets(bamList, allTargetIntervals), - new clean(bamList, allTargetIntervals, cleanedBam, !knownsOnly, !intermediate)) + new joinBams(bamList, joinedBams), + new allTargets(joinedBams, allTargetIntervals), + new clean(joinedBams, allTargetIntervals, cleanedBam, !knownsOnly, !intermediate)) } class TargetBase (outIntervals: String) extends RealignerTargetCreator with CommandLineGATKArgs { @@ -137,6 +139,7 @@ class dataProcessing extends QScript { class allTargets (inBams: String, outIntervals: String) extends TargetBase(outIntervals) { this.input_file :+= new File(inBams) + this.memoryLimit = Some(6) this.jobName = queueLogDir + outIntervals + ".atarget" } @@ -199,8 +202,14 @@ class dataProcessing extends QScript { } class writeList(inBams: List[File], outBamList: String) extends ListWriterFunction { - this.inputFiles = inBams - this.listFile = new File(outBamList) - this.jobName = queueLogDir + outBamList + ".bamList" + this.inputFiles = inBams + this.listFile = new File(outBamList) + this.jobName = queueLogDir + outBamList + ".bamList" + } + + class joinBams(inBams: File, outBam: String) extends PrintReads { + this.input_file :+= inBams + this.out = new File(outBam) + this.jobName = queueLogDir + inBams + ".joinBams" } }