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"
+        }
+    }
 }