Add germline_v4.0.0.zip from <https://github.com/biowdl/germline-DNA/releases/tag...
[GalaxyCodeBases.git] / etc / gatk-wdl / fm2gatk / tasks / chunked-scatter.wdl
blobb54a7d2e909a20d43bbe194d9f28496b7753ce5d
1 version 1.0
3 # Copyright (c) 2017 Leiden University Medical Center
5 # Permission is hereby granted, free of charge, to any person obtaining a copy
6 # of this software and associated documentation files (the "Software"), to deal
7 # in the Software without restriction, including without limitation the rights
8 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 # copies of the Software, and to permit persons to whom the Software is
10 # furnished to do so, subject to the following conditions:
12 # The above copyright notice and this permission notice shall be included in
13 # all copies or substantial portions of the Software.
15 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 # SOFTWARE.
23 task ChunkedScatter {
24     input {
25         File inputFile
26         String prefix = "./scatter"
27         Int? chunkSize
28         Int? overlap
29         Int? minimumBasesPerFile
31         String memory = "256M"
32         Int timeMinutes = 2
33         String dockerImage = "quay.io/biocontainers/chunked-scatter:1.0.0--py_0"
34     }
36     command {
37         chunked-scatter \
38         --print-paths \
39         -p ~{prefix} \
40         ~{"-c " + chunkSize} \
41         ~{"-o " + overlap} \
42         ~{"-m " + minimumBasesPerFile} \
43         ~{inputFile}
44     }
46     output {
47         Array[File] scatters = read_lines(stdout())
48     }
50     runtime {
51         cpu: 1
52         memory: memory
53         time_minutes: timeMinutes
54         docker: dockerImage
55     }
57     parameter_meta {
58         inputFile: {description: "Either a bed file describing regiosn of intrest or a sequence dictionary.", category: "required"}
59         prefix: {description: "The prefix for the output files.", category: "advanced"}
60         chunkSize: {description: "Equivalent to chunked-scatter's `-c` option.", category: "advanced"}
61         overlap: {description: "Equivalent to chunked-scatter's `-o` option.", category: "advanced"}
62         minimumBasesPerFile: {description: "Equivalent to chunked-scatter's `-m` option.", category: "advanced"}
63         timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
64         memory: {description: "The amount of memory this job will use.", category: "advanced"}
65         dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.",
66                       category: "advanced"}
67     }
71 task ScatterRegions {
72     input {
73         File inputFile
74         String prefix = "scatters/scatter-" 
75         Boolean splitContigs = false
76         Int scatterSizeMillions = 1000
77         Int? scatterSize
78         Int timeMinutes = 2
79         String memory = "256M"
80         String dockerImage = "quay.io/biocontainers/chunked-scatter:0.2.0--py_0"
81     }
83     String finalSize = if defined(scatterSize) then "~{scatterSize}" else "~{scatterSizeMillions}000000"
84     
85     command {
86         scatter-regions \
87         --print-paths \
88         --scatter-size ~{finalSize} \
89         ~{true="--split-contigs" false="" splitContigs} \
90         ~{"--prefix " + prefix} \
91         ~{inputFile} 
92     }
94     output {
95         Array[File] scatters = read_lines(stdout())
96     }
97     
98     runtime {
99         cpu: 1
100         memory: memory
101         docker: dockerImage
102         time_minutes: timeMinutes
103     }
105     parameter_meta {
106         inputFile: {description: "The input file, either a bed file or a sequence dict. Which format is used is detected by the extension: '.bed', '.fai' or '.dict'.", category: "required"}
107         prefix: {description: "The prefix of the ouput files. Output will be named like: <PREFIX><N>.bed, in which N is an incrementing number. Default 'scatter-'.", category: "advanced"}
108         splitContigs: {description: "If set, contigs are allowed to be split up over multiple files.", category: "advanced"}
109         scatterSizeMillions: {description: "Over how many million base pairs should be scattered.", category: "common"}
110         scatterSize: {description: "Overrides scatterSizeMillions with a smaller value if set.", category: "advanced"}
112         timeMinutes: {description: "The maximum amount of time the job will run in minutes.", category: "advanced"}
113         memory: {description: "The amount of memory this job will use.", category: "advanced"}
114         dockerImage: {description: "The docker image used for this task. Changing this may result in errors which the developers may choose not to address.",
115                 category: "advanced"}
116     }