diff --git a/CHANGELOG.md b/CHANGELOG.md index 797ca07bfe6284a41ee78f658844b6ed0de36185..3dfe8b8d9a70970ad39ffbe6f414114ed1e61fd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ that users understand how the changes affect the new version. --> version 3.1.0 --------------------------- ++ Isoseq3: Remove cp commands and other bash magic, file naming is now solved by pipeline. ++ Lima: Replace mv command with cp. + Add WDL task for smoove (lumpy) sv-caller. + Default threads for BWA in bwa.Kit task: 4. Samtools sort in the same task: 1. Output BAM compression level to 1. diff --git a/ccs.wdl b/ccs.wdl index 39bb0a19578e353a596c471e7490556de89896a9..3a8f887947faab7bc3ee898cf06fcd6ca28586d8 100644 --- a/ccs.wdl +++ b/ccs.wdl @@ -31,8 +31,8 @@ task CCS { File subreadsFile String outputPrefix - Int cores = 4 - String memory = "10G" + Int cores = 2 + String memory = "2G" String dockerImage = "quay.io/biocontainers/pbccs:4.2.0--0" } diff --git a/isoseq3.wdl b/isoseq3.wdl index 8cc0db8fe0456f5626ee4eebb8bb586846a370d1..44005a408d7ed2694203e601be58c540957506f8 100644 --- a/isoseq3.wdl +++ b/isoseq3.wdl @@ -27,50 +27,35 @@ task Refine { String logLevel = "WARN" File inputBamFile File primerFile - String outputPrefix + String outputDir + String outputNamePrefix - Int cores = 4 - String memory = "10G" + Int cores = 2 + String memory = "1G" String dockerImage = "quay.io/biocontainers/isoseq3:3.3.0--0" } command <<< set -e - mkdir -p "$(dirname ~{outputPrefix})" - - # Create a unique output name base on the input bam file. - bamBasename="$(basename ~{inputBamFile})" - bamNewName="${bamBasename/fl/flnc}" - folderDirname="$(dirname ~{outputPrefix})" - combinedOutput="${folderDirname}/${bamNewName}" - + mkdir -p "$(dirname ~{outputDir})" isoseq3 refine \ --min-polya-length ~{minPolyAlength} \ ~{true="--require-polya" false="" requirePolyA} \ --log-level ~{logLevel} \ --num-threads ~{cores} \ - --log-file "${bamNewName}.stderr.log" \ + --log-file "~{outputDir}/~{outputNamePrefix}.stderr.log" \ ~{inputBamFile} \ ~{primerFile} \ - ${bamNewName} - - # Copy commands below are needed because naming schema for Refine output - # can not be correctly handled in the WDL output section. - cp "${bamNewName}" "${combinedOutput}" - cp "${bamNewName}.pbi" "${combinedOutput}.pbi" - cp "${bamNewName/bam/consensusreadset}.xml" "${combinedOutput/bam/consensusreadset}.xml" - cp "${bamNewName/bam/filter_summary}.json" "${combinedOutput/bam/filter_summary}.json" - cp "${bamNewName/bam/report}.csv" "${combinedOutput/bam/report}.csv" - cp "${bamNewName}.stderr.log" "${combinedOutput}.stderr.log" + "~{outputDir}/~{outputNamePrefix}.bam" >>> output { - Array[File] outputFLNCfile = glob("*.bam") - Array[File] outputFLNCindexFile = glob("*.bam.pbi") - Array[File] outputConsensusReadsetFile = glob("*.consensusreadset.xml") - Array[File] outputFilterSummaryFile = glob("*.filter_summary.json") - Array[File] outputReportFile = glob("*.report.csv") - Array[File] outputSTDERRfile = glob("*.stderr.log") + File outputFLNCfile = outputDir + "/" + outputNamePrefix + ".bam" + File outputFLNCindexFile = outputDir + "/" + outputNamePrefix + ".bam.pbi" + File outputConsensusReadsetFile = outputDir + "/" + outputNamePrefix + ".consensusreadset.xml" + File outputFilterSummaryFile = outputDir + "/" + outputNamePrefix + ".filter_summary.json" + File outputReportFile = outputDir + "/" + outputNamePrefix + ".report.csv" + File outputSTDERRfile = outputDir + "/" + outputNamePrefix + ".stderr.log" } runtime { @@ -86,7 +71,8 @@ task Refine { logLevel: {description: "Set log level. Valid choices: (TRACE, DEBUG, INFO, WARN, FATAL).", category: "advanced"} inputBamFile: {description: "BAM input file.", category: "required"} primerFile: {description: "Barcode/primer fasta file.", category: "required"} - outputPrefix: {description: "Output directory path + output file prefix.", category: "required"} + outputDir: {description: "Output directory path.", category: "required"} + outputNamePrefix: {description: "Basename of the output files.", category: "required"} cores: {description: "The number of cores to be used.", category: "advanced"} memory: {description: "The amount of memory available to the job.", category: "advanced"} dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.", category: "advanced"} diff --git a/lima.wdl b/lima.wdl index 747959a1eb9b1695ae891e178b36725d95204bed..ba8a5407fa1be7757beaff0b5bdb404016793352 100644 --- a/lima.wdl +++ b/lima.wdl @@ -48,8 +48,8 @@ task Lima { File barcodeFile String outputPrefix - Int cores = 4 - String memory = "10G" + Int cores = 2 + String memory = "2G" String dockerImage = "quay.io/biocontainers/lima:1.11.0--0" } @@ -87,13 +87,13 @@ task Lima { ~{barcodeFile} \ ~{basename(outputPrefix) + ".fl.bam"} - # Move commands below are needed because glob command does not find + # copy commands below are needed because glob command does not find # multiple bam/bam.pbi/subreadset.xml files when not located in working # directory. - mv "~{basename(outputPrefix)}.fl.json" "~{outputPrefix}.fl.json" - mv "~{basename(outputPrefix)}.fl.lima.counts" "~{outputPrefix}.fl.lima.counts" - mv "~{basename(outputPrefix)}.fl.lima.report" "~{outputPrefix}.fl.lima.report" - mv "~{basename(outputPrefix)}.fl.lima.summary" "~{outputPrefix}.fl.lima.summary" + cp "~{basename(outputPrefix)}.fl.json" "~{outputPrefix}.fl.json" + cp "~{basename(outputPrefix)}.fl.lima.counts" "~{outputPrefix}.fl.lima.counts" + cp "~{basename(outputPrefix)}.fl.lima.report" "~{outputPrefix}.fl.lima.report" + cp "~{basename(outputPrefix)}.fl.lima.summary" "~{outputPrefix}.fl.lima.summary" } output { diff --git a/scripts b/scripts index dfef7cb2555667126dc1751add414527240d71bc..b83da72b9b43b956a3062b78fb08044eb9fae464 160000 --- a/scripts +++ b/scripts @@ -1 +1 @@ -Subproject commit dfef7cb2555667126dc1751add414527240d71bc +Subproject commit b83da72b9b43b956a3062b78fb08044eb9fae464