31 lines
1.2 KiB
Plaintext
Executable File
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(_) )
|
|
}
|
|
}
|