Skip to content
Snippets Groups Projects
Commit 1c27fac2 authored by Peter van 't Hof's avatar Peter van 't Hof
Browse files

Added MultisamplePipeline

parent f29d2489
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,7 @@ object ExecutableExample extends BiopetExecutable {
/** This list defines the pipeline that are usable from the executable */
def pipelines: List[MainCommand] = List(
org.example.group.pipelines.MultisamplePipeline,
org.example.group.pipelines.BiopetPipeline,
org.example.group.pipelines.SimplePipeline
)
......
package org.example.group.pipelines
import nl.lumc.sasc.biopet.core.{ PipelineCommand, MultiSampleQScript }
import nl.lumc.sasc.biopet.core.config.Configurable
import org.broadinstitute.gatk.queue.QScript
/**
* Created by pjvanthof on 30/08/15.
*/
class MultisamplePipeline(val root: Configurable) extends QScript with MultiSampleQScript {
qscript =>
def this() = this(null)
def init: Unit = {
}
def biopetScript: Unit = {
addSamplesJobs() // This executes jobs for all samples
}
def addMultiSampleJobs: Unit = {
// this code will be executed after all code of all samples is executed
}
def summaryFile: File = new File(outputDir, "MultisamplePipeline.summary.json")
//TODO: Add summary
def summaryFiles: Map[String, File] = Map()
//TODO: Add summary
def summarySettings: Map[String, Any] = Map()
def makeSample(id: String) = new Sample(id)
class Sample(sampleId: String) extends AbstractSample(sampleId) {
def makeLibrary(id: String) = new Library(id)
class Library(libId: String) extends AbstractLibrary(libId) {
//TODO: Add summary
def summaryFiles: Map[String, File] = Map()
//TODO: Add summary
def summaryStats: Map[String, Any] = Map()
def addJobs: Unit = {
//TODO: add library specific jobs
}
}
//TODO: Add summary
def summaryFiles: Map[String, File] = Map()
//TODO: Add summary
def summaryStats: Map[String, Any] = Map()
def addJobs: Unit = {
addPerLibJobs() // This add jobs for each library
//TODO: add sample specific jobs
}
}
}
object MultisamplePipeline extends PipelineCommand
\ No newline at end of file
......@@ -10,6 +10,7 @@ import org.broadinstitute.gatk.queue.QScript
*/
//TODO: Replace class name, must be the same as the class of the pipeline
class SimplePipeline(val root: Configurable) extends QScript with BiopetQScript {
// A constructor without arguments is needed if this pipeline is a root pipeline
def this() = this(null)
@Input(required = true)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment