diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala index 22063d335312ce16ea3acfbc37775ada3b0032ef..035194d4836da5f9da66dc3e7328bfc7a1303131 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/picard/Picard.scala @@ -25,7 +25,7 @@ import scala.io.Source /** * General picard extension * - * This is based on using class files directly from the jar + * This is based on using class files directly from the jar, if needed other picard jar can be used */ abstract class Picard extends BiopetJavaCommandLineFunction { override def subPath = "picard" :: super.subPath diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/Sambamba.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/Sambamba.scala index a6fe688c2486f46701d6397c8fcffacee4b1c29c..a2804668e5b77e71d8d2793aaaf80bdd7e68c646 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/Sambamba.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/Sambamba.scala @@ -17,6 +17,7 @@ package nl.lumc.sasc.biopet.extensions.sambamba import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +/** General Sambamba extension */ abstract class Sambamba extends BiopetCommandLineFunction { override val defaultVmem = "4G" override val defaultThreads = 2 diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaFlagstat.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaFlagstat.scala index 5be51decae455e3ff1a06c2379ee12b836a1c745..f324001077ac6c9d8b544783aa01c7f8f2dad190 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaFlagstat.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaFlagstat.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for sambemba flagstat */ class SambambaFlagstat(val root: Configurable) extends Sambamba { override val defaultThreads = 2 @@ -28,6 +29,7 @@ class SambambaFlagstat(val root: Configurable) extends Sambamba { @Output(doc = "output File") var output: File = _ + /** Returns command to execute */ def cmdLine = required(executable) + required("flagstat") + optional("-t", nCoresRequest) + @@ -35,24 +37,3 @@ class SambambaFlagstat(val root: Configurable) extends Sambamba { " > " + required(output) } - -object SambambaFlagstat { - def apply(root: Configurable, input: File, output: File): SambambaFlagstat = { - val flagstat = new SambambaFlagstat(root) - flagstat.input = input - flagstat.output = output - return flagstat - } - - def apply(root: Configurable, input: File, outputDir: String): SambambaFlagstat = { - val dir = if (outputDir.endsWith("/")) outputDir else outputDir + "/" - val outputFile = new File(dir + swapExtension(input.getName)) - return apply(root, input, outputFile) - } - - def apply(root: Configurable, input: File): SambambaFlagstat = { - return apply(root, input, new File(swapExtension(input.getAbsolutePath))) - } - - private def swapExtension(inputFile: String) = inputFile.stripSuffix(".bam") + ".flagstat" -} \ No newline at end of file diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaIndex.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaIndex.scala index 4d988ef13c93074ff2ecc842be6aed69be07676a..924a420b44eb878d8a53d888eabe6a1daa2a61d5 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaIndex.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaIndex.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for sambemba index */ class SambambaIndex(val root: Configurable) extends Sambamba { override val defaultThreads = 2 @@ -28,30 +29,10 @@ class SambambaIndex(val root: Configurable) extends Sambamba { @Output(doc = "Output .bai file to") var output: File = _ + /** Returns command to execute */ def cmdLine = required(executable) + required("index") + optional("-t", nCoresRequest) + required(input) + required(output) } - -object SambambaIndex { - def apply(root: Configurable, input: File, output: File): SambambaIndex = { - val flagstat = new SambambaIndex(root) - flagstat.input = input - flagstat.output = output - return flagstat - } - - def apply(root: Configurable, input: File, outputDir: String): SambambaIndex = { - val dir = if (outputDir.endsWith("/")) outputDir else outputDir + "/" - val outputFile = new File(dir + swapExtension(input.getName)) - return apply(root, input, outputFile) - } - - def apply(root: Configurable, input: File): SambambaIndex = { - return apply(root, input, new File(swapExtension(input.getAbsolutePath))) - } - - private def swapExtension(inputFile: String) = inputFile.stripSuffix(".bam") + ".bam.bai" -} \ No newline at end of file diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMarkdup.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMarkdup.scala index a45bc73f43fa56a1968487e18e09e0c4d38f129d..bb4ec3ef2f064abad45108be8a33e47fffb9963e 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMarkdup.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMarkdup.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for sambemba markdup */ class SambambaMarkdup(val root: Configurable) extends Sambamba { override val defaultThreads = 4 @@ -36,6 +37,7 @@ class SambambaMarkdup(val root: Configurable) extends Sambamba { val overflow_list_size: Option[Int] = config("overflow-list-size", default = 200000) val io_buffer_size: Option[Int] = config("io-buffer-size", default = 128) + /** Returns command to execute */ def cmdLine = required(executable) + required("markdup") + conditional(remove_duplicates, "--remove-duplicates") + @@ -47,24 +49,3 @@ class SambambaMarkdup(val root: Configurable) extends Sambamba { required(input) + required(output) } - -object SambambaMarkdup { - def apply(root: Configurable, input: File, output: File): SambambaMarkdup = { - val flagstat = new SambambaMarkdup(root) - flagstat.input = input - flagstat.output = output - return flagstat - } - - def apply(root: Configurable, input: File, outputDir: String): SambambaMarkdup = { - val dir = if (outputDir.endsWith("/")) outputDir else outputDir + "/" - val outputFile = new File(dir + swapExtension(input.getName)) - return apply(root, input, outputFile) - } - - def apply(root: Configurable, input: File): SambambaMarkdup = { - return apply(root, input, new File(swapExtension(input.getAbsolutePath))) - } - - private def swapExtension(inputFile: String) = inputFile.stripSuffix(".bam") + ".bam.bai" -} \ No newline at end of file diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMerge.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMerge.scala index 45af3a8c387fdf5bcac8f10e2b5c9a98c912f062..8b514317a1980106c2d9b63e09d98e929c84904e 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMerge.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/sambamba/SambambaMerge.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for sambemba merge */ class SambambaMerge(val root: Configurable) extends Sambamba { override val defaultThreads = 4 @@ -31,6 +32,7 @@ class SambambaMerge(val root: Configurable) extends Sambamba { // @doc: compression_level 6 is average, 0 = no compression, 9 = best val compression_level: Option[Int] = config("compression_level", default = 6) + /** Returns command to execute */ def cmdLine = required(executable) + required("merge") + optional("-t", nCoresRequest) + @@ -38,36 +40,3 @@ class SambambaMerge(val root: Configurable) extends Sambamba { required(output) + repeat("", input) } - -object SambambaMerge { - def apply(root: Configurable, input: List[File], output: File): SambambaMerge = { - val flagstat = new SambambaMerge(root) - flagstat.input = input - flagstat.output = output - return flagstat - } - - def apply(root: Configurable, input: List[File], outputDir: String): SambambaMerge = { - val dir = if (outputDir.endsWith("/")) outputDir else outputDir + "/" - val outputFile = new File(dir + swapExtension(input.head.getName)) - return apply(root, input, outputFile) - } - - def apply(root: Configurable, input: List[File]): SambambaMerge = { - return apply(root, input, new File(swapExtension(input.head.getAbsolutePath))) - } - - private def swapExtension(inputFile: String) = inputFile.stripSuffix(".bam") + ".merge.bam" -} - -// -//object MergeSamFiles { -// def apply(root: Configurable, input: List[File], outputDir: String, sortOrder: String = null): MergeSamFiles = { -// val mergeSamFiles = new MergeSamFiles(root) -// mergeSamFiles.input = input -// mergeSamFiles.output = new File(outputDir, input.head.getName.stripSuffix(".bam").stripSuffix(".sam") + ".merge.bam") -// if (sortOrder == null) mergeSamFiles.sortOrder = "coordinate" -// else mergeSamFiles.sortOrder = sortOrder -// return mergeSamFiles -// } -//} \ No newline at end of file diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala index 740da10524d33f6e5e370bdc3320defa50f7ee79..d220be089572d7988f6c12c315620d35b211beea 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/Samtools.scala @@ -17,6 +17,7 @@ package nl.lumc.sasc.biopet.extensions.samtools import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction +/** General class for samtools extensions */ abstract class Samtools extends BiopetCommandLineFunction { override def subPath = "samtools" :: super.subPath executable = config("exe", default = "samtools") diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsFlagstat.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsFlagstat.scala index a4833d5f17c509fc0a47ca77a631e2ec32596bd1..67fd2f333d55ae5a30715bbb15a3132999c16aac 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsFlagstat.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsFlagstat.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for samtools flagstat */ class SamtoolsFlagstat(val root: Configurable) extends Samtools { @Input(doc = "Bam File") var input: File = _ @@ -26,6 +27,7 @@ class SamtoolsFlagstat(val root: Configurable) extends Samtools { @Output(doc = "output File") var output: File = _ + /** Returns command to execute */ def cmdLine = required(executable) + required("flagstat") + required(input) + " > " + required(output) } diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsMpileup.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsMpileup.scala index b8a3a2d0e6ec913611abe21b00c1dfe200842418..9cc5d655f0d3b5a50178bef5e284c6d61503372a 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsMpileup.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsMpileup.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for samtools mpileup */ class SamtoolsMpileup(val root: Configurable) extends Samtools { @Input(doc = "Bam File") var input: File = _ @@ -45,6 +46,8 @@ class SamtoolsMpileup(val root: Configurable) extends Samtools { conditional(disableBaq, "-B") def cmdPipeInput = cmdBase + "-" def cmdPipe = cmdBase + required(input) + + /** Returns command to execute */ def cmdLine = cmdPipe + " > " + required(output) } diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsView.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsView.scala index 883c21ac1ff2bb0940d2e61fdb13486829454dee..5dcc66ee16e4f885227db0d97d435ec972300fe2 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsView.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/samtools/SamtoolsView.scala @@ -19,6 +19,7 @@ import nl.lumc.sasc.biopet.core.config.Configurable import org.broadinstitute.gatk.utils.commandline.{ Input, Output } import java.io.File +/** Extension for samtools view */ class SamtoolsView(val root: Configurable) extends Samtools { @Input(doc = "Bam File") var input: File = _ @@ -37,6 +38,8 @@ class SamtoolsView(val root: Configurable) extends Samtools { conditional(h, "-h") def cmdPipeInput = cmdBase + "-" def cmdPipe = cmdBase + required(input) + + /** Returns command to execute */ def cmdLine = cmdPipe + " > " + required(output) } diff --git a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala index a1131371ade82303aca47155593568f2cadbeb2d..c12ca6c5f5f8c822fe0206c189485a2e7957bfc6 100644 --- a/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala +++ b/public/biopet-framework/src/main/scala/nl/lumc/sasc/biopet/extensions/seqtk/Seqtk.scala @@ -17,9 +17,7 @@ package nl.lumc.sasc.biopet.extensions.seqtk import nl.lumc.sasc.biopet.core.BiopetCommandLineFunction -/** - * Abstract class for all seqtk wrappers. - */ +/** Abstract class for all seqtk wrappers. */ abstract class Seqtk extends BiopetCommandLineFunction { override def subPath = "seqtk" :: super.subPath executable = config("exe", default = "seqtk", freeVar = true)