Defaulting the MFCP to run without a tear script.
Added a missing virtual output for the inner FCP, so that Queue can tell a run of the FCP is dot-done. Enabled the MCFPTest for the first time, running without the tear script. git-svn-id: file:///humgen/gsa-scr1/gsa-engineering/svn_contents/trunk@5264 348d0f76-0448-11de-a6fe-93d51630548a
This commit is contained in:
parent
49931b12fb
commit
860b172ef1
|
|
@ -28,13 +28,16 @@ class MultiFullCallingPipeline extends QScript {
|
||||||
@Argument(doc="pipeline priority", shortName="PP", required = false)
|
@Argument(doc="pipeline priority", shortName="PP", required = false)
|
||||||
var pipelinePriority: Option[Int] = None
|
var pipelinePriority: Option[Int] = None
|
||||||
|
|
||||||
|
@Argument(doc="run with -tearScript", shortName="TS")
|
||||||
|
var runWithTearScript = false
|
||||||
|
|
||||||
def script {
|
def script {
|
||||||
// Global arguments for all pipeline runs
|
// Global arguments for all pipeline runs
|
||||||
stingHome = IOUtils.absolute(stingHome)
|
stingHome = IOUtils.absolute(stingHome)
|
||||||
val queueJar = new File(stingHome, "dist/Queue.jar")
|
val queueJar = new File(stingHome, "dist/Queue.jar")
|
||||||
val pipelineScript = new File(stingHome, "scala/qscript/playground/FullCallingPipeline.q")
|
val pipelineScript = new File(stingHome, "scala/qscript/playground/FullCallingPipeline.q")
|
||||||
val gatkJar = new File(stingHome, "dist/GenomeAnalysisTK.jar")
|
val gatkJar = new File(stingHome, "dist/GenomeAnalysisTK.jar")
|
||||||
val tearScript = new File(stingHome, "R/DataProcessingReport/GetTearsheetStats.R")
|
val tearScript = if (runWithTearScript) new File(stingHome, "R/DataProcessingReport/GetTearsheetStats.R") else null
|
||||||
|
|
||||||
// Parse the yaml list
|
// Parse the yaml list
|
||||||
var yamls = List.empty[File]
|
var yamls = List.empty[File]
|
||||||
|
|
@ -64,23 +67,27 @@ class MultiFullCallingPipeline extends QScript {
|
||||||
* run has produced the passed in output file.
|
* run has produced the passed in output file.
|
||||||
*/
|
*/
|
||||||
class RunPipeline(yamlFile: File, lastOutput: File) extends JarCommandLineFunction {
|
class RunPipeline(yamlFile: File, lastOutput: File) extends JarCommandLineFunction {
|
||||||
|
private var yamlName = yamlFile.getName.stripSuffix(".yaml")
|
||||||
|
|
||||||
@Input(doc="output file to wait for", required=false)
|
@Input(doc="output file to wait for", required=false)
|
||||||
var waitJobOutputFile = lastOutput
|
var waitJobOutputFile = lastOutput
|
||||||
|
|
||||||
|
@Output(doc="virtual output file tagging this pipeline as complete")
|
||||||
|
var pipelineComplete = new File(yamlFile.getParentFile, yamlName + ".mfcp")
|
||||||
|
|
||||||
commandDirectory = yamlFile.getParentFile
|
commandDirectory = yamlFile.getParentFile
|
||||||
jobOutputFile = IOUtils.absolute(commandDirectory, "queue.out")
|
jobOutputFile = IOUtils.absolute(commandDirectory, "queue.out")
|
||||||
jarFile = queueJar
|
jarFile = queueJar
|
||||||
memoryLimit = Some(1)
|
memoryLimit = Some(1)
|
||||||
|
|
||||||
private var yamlName = yamlFile.getName.stripSuffix(".yaml")
|
|
||||||
|
|
||||||
override def commandLine = super.commandLine +
|
override def commandLine = super.commandLine +
|
||||||
optional(" -statusTo ", qscript.pipelineStatusTo) +
|
optional(" -statusTo ", qscript.pipelineStatusTo) +
|
||||||
optional(" -jobQueue ", qscript.pipelineJobQueue) +
|
optional(" -jobQueue ", qscript.pipelineJobQueue) +
|
||||||
optional(" -shortJobQueue ", qscript.pipelineShortQueue) +
|
optional(" -shortJobQueue ", qscript.pipelineShortQueue) +
|
||||||
optional(" -jobPriority ", qscript.pipelinePriority) +
|
optional(" -jobPriority ", qscript.pipelinePriority) +
|
||||||
" -S %s --gatkjar %s -tearScript %s -jobProject %s -jobPrefix %s -Y %s -bsub -run"
|
optional(" -tearScript ", tearScript) +
|
||||||
.format(pipelineScript, gatkJar, tearScript, yamlName, yamlName, yamlFile)
|
" -S %s --gatkjar %s -jobProject %s -jobPrefix %s -Y %s -bsub -run"
|
||||||
|
.format(pipelineScript, gatkJar, yamlName, yamlName, yamlFile)
|
||||||
|
|
||||||
override def dotString = "Queue: " + yamlName
|
override def dotString = "Queue: " + yamlName
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ class MultiFullCallingPipelineTest {
|
||||||
final def convertDatasets: Array[Array[AnyRef]] =
|
final def convertDatasets: Array[Array[AnyRef]] =
|
||||||
datasets.map(dataset => Array(dataset.asInstanceOf[AnyRef])).toArray
|
datasets.map(dataset => Array(dataset.asInstanceOf[AnyRef])).toArray
|
||||||
|
|
||||||
@Test(dataProvider="datasets", enabled=false)
|
@Test(dataProvider="datasets")
|
||||||
def testMultiFullCallingPipeline(dataset: MultiPipelineDataset) = {
|
def testMultiFullCallingPipeline(dataset: MultiPipelineDataset) = {
|
||||||
val projectName = dataset.name
|
val projectName = dataset.name
|
||||||
val testName = "MultiFullCallingPipeline-" + projectName
|
val testName = "MultiFullCallingPipeline-" + projectName
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue