Commit 8c7f9978 authored by Cats's avatar Cats
Browse files

Merge remote-tracking branch 'origin/develop' into update_CPAT

parents 47c89884 c1a647aa
......@@ -12,14 +12,27 @@ version 5.0.0-dev
---------------------------
+ Update CPAT to version 3.0.4.
+ Changed the `outFilePath` input to `outputPrefix`.
+ Survivor: Change integer to string literal in boolean parameters.
+ Samtools: Add mkdir line to `Fastq` task.
+ Add new parameters from CCS version 6.0.0 and add two new outputs:
`ccs_report.txt` & `zmw_metrics.json.gz`.
+ Change CutAdapt memory to `5G`.
+ Increase multiqc base time from 5 to 10.
+ Update biowdl-input-converter to version 0.3.
+ Update minimap2 to version 2.20.
+ Update lima to version 2.2.0.
+ Update ccs to version 6.0.0.
+ Update bam2fastx to version 1.3.1.
+ Add memory values to GffCompare, GffRead and CPAT.
+ GffCompare: Make the `referenceAnnotation` input optional.
+ Stringtie: Add the `minimumCoverage` input.
+ UMI-tools: update default dockerImage to use umitools v1.1.1 with correct samtools version (1.10)
+ UMI-tools: re-introduce samtools indexing
+ UMI-tools: update default dockerImage to use umitools v1.1.1
+ UMI-tools dedup: Add tempdir
+ Update BCFTOOLS view: add options for filtering (include, exclude, excludeUncalled).
+ Duphold: add duphold.wdl.
+ UMI-tools: Update default dockerImage to use umitools v1.1.1 with correct
samtools version (1.10).
+ UMI-tools: Re-introduce samtools indexing.
+ UMI-tools: Update default dockerImage to use umitools v1.1.1.
+ UMI-tools dedup: Add tempdir.
+ Bcftools view: Add options for filtering (include, exclude, excludeUncalled).
+ Duphold: Add `duphold.wdl`.
+ Add new wdl file prepareShiny.wdl for creating input files for shiny app.
+ mergePacBio: Rename `mergedReport` to `outputPathMergedReport`.
+ Lima: Fix copy commands.
......
......@@ -34,6 +34,7 @@ task CPAT {
Array[String]? startCodons
Array[String]? stopCodons
String memory = "4G"
Int timeMinutes = 10 + ceil(size(gene, "G") * 30)
String dockerImage = "biocontainers/cpat:3.0.4--py39hcbe4a3b_0"
}
......@@ -64,8 +65,9 @@ task CPAT {
}
runtime {
docker: dockerImage
memory: memory
time_minutes: timeMinutes
docker: dockerImage
}
parameter_meta {
......@@ -78,6 +80,7 @@ task CPAT {
referenceGenomeIndex: {description: "The index of the reference. Should be added as input if CPAT should not index the reference genome.", category: "advanced"}
startCodons: {description: "Equivalent to CPAT's `--start` option.", category: "advanced"}
stopCodons: {description: "Equivalent to CPAT's `--stop` option.", category: "advanced"}
memory: {description: "The amount of memory available to the job.", category: "advanced"}
timeMinutes: {description: "The maximum amount of time the job will run in minutes.", 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"}
}
......
......@@ -32,7 +32,7 @@ task Bam2Fasta {
String memory = "2G"
Int timeMinutes = 15
String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.0--he1c1bb9_8"
String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
}
command {
......@@ -100,7 +100,7 @@ task Bam2Fastq {
String memory = "2G"
Int timeMinutes = 15
String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.0--he1c1bb9_8"
String dockerImage = "quay.io/biocontainers/bam2fastx:1.3.1--hf05d43a_1"
}
command {
......
......@@ -34,7 +34,7 @@ task InputConverter {
String memory = "128M"
Int timeMinutes = 1
String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.2.1--py_0"
String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
}
command <<<
......
......@@ -24,12 +24,19 @@ task CCS {
input {
File subreadsFile
String outputPrefix
String logLevel = "WARN"
Int minPasses = 3
Int topPasses = 60
Int minLength = 10
Int maxLength = 50000
Boolean byStrand = false
Boolean skipPolish = false
Boolean all = false
Boolean subreadFallback = false
Boolean allKinetics = false
Boolean hifiKinetics = false
Float minSnr = 2.5
Float minReadQuality = 0.99
String logLevel = "WARN"
File? subreadsIndexFile
String? chunkString
......@@ -37,7 +44,7 @@ task CCS {
Int threads = 2
String memory = "4G"
Int timeMinutes = 1440
String dockerImage = "quay.io/biocontainers/pbccs:5.0.0--0"
String dockerImage = "quay.io/biocontainers/pbccs:6.0.0--h9ee0642_2"
}
command {
......@@ -45,15 +52,24 @@ task CCS {
mkdir -p "$(dirname ~{outputPrefix})"
ccs \
--min-passes ~{minPasses} \
--min-snr ~{minSnr} \
--top-passes ~{topPasses} \
--min-length ~{minLength} \
--max-length ~{maxLength} \
~{true="--by-strand" false="" byStrand} \
~{true="--skip-polish" false="" skipPolish} \
~{true="--all" false="" all} \
~{true="--subread-fallback" false="" subreadFallback} \
~{true="--all-kinetics" false="" allKinetics} \
~{true="--hifi-kinetics" false="" hifiKinetics} \
--min-rq ~{minReadQuality} \
--log-level ~{logLevel} \
--num-threads ~{threads} \
~{"--chunk " + chunkString} \
~{"--report-file " + outputPrefix + ".ccs_report.txt"} \
~{"--report-json " + outputPrefix + ".ccs.report.json"} \
~{"--log-file " + outputPrefix + ".ccs.stderr.log"} \
~{"--metrics-json " + outputPrefix + ".zmw_metrics.json.gz"} \
~{subreadsFile} \
~{outputPrefix + ".ccs.bam"}
}
......@@ -61,8 +77,10 @@ task CCS {
output {
File ccsBam = outputPrefix + ".ccs.bam"
File ccsBamIndex = outputPrefix + ".ccs.bam.pbi"
File ccsReport = outputPrefix + ".ccs.report.json"
File ccsReport = outputPrefix + ".ccs_report.txt"
File ccsJsonReport = outputPrefix + ".ccs.report.json"
File ccsStderr = outputPrefix + ".ccs.stderr.log"
File zmwMetrics = outputPrefix + ".zmw_metrics.json.gz"
}
runtime {
......@@ -76,12 +94,19 @@ task CCS {
# inputs
subreadsFile: {description: "Subreads input file.", category: "required"}
outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
logLevel: {description: "Set log level. Valid choices: (TRACE, DEBUG, INFO, WARN, FATAL).", category: "advanced"}
minPasses: {description: "Minimum number of full-length subreads required to generate ccs for a ZMW.", category: "advanced"}
topPasses: {description: "Pick at maximum the top N passes for each ZMW.", category: "advanced"}
minLength: {description: "Minimum draft length before polishing.", category: "advanced"}
maxLength: {description: "Maximum draft length before polishing.", category: "advanced"}
byStrand: {description: "Generate a consensus for each strand.", category: "advanced"}
skipPolish: {description: "Only output the initial draft template (faster, less accurate).", category: "advanced"}
all: {description: "Emit all ZMWs.", category: "advanced"}
subreadFallback: {description: "Emit a representative subread, instead of the draft consensus, if polishing failed.", category: "advanced"}
allKinetics: {description: "Calculate mean pulse widths (PW) and interpulse durations (IPD) for every ZMW.", category: "advanced"}
hifiKinetics: {description: "Calculate mean pulse widths (PW) and interpulse durations (IPD) for every HiFi read.", category: "advanced"}
minSnr: {description: "Minimum SNR of subreads to use for generating CCS.", category: "advanced"}
minReadQuality: {description: "Minimum predicted accuracy in [0, 1].", category: "common"}
logLevel: {description: "Set log level. Valid choices: (TRACE, DEBUG, INFO, WARN, FATAL).", category: "advanced"}
subreadsIndexFile: {description: "Index for the subreads input file, required when using chunkString.", category: "advanced"}
chunkString: {descpription: "Chunk string (e.g. 1/4, 5/5) for CCS.", category: "advanced"}
threads: {description: "The number of threads to be used.", category: "advanced"}
......@@ -92,7 +117,9 @@ task CCS {
# outputs
ccsBam: {description: "Consensus reads output file."}
ccsBamIndex: {description: "Index of consensus reads output file."}
ccsReport: {description: "Ccs results report file."}
ccsReport: {description: "Ccs report file."}
ccsJsonReport: {description: "Ccs results json report file."}
ccsStderr: {description: "Ccs STDERR log file."}
zmwMetrics: {description: "ZMW metrics json file."}
}
}
......@@ -221,7 +221,7 @@ task YamlToJson {
String memory = "128M"
Int timeMinutes = 1
# biowdl-input-converter has python and pyyaml.
String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.2.1--py_0"
String dockerImage = "quay.io/biocontainers/biowdl-input-converter:0.3.0--pyhdfd78af_0"
}
command {
......
......@@ -83,7 +83,7 @@ task Cutadapt {
Boolean? noZeroCap
Int cores = 4
String memory = "~{300 + 100 * cores}M"
String memory = "5G"
Int timeMinutes = 1 + ceil(size([read1, read2], "G") * 12.0 / cores)
String dockerImage = "quay.io/biocontainers/cutadapt:2.10--py37hf01694f_1"
}
......
......@@ -46,6 +46,7 @@ task GffCompare {
Int? maxDistanceGroupingTranscriptStartSites
String? namePrefix
String memory = "4G"
Int timeMinutes = 1 + ceil(size(inputGtfFiles, "G") * 30)
String dockerImage = "quay.io/biocontainers/gffcompare:0.10.6--h2d50403_0"
......@@ -114,6 +115,7 @@ task GffCompare {
}
runtime {
memory: memory
time_minutes: timeMinutes
docker: dockerImage
}
......@@ -140,6 +142,7 @@ task GffCompare {
maxDistanceFreeEndsTerminalExons: {description: "Equivalent to gffcompare's `-e` option.", category: "advanced"}
maxDistanceGroupingTranscriptStartSites: {description: "Equivalent to gffcompare's `-d` option.", category: "advanced"}
namePrefix: {description: "Equivalent to gffcompare's `-p` option.", category: "advanced"}
memory: {description: "The amount of memory available to the job.", category: "advanced"}
timeMinutes: {description: "The maximum amount of time the job will run in minutes.", 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"}
......
......@@ -32,6 +32,7 @@ task GffRead {
String? proteinFastaPath
String? filteredGffPath
String memory = "4G"
Int timeMinutes = 1 + ceil(size(inputGff, "G") * 10)
String dockerImage = "quay.io/biocontainers/gffread:0.9.12--0"
}
......@@ -64,6 +65,7 @@ task GffRead {
}
runtime {
memory: memory
time_minutes: timeMinutes
docker: dockerImage
}
......@@ -78,6 +80,7 @@ task GffRead {
CDSFastaPath: {description: "The location the CDS fasta should be written to.", category: "advanced"}
proteinFastaPath: {description: "The location the protein fasta should be written to.", category: "advanced"}
filteredGffPath: {description: "The location the filtered GFF should be written to.", category: "advanced"}
memory: {description: "The amount of memory available to the job.", category: "advanced"}
timeMinutes: {description: "The maximum amount of time the job will run in minutes.", 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"}
......
......@@ -51,7 +51,7 @@ task Lima {
Int threads = 2
String memory = "2G"
Int timeMinutes = 30
String dockerImage = "quay.io/biocontainers/lima:2.0.0--0"
String dockerImage = "quay.io/biocontainers/lima:2.2.0--h9ee0642_0"
}
Map[String, String] libraryDesignOptions = {"same": "--same", "different": "--different", "neighbors": "--neighbors"}
......@@ -91,13 +91,13 @@ task Lima {
dirName="$(dirname ~{outputPrefix})"
find "$(cd ${dirName}; pwd)" -name "*.bam" > bamFiles.txt
find "$(cd ${dirName}; pwd)" -name "*.bam.pbi" > bamIndexes.txt
find "$(cd ${dirName}; pwd)" -name "*.subreadset.xml" > subreadsets.txt
find "$(cd ${dirName}; pwd)" -name "*.consensusreadset.xml" > consensusreadset.txt
>>>
output {
Array[File] limaBam = read_lines("bamFiles.txt")
Array[File] limaBamIndex = read_lines("bamIndexes.txt")
Array[File] limaXml = read_lines("subreadsets.txt")
Array[File] limaXml = read_lines("consensusreadset.txt")
File limaStderr = outputPrefix + ".lima.stderr.log"
File limaJson = outputPrefix + ".json"
File limaCounts = outputPrefix + ".lima.counts"
......
......@@ -33,7 +33,7 @@ task Indexing {
Int cores = 1
String memory = "4G"
Int timeMinutes = 10
String dockerImage = "quay.io/biocontainers/minimap2:2.17--hed695b0_3"
String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
}
command {
......@@ -100,7 +100,7 @@ task Mapping {
Int cores = 4
String memory = "30G"
Int timeMinutes = 1 + ceil(size(queryFile, "G") * 200 / cores)
String dockerImage = "quay.io/biocontainers/minimap2:2.17--hed695b0_3"
String dockerImage = "quay.io/biocontainers/minimap2:2.20--h5bf99c6_0"
}
command {
......
......@@ -57,7 +57,7 @@ task MultiQC {
String? clConfig
String? memory
Int timeMinutes = 2 + ceil(size(reports, "G") * 8)
Int timeMinutes = 10 + ceil(size(reports, "G") * 8)
String dockerImage = "quay.io/biocontainers/multiqc:1.9--py_1"
}
......
......@@ -42,7 +42,7 @@ task NanoPlot {
Int threads = 2
String memory = "2G"
Int timeMinutes = 15
String dockerImage = "quay.io/biocontainers/nanoplot:1.32.1--py_0"
String dockerImage = "quay.io/biocontainers/nanoplot:1.38.0--pyhdfd78af_0"
}
Map[String, String] fileTypeOptions = {"fastq": "--fastq ", "fasta": "--fasta ", "fastq_rich": "--fastq_rich ", "fastq_minimal": "--fastq_minimal ", "summary": "--summary ", "bam": "--bam ", "ubam": "--ubam ", "cram": "--cram ", "pickle": "--pickle ", "feather": "--feather "}
......
......@@ -26,7 +26,7 @@ task mergePacBio {
String outputPathMergedReport
String memory = "4G"
String dockerImage = "lumc/pacbio-merge:0.2"
String dockerImage = "quay.io/redmar_van_den_berg/pacbio-merge:0.2"
}
command {
......
......@@ -122,6 +122,8 @@ task Fastq {
}
command {
set -e
mkdir -p "$(dirname ~{outputRead1})"
samtools fastq \
~{true="-1" false="-s" defined(outputRead2)} ~{outputRead1} \
~{"-2 " + outputRead2} \
......
Subproject commit 85e2ec542b65be5f2a25c22db05c28700fbe6db5
Subproject commit c31670d3a9222a2feafc649cbc118c95afbc7189
......@@ -44,9 +44,9 @@ task Merge {
fileList \
~{breakpointDistance} \
~{suppVecs} \
~{true=1 false=0 svType} \
~{true=1 false=0 strandType} \
~{true=1 false=0 distanceBySvSize} \
~{true='1' false='0' svType} \
~{true='1' false='0' strandType} \
~{true='1' false='0' distanceBySvSize} \
~{minSize} \
~{outputPath}
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment