Trying out Queue for the first time.
git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@4705 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
5dabf73039
commit
302cc13735
|
|
@ -0,0 +1,59 @@
|
|||
import org.broadinstitute.sting.gatk.DownsampleType
|
||||
import org.broadinstitute.sting.queue.QScript
|
||||
import org.broadinstitute.sting.queue.extensions.gatk._
|
||||
|
||||
/**
|
||||
* A pipeline for Queue that runs a custom walker outside of the GATK jar.
|
||||
* NOTE: This code is an unsupported example for soliciting feedback on how to improve Queue.
|
||||
* Future syntax will simplify running the GATK so please expect the syntax below to change significantly.
|
||||
*/
|
||||
class DoC extends QScript {
|
||||
// The full packaged jar should be used.
|
||||
// You can build this jar via 'ant package' and then find it under
|
||||
// 'Sting/dist/packages/GenomeAnalysisTK-*/GenomeAnalysisTK.jar'
|
||||
@Input(doc="The path to the packaged GenomeAnalysisTK.jar file.", shortName="gatk")
|
||||
var gatkJar: File = null
|
||||
|
||||
@Input(doc="The reference file for the bam files.", shortName="R")
|
||||
var referenceFile: File = null
|
||||
|
||||
// NOTE: Do not initialize List, Set, or Option to null
|
||||
// as you won't be able to update the collection.
|
||||
// By default set:
|
||||
// List[T] = Nil
|
||||
// Set[T] = Set.empty[T]
|
||||
// Option[T] = None
|
||||
@Input(doc="One or more bam files.", shortName="I")
|
||||
var bamFiles: List[File] = Nil
|
||||
|
||||
@Input(doc="An optional file with a list of intervals to proccess.", shortName="L", required=false)
|
||||
var intervalsString: List[String] = List("2:87000001-90000000")
|
||||
|
||||
// This trait allows us set the variables below in one place,
|
||||
// and then reuse this trait on each CommandLineGATK function below.
|
||||
trait DepthOfCoverageArguments extends CommandLineGATK {
|
||||
this.jarFile = DoC.this.gatkJar
|
||||
this.reference_sequence = DoC.this.referenceFile
|
||||
this.intervalsString = DoC.this.intervalsString
|
||||
this.memoryLimit = Some(8)
|
||||
}
|
||||
|
||||
|
||||
def script = {
|
||||
// Create the four function that we can run.
|
||||
val doc = new DepthOfCoverage with DepthOfCoverageArguments
|
||||
doc.downsampling_type = Some(DownsampleType.NONE)
|
||||
doc.omitLocusTable = true
|
||||
doc.omitIntervals = true
|
||||
doc.omitSampleSummary = true
|
||||
|
||||
// If you are running this on a compute farm, make sure that the Sting/shell
|
||||
// folder is in your path to use mergeText.sh and splitIntervals.sh.
|
||||
//doc.scatterCount = 3
|
||||
doc.input_file = DoC.this.bamFiles
|
||||
doc.out = new File("doc-all.out")
|
||||
|
||||
add(doc)
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue