gatk-3.8/scala/qscript/chartl/batchMergePipeline.q

31 lines
1.2 KiB
Plaintext
Executable File

import java.io.{FileReader, BufferedReader}
import org.broadinstitute.sting.datasources.pipeline.Pipeline
import org.broadinstitute.sting.queue.extensions.gatk.CommandLineGATK
import org.broadinstitute.sting.queue.pipeline.{ProjectManagement, BamProcessing, VariantCalling}
import org.broadinstitute.sting.queue.{QException, QScript}
import collection.JavaConversions._
import org.broadinstitute.sting.utils.text.XReadLines
import org.broadinstitute.sting.utils.yaml.YamlUtils
class batchMergePipeline extends QScript {
batchMerge =>
@Argument(doc="VCF list",shortName="vcfs") var vcfList: File = _
@Argument(doc="bam list",shortName="bams") var bamList: File = _
@Argument(doc="sting dir",shortName="sting") var stingDir: String = _
@Argument(doc="reference file",shortName="ref") var ref: File = _
@Argument(doc="batched output",shortName="batch") var batchOut: File = _
def script = {
var vcfs : List[File] = extractFileEntries(vcfList)
var bams : List[File] = extractFileEntries(bamList)
var pmLib = new ProjectManagement(stingDir)
addAll(pmLib.MergeBatches(vcfs,bams,batchOut,ref,20))
}
def extractFileEntries(in: File): List[File] = {
return (new XReadLines(in)).readLines.toList.map( new File(_) )
}
}