diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f0b90c6f19356a604142813749e0f4e2e5e2b35..81be2dbcf9d9ec030b525e6c366cd3e9d59389aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,12 @@ that users understand how the changes affect the new version. version 2.1.0-dev --------------------------- ++ Added parameter_meta sections to the following tools: + + htseq + + cutadapt + + collect-columns + + stringtie + + fastqc + Updated star default image to 2.7.3a + Hisat2 now indexes the resulting BAM file. + Samtools index now also works without setting a path for the output diff --git a/bwa.wdl b/bwa.wdl index f821b9173ed1a6f64aaf854a0e885f4822dca617..6623899134615340dffd9d2def09e3e4379c9b88 100644 --- a/bwa.wdl +++ b/bwa.wdl @@ -104,7 +104,7 @@ task Kit { category: "required" } outputPrefix: { - description: "The prefix of the output files, including any parent directories", + description: "The prefix of the output files, including any parent directories.", category: "required" } readgroup: { @@ -128,7 +128,7 @@ task Kit { category: "advanced" } dockerImage: { - description: "The docker image used for this task. Changing this may result in errors which the developers may chose not to address.", + 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/collect-columns.wdl b/collect-columns.wdl index fce0cfa9a9ebdb8232057222858e589be607e521..263e317dc4c36b413ad5643c77c49ec17926e7e5 100644 --- a/collect-columns.wdl +++ b/collect-columns.wdl @@ -42,4 +42,51 @@ task CollectColumns { memory: "~{memoryGb}G" docker: dockerImage } + + parameter_meta { + inputTables: { + description: "The tables from which columns should be taken.", + category: "required" + } + outputPath: { + description: "The path to which the output should be written.", + category: "required" + } + featureColumn: { + description: "Equivalent to the -f option of collect-columns.", + category: "common" # Should likely be controlled by the calling workflow + } + valueColumn: { + description: "Equivalent to the -c option of collect-columns.", + category: "common" # Should likely be controlled by the calling workflow + } + separator: { + description: "Equivalent to the -s option of collect-columns.", + category: "common" # Should likely be controlled by the calling workflow + } + sampleNames: { + description: "Equivalent to the -n option of collect-columns.", + category: "common" # Should likely be controlled by the calling workflow + } + header: { + description: "Equivalent to the -H flag of collect-columns.", + category: "common" + } + additionalAttributes: { + description: "Equivalent to the -a option of collect-columns.", + category: "advanced" + } + referenceGtf: { + description: "Equivalent to the -g option of collect-columns.", + category: "advanced" + } + featureAttribute: { + description: "Equivalent to the -F option of collect-columns.", + 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" + } + } } \ No newline at end of file diff --git a/cutadapt.wdl b/cutadapt.wdl index ff2be2f3c8da0c9887fc116414043dc62fb08f08..571bc884a23a3691006dbdc1e9ad6029c24d4a8b 100644 --- a/cutadapt.wdl +++ b/cutadapt.wdl @@ -116,7 +116,7 @@ task Cutadapt { ~{true="--no-trim" false="" noTrim} \ ~{true="--mask-adapter" false="" maskAdapter} \ ~{true="--no-indels" false="" noIndels} \ - ~{true="--trim-n" false="" trimN} \ + ~{true="--trim-n" false="" trimN} \ ~{true="--interleaved" false="" interleaved} \ ~{true="--discard-trimmed" false="" discardTrimmed } \ ~{true="--colorspace" false="" colorspace} \ @@ -151,4 +151,239 @@ task Cutadapt { memory: memory docker: dockerImage } + + parameter_meta { + read1: { + description: "The first or single end fastq file to be run through cutadapt.", + category: "required" + } + read2: { + description: "An optional second end fastq file to be run through cutadapt.", + category: "common" + } + read1output: { + description: "The name of the resulting first or single end fastq file.", + category: "common" + } + read2output: { + description: "The name of the resulting second end fastq file.", + category: "common" + } + format: { + description: "Equivalent to cutadapt's --format option.", + category: "advanced" + } + adapter: { + description: "A list of 3' ligated adapter sequences to be cut from the given first or single end fastq file.", + category: "common" + } + front: { + description: "A list of 5' ligated adapter sequences to be cut from the given first or single end fastq file.", + category: "advanced" + } + anywhere: { + description: "A list of 3' or 5' ligated adapter sequences to be cut from the given first or single end fastq file.", + category: "advanced" + } + adapterRead2: { + description: "A list of 3' ligated adapter sequences to be cut from the given second end fastq file.", + category: "common" + } + frontRead2: { + description: "A list of 5' ligated adapter sequences to be cut from the given second end fastq file.", + category: "advanced" + } + anywhereRead2: { + description: "A list of 3' or 5' ligated adapter sequences to be cut from the given second end fastq file.", + category: "advanced" + } + interleaved: { + description: "Equivalent to cutadapt's --interleaved flag.", + category: "advanced" + } + pairFilter: { + description: "Equivalent to cutadapt's --pair-filter option.", + category: "advanced" + } + errorRate: { + description: "Equivalent to cutadapt's --error-rate option.", + category: "advanced" + } + noIndels: { + description: "Equivalent to cutadapt's --no-indels flag.", + category: "advanced" + } + times: { + description: "Equivalent to cutadapt's --times option.", + category: "advanced" + } + overlap: { + description: "Equivalent to cutadapt's --overlap option.", + category: "advanced" + } + matchReadWildcards: { + description: "Equivalent to cutadapt's --match-read-wildcards flag.", + category: "advanced" + } + noMatchAdapterWildcards: { + description: "Equivalent to cutadapt's --no-match-adapter-wildcards flag.", + category: "advanced" + } + noTrim: { + description: "Equivalent to cutadapt's --no-trim flag.", + category: "advanced" + } + maskAdapter: { + description: "Equivalent to cutadapt's --mask-adapter flag.", + category: "advanced" + } + cut: { + description: "Equivalent to cutadapt's --cut option.", + category: "advanced" + } + nextseqTrim: { + description: "Equivalent to cutadapt's --nextseq-trim option.", + category: "advanced" + } + qualityCutoff: { + description: "Equivalent to cutadapt's --quality-cutoff option.", + category: "advanced" + } + qualityBase: { + description: "Equivalent to cutadapt's --quality-base option.", + category: "advanced" + } + length: { + description: "Equivalent to cutadapt's --length option.", + category: "advanced" + } + trimN: { + description: "Equivalent to cutadapt's --trim-n flag.", + category: "advanced" + } + lengthTag: { + description: "Equivalent to cutadapt's --length-tag option.", + category: "advanced" + } + stripSuffix: { + description: "Equivalent to cutadapt's --strip-suffix option.", + category: "advanced" + } + prefix: { + description: "Equivalent to cutadapt's --prefix option.", + category: "advanced" + } + suffix: { + description: "Equivalent to cutadapt's --suffix option.", + category: "advanced" + } + minimumLength: { + description: "Equivalent to cutadapt's --minimum-length option.", + category: "advanced" + } + maximumLength: { + description: "Equivalent to cutadapt's --maximum-length option.", + category: "advanced" + } + maxN: { + description: "Equivalent to cutadapt's --max-n option.", + category: "advanced" + } + discardTrimmed: { + description: "Equivalent to cutadapt's --quality-cutoff option.", + category: "advanced" + } + discardUntrimmed: { + description: "Equivalent to cutadapt's --discard-untrimmed option.", + category: "advanced" + } + infoFilePath: { + description: "Equivalent to cutadapt's --info-file option.", + category: "advanced" + } + restFilePath: { + description: "Equivalent to cutadapt's --rest-file option.", + category: "advanced" + } + wildcardFilePath: { + description: "Equivalent to cutadapt's --wildcard-file option.", + category: "advanced" + } + tooShortOutputPath: { + description: "Equivalent to cutadapt's --too-short-output option.", + category: "advanced" + } + tooLongOutputPath: { + description: "Equivalent to cutadapt's --too-long-output option.", + category: "advanced" + } + untrimmedOutputPath: { + description: "Equivalent to cutadapt's --untrimmed-output option.", + category: "advanced" + } + tooShortPairedOutputPath: { + description: "Equivalent to cutadapt's --too-short-paired-output option.", + category: "advanced" + } + tooLongPairedOutputPath: { + description: "Equivalent to cutadapt's --too-long-paired-output option.", + category: "advanced" + } + untrimmedPairedOutputPath: { + description: "Equivalent to cutadapt's --untrimmed-paired-output option.", + category: "advanced" + } + colorspace: { + description: "Equivalent to cutadapt's --colorspace flag.", + category: "advanced" + } + doubleEncode: { + description: "Equivalent to cutadapt's --double-encode flag.", + category: "advanced" + } + trimPrimer: { + description: "Equivalent to cutadapt's --trim-primer flag.", + category: "advanced" + } + stripF3: { + description: "Equivalent to cutadapt's --strip-f3 flag.", + category: "advanced" + } + maq: { + description: "Equivalent to cutadapt's --maq flag.", + category: "advanced" + } + bwa: { + description: "Equivalent to cutadapt's --bwa flag.", + category: "advanced" + } + zeroCap: { + description: "Equivalent to cutadapt's --zero-cap flag.", + category: "advanced" + } + noZeroCap: { + description: "Equivalent to cutadapt's --no-zero-cap flag.", + category: "advanced" + } + reportPath: { + description: "The name of the file to write cutadapts's stdout to, this contains some metrics.", + category: "common" + } + Z: { + description: "Equivalent to cutadapt's -Z flag.", + category: "advanced" + } + cores: { + description: "The number of cores to use.", + category: "advanced" + } + memory: { + description: "The amount of memory this job will use.", + 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/fastqc.wdl b/fastqc.wdl index 4c68cd26b13f4af531e84dc4de2851b3da76bd96..931c153a68c374bc2d0f9f51187c09cd2f5936cf 100644 --- a/fastqc.wdl +++ b/fastqc.wdl @@ -63,6 +63,79 @@ task Fastqc { cpu: threads docker: dockerImage } + + parameter_meta { + seqFile: { + description: "A fastq file.", + category: "required" + } + outdirPath: { + description: "The path to write the output to", + catgory: "required" + } + casava: { + description: "Equivalent to fastqc's --casava flag.", + category: "advanced" + } + nano: { + description: "Equivalent to fastqc's --nano flag.", + category: "advanced" + } + noFilter: { + description: "Equivalent to fastqc's --nofilter flag.", + category: "advanced" + } + extract: { + description: "Equivalent to fastqc's --extract flag.", + category: "advanced" + } + nogroup: { + description: "Equivalent to fastqc's --nogroup flag.", + category: "advanced" + } + minLength: { + description: "Equivalent to fastqc's --min_length option.", + category: "advanced" + } + format: { + description: "Equivalent to fastqc's --format option.", + category: "advanced" + } + contaminants: { + description: "Equivalent to fastqc's --contaminants option.", + category: "advanced" + } + adapters: { + description: "Equivalent to fastqc's --adapters option.", + category: "advanced" + } + limits: { + description: "Equivalent to fastqc's --limits option.", + category: "advanced" + } + kmers: { + description: "Equivalent to fastqc's --kmers option.", + category: "advanced" + } + dir: { + description: "Equivalent to fastqc's --dir option.", + category: "advanced" + } + threads: { + description: "The number of cores to use.", + 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" + } + } + + meta { + WDL_AID: { + exclude: ["NoneFile", "NoneArray"] + } + } } task GetConfiguration { @@ -89,4 +162,11 @@ task GetConfiguration { memory: "2G" # Needs more than 1 to pull the docker image docker: dockerImage } + + parameter_meta { + 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/htseq.wdl b/htseq.wdl index d8009a3b5c7fa3ea14fb3f9b5d0dbc83fa12b15f..645396e8061179df2d119d61baef6cac35af1b59 100644 --- a/htseq.wdl +++ b/htseq.wdl @@ -39,4 +39,51 @@ task HTSeqCount { memory: memory docker: dockerImage } + + parameter_meta { + inputBams: { + description: "The input BAM files.", + category: "required" + } + gtfFile: { + description: "A GTF/GFF file containing the features of interest.", + category: "required" + } + outputTable: { + description: "The path to which the output table should be written.", + category: "common" + } + format: { + description: "Equivalent to the -f option of htseq-count.", + category: "advanced" + } + order: { + description: "Equivalent to the -r option of htseq-count.", + category: "advanced" + } + stranded: { + description: "Equivalent to the -s option of htseq-count.", + category: "common" + } + featureType: { + description: "Equivalent to the --type option of htseq-count.", + category: "advanced" + } + idattr: { + description: "Equivalent to the --idattr option of htseq-count.", + category: "advanced" + } + additionalAttributes: { + description: "Equivalent to the --additional-attr option of htseq-count.", + category: "advanced" + } + memory: { + description: "The amount of memory the job requires in GB.", + 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/stringtie.wdl b/stringtie.wdl index dd267aa5b63236b2328a29b3f1863191ef8b680a..3392d7b21da26942f25fc93fc34327d95575d7ce 100644 --- a/stringtie.wdl +++ b/stringtie.wdl @@ -40,6 +40,53 @@ task Stringtie { memory: memory docker: dockerImage } + + parameter_meta { + bam: { + description: "The input BAM file.", + category: "required" + } + bamIndex: { + description: "The input BAM file's index.", + category: "required" + } + referenceGtf: { + description: "A reference GTF file to be used as guide.", + category: "common" + } + skipNovelTranscripts: { + description: "Whether new transcripts should be assembled or not.", + category: "common" + } + assembledTranscriptsFile: { + description: "Where the output of the assembly should be written.", + category: "required" + } + firstStranded: { + description: "Equivalent to the --rf flag of stringtie.", + category: "required" + } + secondStranded: { + description: "Equivalent to the --fr flag of stringtie.", + category: "required" + } + geneAbundanceFile: { + description: "Where the abundance file should be written.", + category: "common" + } + threads: { + description: "The number of threads to use.", + category: "advanced" + } + memory: { + description: "The amount of memory needed for this task in GB.", + 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" + } + } } task Merge { @@ -83,4 +130,55 @@ task Merge { memory: memory docker: dockerImage } + + parameter_meta { + gtfFiles: { + description: "The GTF files produced by stringtie.", + category: "required" + } + outputGtfPath: { + description: "Where the output should be written.", + category: "required" + } + guideGtf: { + description: "Equivalent to the -G option of 'stringtie --merge'.", + category: "advanced" + } + minimumLength: { + description: "Equivalent to the -m option of 'stringtie --merge'.", + category: "advanced" + } + minimumCoverage: { + description: "Equivalent to the -c option of 'stringtie --merge'.", + category: "advanced" + } + minimumFPKM: { + description: "Equivalent to the -F option of 'stringtie --merge'.", + category: "advanced" + } + minimumTPM: { + description: "Equivalent to the -T option of 'stringtie --merge'.", + category: "advanced" + } + minimumIsoformFraction: { + description: "Equivalent to the -f option of 'stringtie --merge'.", + category: "advanced" + } + keepMergedTranscriptsWithRetainedIntrons: { + description: "Equivalent to the -i flag of 'stringtie --merge'.", + category: "advanced" + } + label: { + description: "Equivalent to the -l option of 'stringtie --merge'.", + category: "advanced" + } + memory: { + description: "The amount of memory needed for this task in GB.", + 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" + } + } }