From 2105f0169134562581479451a65366d195991fb3 Mon Sep 17 00:00:00 2001
From: JasperBoom <jboom@infernum.nl>
Date: Wed, 29 Jan 2020 11:46:36 +0100
Subject: [PATCH] Update parameter_meta and fix centrifuge index locating.

---
 centrifuge.wdl | 26 ++++++++++++++++++++++++--
 minimap2.wdl   |  6 ++----
 talon.wdl      | 32 ++++++++++++++++----------------
 3 files changed, 42 insertions(+), 22 deletions(-)

diff --git a/centrifuge.wdl b/centrifuge.wdl
index 32ddff3..0d05fee 100644
--- a/centrifuge.wdl
+++ b/centrifuge.wdl
@@ -68,6 +68,7 @@ task Build {
     }
 
     parameter_meta {
+        # inputs
         disableDifferenceCover: {description: "Disable use of the difference-cover sample.", category: "required"}
         conversionTable: {description: "List of UIDs (unique ID) and corresponding taxonomic IDs.", category: "required"}
         taxonomyTree: {description: "Taxonomic tree (e.g. nodes.dmp).", category: "required"}
@@ -79,6 +80,12 @@ task Build {
         ftabChars: {description: "Calculate an initial BW range with respect to this character.", category: "common"}
         kmerCount: {description: "Use <int> as kmer-size for counting the distinct number of k-mers in the input sequences.", category: "common"}
         sizeTable: {description: "List of taxonomic IDs and lengths of the sequences belonging to the same taxonomic IDs.", category: "common"}
+        threads: {description: "The number of threads 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"}
+
+        # outputs
+        outputIndex: {description: "Generated Centrifuge index."}
     }
 }
 
@@ -139,6 +146,7 @@ task Classify {
     }
 
     parameter_meta {
+        # inputs
         inputFormat: {description: "The format of the read file(s).", category: "required"}
         phred64: {description: "If set to true, Phred+64 encoding is used.", category: "required"}
         minHitLength: {description: "Minimum length of partial hits.", category: "required"}
@@ -151,13 +159,21 @@ task Classify {
         reportMaxDistinct: {description: "It searches for at most <int> distinct, primary assignments for each read or pair.", category: "common"}
         hostTaxIDs: {description: "A comma-separated list of taxonomic IDs that will be preferred in classification procedure.", category: "common"}
         excludeTaxIDs: {description: "A comma-separated list of taxonomic IDs that will be excluded in classification procedure.", category: "common"}
+        threads: {description: "The number of threads 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"}
+
+        # outputs
+        outputMetrics: {description: "File with Centrifuge metrics."}
+        outputClassification: {description: "File with the classification results."}
+        outputReport: {description: "File with a classification summary."}
     }
 }
 
 task Inspect {
     input {
         String printOption = "fasta"
-        String indexBasename
+        Array[File]+ indexFiles
         String outputPrefix
 
         Int? across
@@ -174,7 +190,7 @@ task Inspect {
         centrifuge-inspect \
         ~{outputOptions[printOption]} \
         ~{"--across " + across} \
-        ~{indexBasename} \
+        ~{sub(indexFiles[0], "\.[0-9]\.cf", "")} \
         > ~{outputPrefix + "/" + printOption}
     }
 
@@ -188,10 +204,16 @@ task Inspect {
     }
 
     parameter_meta {
+        # inputs
         printOption: {description: "The output option for inspect (fasta, summary, conversionTable, taxonomyTree, nameTable, sizeTable)", category: "required"}
         indexBasename: {description: "The basename of the index to be inspected.", category: "required"}
         outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
         across: {description: "When printing FASTA output, output a newline character every <int> bases.", category: "common"}
+        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"}
+
+        # outputs
+        outputInspect: {description: "Output file according to output option."}
     }
 }
 
diff --git a/minimap2.wdl b/minimap2.wdl
index aff51dc..32c0666 100644
--- a/minimap2.wdl
+++ b/minimap2.wdl
@@ -68,8 +68,7 @@ task Indexing {
         splitIndex: {description: "Split index for every ~NUM input bases.", category: "advanced"}
         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"}
+        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"}
 
         # output
         outputIndexFile: {description: "Indexed reference file."}
@@ -150,8 +149,7 @@ task Mapping {
         queryFile: {description: "Input fasta file.", 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"}
+        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"}
 
         # output
         outputAlignmentFile: {description: "Mapping and alignment between collections of DNA sequences file."}
diff --git a/talon.wdl b/talon.wdl
index c861e56..0501896 100644
--- a/talon.wdl
+++ b/talon.wdl
@@ -64,8 +64,7 @@ task CreateAbundanceFileFromDatabase {
         whitelistFile: {description: "Whitelist file of transcripts to include in the output.", category: "advanced"}
         datasetsFile: {description: "A file indicating which datasets should be included.", 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"}
+        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"}
 
         # outputs
         outputAbundanceFile: {description: "Abundance for each transcript in the TALON database across datasets."}
@@ -120,8 +119,7 @@ task CreateGtfFromDatabase {
         whitelistFile: {description: "Whitelist file of transcripts to include in the output.", category: "advanced"}
         datasetFile: {description: "A file indicating which datasets should be included.", 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"}
+        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"}
 
         # outputs
         outputGTFfile: {description: "The genes, transcripts, and exons stored a TALON database in GTF format."}
@@ -160,13 +158,16 @@ task FilterTalonTranscripts {
     }
 
     parameter_meta {
+        # inputs
         databaseFile: {description: "TALON database.", category: "required"}
         annotationVersion: {description: "Which annotation version to use.", category: "required"}
         outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
         pairingsFile: {description: "A file indicating which datasets should be considered together.", 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"}
+        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"}
+
+        # outputs
+        outputTranscriptWhitelist: {description: "A transcript whitelist produced from the TALON database."}
     }
 }
 
@@ -208,8 +209,7 @@ task GetReadAnnotations {
         outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
         datasetFile: {description: "A file indicating which datasets should be included.", 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"}
+        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"}
 
         # outputs
         outputAnnotation: {description: "Read-specific annotation information from a TALON database."}
@@ -265,8 +265,7 @@ task InitializeTalonDatabase {
         cutoff3p: {description: "Maximum allowable distance (bp) at the 3' end during annotation.", category: "advanced"}
         outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
         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"}
+        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"}
 
         # outputs
         outputDatabase: {description: "TALON database."}
@@ -297,10 +296,13 @@ task ReformatGtf {
     }
 
     parameter_meta {
+        # inputs
         GTFfile: {description: "GTF annotation containing genes, transcripts, and edges.", category: "required"}
         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"}
+        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"}
+
+        # outputs
+        outputReformattedGTF: {description: "Reformatted GTF file."}
     }
 }
 
@@ -342,8 +344,7 @@ task SummarizeDatasets {
         outputPrefix: {description: "Output directory path + output file prefix.", category: "required"}
         datasetGroupsCSV: {description: "File of comma-delimited dataset groups to process together.", 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"}
+        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"}
 
         # outputs
         outputSummaryFile: {description: "Tab-delimited file of gene and transcript counts for each dataset."}
@@ -413,8 +414,7 @@ task Talon {
         outputPrefix: {description: "Output directory path + output file prefix.", 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"}
+        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"}
 
         # outputs
         outputUpdatedDatabase: {description: "Updated TALON database."}
-- 
GitLab