Mercurial > repos > matthias > dada2_plotqualityprofile
comparison dada2_plotQualityProfile.xml @ 9:d908015e5889 draft
planemo upload for repository https://github.com/bernt-matthias/mb-galaxy-tools/tree/topic/dada2/tools/dada2 commit a54770771e567c7ad8a9dd75cc4689c3935ef11c
author | matthias |
---|---|
date | Tue, 28 May 2019 12:15:38 -0400 |
parents | 7970dfbedde3 |
children | 36224cf72a7b |
comparison
equal
deleted
inserted
replaced
8:7970dfbedde3 | 9:d908015e5889 |
---|---|
6 <expand macro="requirements"/> | 6 <expand macro="requirements"/> |
7 <expand macro="version_command"/> | 7 <expand macro="version_command"/> |
8 <command detect_errors="exit_code"><![CDATA[ | 8 <command detect_errors="exit_code"><![CDATA[ |
9 ##name files by linking | 9 ##name files by linking |
10 #import re | 10 #import re |
11 #if "batch" in str($paired_cond.paired_select) | 11 mkdir forward && |
12 #set elid = re.sub('[^\w\-\.]', '_', str($paired_cond.fl.element_identifier)) | 12 #if $batch_cond.paired_cond.paired_select != "single" |
13 #if "single" in str($paired_cond.paired_select) | 13 mkdir reverse && |
14 ln -s '$paired_cond.fl' '$elid' && | 14 #end if |
15 #else | 15 |
16 ln -s '$paired_cond.fl.forward' '$elid'_forward && | 16 #if $batch_cond.batch_select == "batch": |
17 ln -s '$paired_cond.fl.reverse' '$elid'_reverse && | 17 #set elid = re.sub('[^\w\-\.]', '_', str($batch_cond.paired_cond.reads.element_identifier)) |
18 #end if | 18 #if $batch_cond.paired_cond.paired_select != "paired" |
19 ln -s '$batch_cond.paired_cond.reads' forward/'$elid' && | |
20 #else | |
21 ln -s '$batch_cond.paired_cond.reads.forward' forward/'$elid' && | |
22 ln -s '$batch_cond.paired_cond.reads.reverse' reverse/'$elid' && | |
23 #end if | |
24 #if $batch_cond.paired_cond.paired_select == "separate" | |
25 ln -s '$batch_cond.paired_cond.sdaer' reverse/'$elid' && | |
26 #end if | |
19 #else | 27 #else |
20 #for $read in $paired_cond.fl: | 28 #for $read in $batch_cond.paired_cond.reads: |
21 #set elid = re.sub('[^\w\-\.]', '_', str($read.element_identifier)) | 29 #set elid = re.sub('[^\w\-\.]', '_', str($read.element_identifier)) |
22 #if "single" in str($paired_cond.paired_select) | 30 #if $batch_cond.paired_cond.paired_select != "paired" |
23 ln -s '$read' '$elid' && | 31 ln -s '$read' forward/'$elid' && |
24 #else | 32 #else |
25 ln -s '$read.forward' '$elid'_forward && | 33 ln -s '$read.forward' forward/'$elid' && |
26 ln -s '$read.reverse' '$elid'_reverse && | 34 ln -s '$read.reverse' reverse/'$elid' && |
35 #end if | |
36 #end for | |
37 #if $batch_cond.paired_cond.paired_select == "separate" | |
38 #for $read in $batch_cond.paired_cond.sdaer: | |
39 #set elid = re.sub('[^\w\-\.]', '_', str($read.element_identifier)) | |
40 ln -s '$read' reverse/'$elid' && | |
41 #end for | |
27 #end if | 42 #end if |
28 #end for | |
29 #end if | 43 #end if |
30 | 44 |
31 Rscript --slave '$dada2_script' | 45 Rscript --slave '$dada2_script' |
32 ]]></command> | 46 ]]></command> |
33 <configfiles> | 47 <configfiles> |
34 <configfile name="dada2_script"><![CDATA[ | 48 <configfile name="dada2_script"><![CDATA[ |
35 #import re | 49 #import re |
36 fwd_files = c() | 50 library(ggplot2, quietly=T) |
37 rev_files = c() | 51 library(dada2, quietly=T) |
38 #if "batch" in str($paired_cond.paired_select) | |
39 #set elid = re.sub('[^\w\-\.]', '_', str($paired_cond.fl.element_identifier)) | |
40 #if "single" in str($paired_cond.paired_select) | |
41 fwd_files = c(fwd_files, '$elid') | |
42 #else | |
43 fwd_files = c(fwd_files, paste('$elid', 'forward', sep = "_")) | |
44 rev_files = c(rev_files, paste('$elid', 'reverse', sep = "_")) | |
45 #end if | |
46 #else | |
47 #for $read in $paired_cond.fl: | |
48 #set elid = re.sub('[^\w\-\.]', '_', str($read.element_identifier)) | |
49 #if "single" in str($paired_cond.paired_select) | |
50 fwd_files = c(fwd_files, '$elid') | |
51 #else | |
52 fwd_files = c(fwd_files, paste('$elid', 'forward', sep = "_")) | |
53 rev_files = c(rev_files, paste('$elid', 'reverse', sep = "_")) | |
54 #end if | |
55 #end for | |
56 #end if | |
57 | 52 |
58 #if not "batch" in str($paired_cond.paired_select) | 53 #if $batch_cond.batch_select != "batch" |
59 agg = $paired_cond.aggregate | 54 agg = $batch_cond.aggregate |
60 #else | 55 #else |
61 agg = FALSE | 56 agg = FALSE |
62 #end if | 57 #end if |
63 | 58 |
64 library(ggplot2, quietly=T) | 59 fwd_files = list.files("forward", full.names=T) |
65 library(dada2, quietly=T) | 60 qp <- plotQualityProfile(fwd_files, n=$n, aggregate = agg) |
66 | |
67 qp <- plotQualityProfile(fwd_files, | |
68 #if str($n) != "" | |
69 n=$n, | |
70 #end if | |
71 aggregate = agg) | |
72 ggsave('output.pdf', qp, width = 20,height = 15,units = c("cm")) | 61 ggsave('output.pdf', qp, width = 20,height = 15,units = c("cm")) |
73 | 62 |
74 #if "paired" in str($paired_cond.paired_select) | 63 #if $batch_cond.paired_cond.paired_select != "single" |
75 qp <- plotQualityProfile(rev_files, | 64 rev_files = list.files("reverse", full.names=T) |
76 #if str($n) != "" | 65 qp <- plotQualityProfile(rev_files, n=$n, aggregate = agg) |
77 n=$n, | |
78 #end if | |
79 aggregate = agg) | |
80 ggsave('output_rev.pdf', qp, width = 20,height = 15,units = c("cm")) | 66 ggsave('output_rev.pdf', qp, width = 20,height = 15,units = c("cm")) |
81 #end if | 67 #end if |
82 ]]></configfile> | 68 ]]></configfile> |
83 </configfiles> | 69 </configfiles> |
84 <inputs> | 70 <inputs> |
85 <conditional name="paired_cond"> | 71 <conditional name="batch_cond"> |
86 <param name="paired_select" type="select" label="Input data organisation and processing mode" help="Select if data is organized in a paired collection or not (note that the pairing of the data sets is not used by the tool); batch will create a separate pdf for each input data set or data set pair; non-batch will create one pdf containing a plot for each data set"> | 72 <param name="batch_select" type="select" label="Processing mode" help="Joint processing processes all reads at once in a single job creating a single output (two in the case of paired data). Batch processes the samples in separate jobs and creates separate output for each"> |
87 <option value="paired">paired - non batch</option> | 73 <option value="joint">Joint</option> |
88 <option value="single">single - non batch</option> | 74 <option value="batch">Batch</option> |
89 <option value="paired_batch">paired - batch</option> | |
90 <option value="single_batch">single - batch</option> | |
91 </param> | 75 </param> |
92 <when value="paired"> | 76 <when value="joint"> |
93 <param argument="fl" type="data_collection" collection_type="list:paired" format="fastq,fastq.gz" label="Short read data"/> | 77 <expand macro="fastq_input" multiple="True" collection_type="list:paired" argument_fwd="fl" argument_rev="fl"/> |
94 <param argument="aggregate" type="boolean" label="Aggregate data" checked="True" truevalue="TRUE" falsevalue="FALSE" help="Create a single plot for all data sets (default) or a separate plot for each data set"/> | 78 <param argument="aggregate" type="boolean" label="Aggregate data" checked="True" truevalue="TRUE" falsevalue="FALSE" help="Create a single plot for all data sets (default) or a separate plot for each data set"/> |
95 </when> | 79 </when> |
96 <when value="single"> | 80 <when value="batch"> |
97 <param argument="fl" type="data" multiple="true" format="fastq,fastq.gz" label="Short read data"/> | 81 <expand macro="fastq_input" multiple="False" collection_type="paired" argument_fwd="fl" argument_rev="fl"/> |
98 <param argument="aggregate" type="boolean" label="Aggregate data" checked="True" truevalue="TRUE" falsevalue="FALSE" help="Create a single plot for all data sets (default) or a separate plot for each data set"/> | |
99 </when> | |
100 <when value="paired_batch"> | |
101 <param argument="fl" type="data_collection" collection_type="paired" format="fastq,fastq.gz" label="Short read data"/> | |
102 </when> | |
103 <when value="single_batch"> | |
104 <param argument="fl" type="data" format="fastq,fastq.gz" label="Short read data"/> | |
105 </when> | 82 </when> |
106 </conditional> | 83 </conditional> |
107 <param argument="n" type="integer" value="500000" label="sample number" help="number of records to sample from the fastq file"/> | 84 <param argument="n" type="integer" value="500000" label="sample number" help="number of records to sample from the fastq file"/> |
108 </inputs> | 85 </inputs> |
109 <outputs> | 86 <outputs> |
110 <data name="output" format="pdf" from_work_dir="output.pdf"> | 87 <data name="output" format="pdf" from_work_dir="output.pdf"> |
111 <filter>"single" in paired_cond['paired_select']</filter> | 88 <filter>batch_cond['paired_cond']['paired_select'] == "single"</filter> |
112 </data> | |
113 <data name="output_fwd" format="pdf" from_work_dir="output.pdf" label="${tool.name} on ${on_string}: forward reads"> | |
114 <filter>"paired" in paired_cond['paired_select']</filter> | |
115 </data> | 89 </data> |
116 <data name="output_rev" format="pdf" from_work_dir="output_rev.pdf" label="${tool.name} on ${on_string}: reverse reads"> | 90 <data name="output_fwd" format="pdf" from_work_dir="output.pdf" label="${tool.name} on ${on_string}: forward reads"> |
117 <filter>"paired" in paired_cond['paired_select']</filter> | 91 <filter>batch_cond['paired_cond']['paired_select'] != "single"</filter> |
92 </data> | |
93 <data name="output_rev" format="pdf" from_work_dir="output_rev.pdf" label="${tool.name} on ${on_string}: reverse reads"> | |
94 <filter>batch_cond['paired_cond']['paired_select'] != "single"</filter> | |
118 </data> | 95 </data> |
119 </outputs> | 96 </outputs> |
120 <tests> | 97 <tests> |
121 <!-- paired non-batch, aggregate --> | 98 <!-- paired joint, no-aggregate --> |
122 <test> | 99 <test expect_num_outputs="2"> |
123 <param name="paired_cond|paired_select" value="paired"/> | 100 <param name="batch_cond|batch_select" value="joint"/> |
124 <param name="paired_cond|aggregate" value="TRUE"/> | 101 <param name="batch_cond|paired_cond|paired_select" value="paired"/> |
125 <param name="paired_cond|fl"> | 102 <param name="batch_cond|paired_cond|reads"> |
126 <collection type="list:paired"> | 103 <collection type="list:paired"> |
127 <element name="F3D0_S188_L001"> | 104 <element name="F3D0_S188_L001"> |
128 <collection type="paired"> | 105 <collection type="paired"> |
129 <element name="forward" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> | 106 <element name="forward" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> |
130 <element name="reverse" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> | 107 <element name="reverse" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> |
131 </collection> | 108 </collection> |
132 </element> | 109 </element> |
133 </collection> | 110 </collection> |
134 </param> | 111 </param> |
112 <param name="batch_cond|aggregate" value="FALSE"/> | |
135 <output name="output_fwd" value="qualityProfileMultiple.pdf" ftype="pdf"/> | 113 <output name="output_fwd" value="qualityProfileMultiple.pdf" ftype="pdf"/> |
136 <output name="output_rev" value="qualityProfileMultiple_rev.pdf" ftype="pdf"/> | 114 <output name="output_rev" value="qualityProfileMultiple_rev.pdf" ftype="pdf"/> |
137 </test> | 115 </test> |
138 <!-- paired, batch, no aggregate--> | 116 <!-- paired-separate joint, no-aggregate (sim_size because element ids differ) --> |
139 <test> | 117 <test expect_num_outputs="2"> |
140 <param name="paired_cond|paired_select" value="paired_batch"/> | 118 <param name="batch_cond|batch_select" value="joint"/> |
141 <param name="paired_cond|fl"> | 119 <param name="batch_cond|paired_cond|paired_select" value="separate"/> |
120 <param name="batch_cond|paired_cond|reads" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> | |
121 <param name="batch_cond|paired_cond|sdaer" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> | |
122 <param name="batch_cond|aggregate" value="FALSE"/> | |
123 <output name="output_fwd" value="qualityProfileMultiple.pdf" ftype="pdf" compare="sim_size"/> | |
124 <output name="output_rev" value="qualityProfileMultiple_rev.pdf" ftype="pdf" compare="sim_size"/> | |
125 </test> | |
126 <!-- single, non-batch, aggregate, small sample --> | |
127 <test expect_num_outputs="1"> | |
128 <param name="batch_cond|batch_select" value="joint"/> | |
129 <param name="batch_cond|paired_cond|paired_select" value="single"/> | |
130 <param name="batch_cond|paired_cond|reads" value="F3D0_S188_L001_R1_001.fastq.gz,F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> | |
131 <param name="n" value="10000"/> | |
132 <param name="batch_cond|aggregate" value="TRUE"/> | |
133 <output name="output" value="qualityProfileSmallSample.pdf" ftype="pdf"/> | |
134 </test> | |
135 | |
136 <!-- paired, batch --> | |
137 <test expect_num_outputs="2"> | |
138 <param name="batch_cond|batch_select" value="batch"/> | |
139 <param name="batch_cond|paired_cond|paired_select" value="paired"/> | |
140 <param name="batch_cond|paired_cond|reads"> | |
142 <collection type="paired"> | 141 <collection type="paired"> |
143 <element name="forward" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> | 142 <element name="forward" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> |
144 <element name="reverse" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> | 143 <element name="reverse" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> |
145 </collection> | 144 </collection> |
146 </param> | 145 </param> |
147 <output name="output_fwd" value="qualityProfile.pdf" ftype="pdf"/> | 146 <output name="output_fwd" value="qualityProfile.pdf" ftype="pdf"/> |
148 <output name="output_rev" value="qualityProfile_rev.pdf" ftype="pdf"/> | 147 <output name="output_rev" value="qualityProfile_rev.pdf" ftype="pdf"/> |
149 </test> | 148 </test> |
150 <!-- single, non-batch, aggregate --> | 149 <!-- paired-separate batch (sim_size because element ids differ)--> |
151 <test> | 150 <test expect_num_outputs="2"> |
152 <param name="paired_cond|paired_select" value="single"/> | 151 <param name="batch_cond|batch_select" value="batch"/> |
153 <param name="paired_cond|aggregate" value="TRUE"/> | 152 <param name="batch_cond|paired_cond|paired_select" value="separate"/> |
154 <param name="paired_cond|fl" value="F3D0_S188_L001_R1_001.fastq.gz,F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> | 153 <param name="batch_cond|paired_cond|reads" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> |
155 <param name="n" value="10000"/> | 154 <param name="batch_cond|paired_cond|sdaer" value="F3D0_S188_L001_R2_001.fastq.gz" ftype="fastqsanger.gz"/> |
156 <output name="output" value="qualityProfileSmallSample.pdf" ftype="pdf"/> | 155 <output name="output_fwd" value="qualityProfile.pdf" ftype="pdf" compare="sim_size"/> |
156 <output name="output_rev" value="qualityProfile_rev.pdf" ftype="pdf" compare="sim_size"/> | |
157 </test> | 157 </test> |
158 <!-- single, batch, no aggregate --> | 158 <!-- single, batch --> |
159 <test> | 159 <test expect_num_outputs="1"> |
160 <param name="aggregate" value="FALSE"/> | 160 <param name="batch_cond|batch_select" value="batch"/> |
161 <param name="paired_cond|paired_select" value="single_batch"/> | 161 <param name="batch_cond|paired_cond|paired_select" value="single"/> |
162 <param name="paired_cond|fl" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> | 162 <param name="batch_cond|paired_cond|reads" value="F3D0_S188_L001_R1_001.fastq.gz" ftype="fastqsanger.gz"/> |
163 <param name="n" value="10000"/> | 163 <param name="n" value="10000"/> |
164 <output name="output" value="qualityProfileSmallSample.pdf" ftype="pdf" compare="sim_size"/> | 164 <output name="output" value="qualityProfileSmallSample.pdf" ftype="pdf" compare="sim_size"/> |
165 </test> </tests> | 165 </test> |
166 </tests> | |
166 <help><![CDATA[ | 167 <help><![CDATA[ |
167 Summary | 168 Summary |
168 ....... | 169 ....... |
169 | 170 |
170 This function plots a visual summary of the distribution of quality scores as a function of sequence position for the input fastq datasets. | 171 This function plots a visual summary of the distribution of quality scores as a function of sequence position for the input fastq datasets. |
172 Details | 173 Details |
173 ....... | 174 ....... |
174 | 175 |
175 The distribution of quality scores at each position is shown as a grey-scale heat map, with dark colors corresponding to higher frequency. The plotted lines show positional summary statistics: green is the mean, orange is the median, and the dashed orange lines are the 25th and 75th quantiles. If the sequences vary in length, a red line will be plotted showing the percentage of reads that extend | 176 The distribution of quality scores at each position is shown as a grey-scale heat map, with dark colors corresponding to higher frequency. The plotted lines show positional summary statistics: green is the mean, orange is the median, and the dashed orange lines are the 25th and 75th quantiles. If the sequences vary in length, a red line will be plotted showing the percentage of reads that extend |
176 to at least that position. | 177 to at least that position. |
177 | |
178 Note this tool ignores the pairing of the reads, but the data is just processed as list. | |
179 ]]></help> | 178 ]]></help> |
180 <expand macro="citations"/> | 179 <expand macro="citations"/> |
181 </tool> | 180 </tool> |