diff --git a/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala b/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala index b92ad07024db66cd2e35957738304581ec497f7a..ae4f0806c4cc0a058b30f53a77f70693371454e9 100644 --- a/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala +++ b/gentrap/src/main/scala/nl/lumc/sasc/biopet/pipelines/gentrap/Gentrap.scala @@ -1,3 +1,9 @@ +/** + * Copyright (c) 2014 Leiden University Medical Center + * + * @author Wibowo Arindrarto + */ + package nl.lumc.sasc.biopet.pipelines.gentrap import org.broadinstitute.gatk.queue.QScript @@ -10,10 +16,60 @@ import nl.lumc.sasc.biopet.core.config._ import nl.lumc.sasc.biopet.pipelines.flexiprep.Flexiprep import nl.lumc.sasc.biopet.pipelines.mapping.Mapping +/** + * Gentrap pipeline + * Generic transcriptome analysis pipeline + */ class Gentrap(val root: Configurable) extends QScript with BiopetQScript { + def this() = this(null) + /** Read 1 input */ + @Input(doc = "FASTQ file input (single-end or pair 1)", fullName = "input_r1", shortName = "R1", required = true) + var inputR1: File = _ + + /** Read 2 input (optional) */ + @Input(doc = "FASTQ file input (pair 2)", fullName = "input_r2", shortName = "R2", required = false) + var inputR2: File = _ + + /** Split aligner to use */ + @Argument(doc = "Split aligner", fullName = "aligner", shortName = "aln", required = true, validation = "gsnap|tophat|star") + var aligner: String = _ + + /** Whether library is strand-specifc (dUTP protocol) or not */ + @Argument(doc = "Whether input data was made using the dUTP strand-specific protocol", fullName = "strand_specific", shortName = "strandSpec", required = true) + var strandSpec: Boolean = _ + + /** Variant calling */ + @Argument(doc = "Variant caller", fullName = "variant_caller", shortName = "varCaller", required = false, validation = "varscan|snvmix") + var varcaller: String = _ + + /** Cufflinks assembly type */ + @Argument(doc = "Cufflinks assembly type", fullName = "transcript_asm", shortName = "transAsm", required = false, validation = "none|strict|guided|blind") + var asm: List[String] = List("none") + + /** FASTQ trimming */ + @Argument(doc = "Whether to skip trimming input files", fullName = "skip_trim_input", shortName = "skipTrim", required = false) + var skipTrim: Boolean = false + + /** FASTQ clipping */ + @Argument(doc = "Whether to skip clipping input files", fullName = "skip_clip_input", shortName = "skipClip", required = false) + var skipClip: Boolean = false + + /** Gene-wise read count table output */ + @Argument(doc = "Gene read count table output", fullName = "count_gene_read", shortName = "cGeneRead", required = false) + var cGeneRead: Boolean = _ + + /** Gene-wise base count table output */ + @Argument(doc = "Gene base count table output", fullName = "count_gene_base", shortName = "cGeneBase", required = false) + var cGeneBase: Boolean = _ + + /** Exon-wise base count table output */ + @Argument(doc = "Exon base count table output", fullName = "count_exon_base", shortName = "cExonBase", required = false) + var cExonBase: Boolean = _ + def init() { + for (file <- configfiles) globalConfig.loadConfigFile(file) } def biopetScript() {