Mercurial > repos > iuc > freyja_aggregate_plot
comparison freyja_aggregate_plot.xml @ 0:7b000f299096 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/freyja commit 2036e233d159a5c4b3b06ce6a681531259098f73
| author | iuc |
|---|---|
| date | Thu, 28 Jul 2022 09:22:08 +0000 |
| parents | |
| children | 111d77feb409 |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:7b000f299096 |
|---|---|
| 1 <tool id="freyja_aggregate_plot" name="Freyja: Aggregate and visualize" | |
| 2 version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" | |
| 3 profile="@PROFILE@"> | |
| 4 <description> | |
| 5 demixed results | |
| 6 </description> | |
| 7 <macros> | |
| 8 <import>macros.xml</import> | |
| 9 </macros> | |
| 10 <expand macro="biotools"/> | |
| 11 <expand macro="requirements"/> | |
| 12 <expand macro="version"/> | |
| 13 <command detect_errors="exit_code"><![CDATA[ | |
| 14 #if $need_aggregation.choice == 'yes' | |
| 15 #set demix_dir = 'demix_outputs/' | |
| 16 #set file_paths1 = [] | |
| 17 mkdir -p demix_outputs && | |
| 18 #for $input_file in $demix_file | |
| 19 #set $file_path = $demix_dir + $input_file.element_identifier | |
| 20 ln -s '$input_file' '$file_path' && | |
| 21 $file_paths1.append($file_path) | |
| 22 #end for | |
| 23 freyja aggregate | |
| 24 '$demix_dir' | |
| 25 --output aggregated.tsv | |
| 26 #if $plot_format.choice != 'none' | |
| 27 && | |
| 28 #end if | |
| 29 #end if | |
| 30 @PLOT_AND_DASH_COMMAND@ | |
| 31 ]]></command> | |
| 32 <inputs> | |
| 33 <conditional name="need_aggregation"> | |
| 34 <param name="choice" type="select" | |
| 35 label="Aggregate demixed data or provide aggregated data file?"> | |
| 36 <option value="yes">aggregate demixed data</option> | |
| 37 <option value="no">provide aggregated data file</option> | |
| 38 </param> | |
| 39 <when value="yes"> | |
| 40 <param name="demix_file" type="data" format="tabular" multiple="true" | |
| 41 label="Lineages abundances summary file(s)" help="One file per one sample."/> | |
| 42 </when> | |
| 43 <when value="no"> | |
| 44 <param name="tsv_aggregated" type="data" format="tabular" | |
| 45 label="Provide aggregated data"/> | |
| 46 </when> | |
| 47 </conditional> | |
| 48 <conditional name="plot_format"> | |
| 49 <param name="choice" type="select" label="Report(s) to generate"> | |
| 50 <option value="plot">non-interactive plot</option> | |
| 51 <option value="dash">interactive dashboard (html)</option> | |
| 52 <option value="plot_and_dash">plot and dashboard</option> | |
| 53 <option value="none">no plots, just aggregated data table</option> | |
| 54 </param> | |
| 55 <when value="plot"> | |
| 56 <conditional name="need_metadata"> | |
| 57 <param name="choice" type="select" | |
| 58 label="Provide a sample metadata file for plotting data over time?"> | |
| 59 <option value="yes">Yes</option> | |
| 60 <option value="no">No</option> | |
| 61 </param> | |
| 62 <when value="yes"> | |
| 63 <param name="csv_meta" type="data" format="csv" | |
| 64 label="Provide time(s) metadata file" | |
| 65 help="See info box below to learn more about the form of meta-file. Accepts only CSV (.csv) files"/> | |
| 66 <param name="interval" type="select" label="Choose interval" display="radio" | |
| 67 help="Used for pdf format."> | |
| 68 <option value="MS" selected="true">month bins</option> | |
| 69 <option value="D">day bins</option> | |
| 70 </param> | |
| 71 </when> | |
| 72 <when value="no"/> | |
| 73 </conditional> | |
| 74 </when> | |
| 75 <when value="dash"> | |
| 76 <param name="csv_meta" type="data" format="csv" | |
| 77 label="Provide sample(s) metadata file" | |
| 78 help="See info box below to learn more about the form of meta-file. Accepts only CSV (.csv) files"/> | |
| 79 <param name="plot_title" type="text" value="" optional="true" label="Title"/> | |
| 80 <param name="plot_intro" type="text" value="" optional="true" label="Introduction"/> | |
| 81 </when> | |
| 82 <when value="plot_and_dash"> | |
| 83 <param name="csv_meta" type="data" format="csv" | |
| 84 label="Provide sample(s)/time(s) metadata file" | |
| 85 help="See info box below to learn more about the form of meta-file. Accepts only CSV (.csv) files"/> | |
| 86 <param name="plot_title" type="text" value="" optional="true" label="Title" | |
| 87 help="Used for interactive dashboard."/> | |
| 88 <param name="plot_intro" type="text" value="" optional="true" label="Introduction" | |
| 89 help="Used for interactive dashboard."/> | |
| 90 <param name="interval" type="select" label="Choose interval" display="radio" | |
| 91 help="Used for pdf non-interactive plot."> | |
| 92 <option value="MS" selected="true">month bins</option> | |
| 93 <option value="D">day bins</option> | |
| 94 </param> | |
| 95 </when> | |
| 96 <when value="none"/> | |
| 97 </conditional> | |
| 98 </inputs> | |
| 99 <outputs> | |
| 100 <!-- outputs for aggregate command --> | |
| 101 <data name="aggregated" format="tabular" | |
| 102 label="${tool.name} on ${on_string}: Aggregated data" | |
| 103 from_work_dir="aggregated.tsv"> | |
| 104 <filter>need_aggregation['choice'] == 'yes'</filter> | |
| 105 </data> | |
| 106 <!-- outputs for dash command --> | |
| 107 <data name="abundances_dashboard" format="html" | |
| 108 label="${tool.name} on ${on_string}: Lineages abundances dashboard" | |
| 109 from_work_dir="abundances_dashboard.html"> | |
| 110 <filter>plot_format['choice'] == 'dash' or plot_format['choice'] == 'plot_and_dash' | |
| 111 </filter> | |
| 112 </data> | |
| 113 <!-- outputs for plot command --> | |
| 114 <data name="abundances_plot" format="pdf" | |
| 115 label="${tool.name} on ${on_string}: Lineages abundances plot" | |
| 116 from_work_dir="abundances_plot.pdf"> | |
| 117 <filter>plot_format['choice'] == 'plot' or plot_format['choice'] == 'plot_and_dash' | |
| 118 </filter> | |
| 119 </data> | |
| 120 </outputs> | |
| 121 <tests> | |
| 122 <!-- Test 01: aggregate command --> | |
| 123 <test expect_num_outputs="1"> | |
| 124 <conditional name="need_aggregation"> | |
| 125 <param name="choice" value="yes"/> | |
| 126 <param name="demix_file" | |
| 127 value="abundances.tsv,abundances2.tsv,abundances3.tsv,abundances4.tsv"/> | |
| 128 </conditional> | |
| 129 <conditional name="plot_format"> | |
| 130 <param name="choice" value="none"/> | |
| 131 </conditional> | |
| 132 <output name="aggregated" ftype="tabular"> | |
| 133 <assert_contents> | |
| 134 <has_text text="summarized"/> | |
| 135 <has_text text="abundances"/> | |
| 136 <has_text text="B.1.617.2"/> | |
| 137 </assert_contents> | |
| 138 </output> | |
| 139 </test> | |
| 140 <!-- Test 02: dash command --> | |
| 141 <test expect_num_outputs="1"> | |
| 142 <conditional name="need_aggregation"> | |
| 143 <param name="choice" value="no"/> | |
| 144 <param name="tsv_aggregated" value="bunch_of_files.tsv"/> | |
| 145 </conditional> | |
| 146 <conditional name="plot_format"> | |
| 147 <param name="choice" value="dash"/> | |
| 148 <param name="csv_meta" value="csv_sample_meta.csv"/> | |
| 149 <param name="plot_title" value="This is title"/> | |
| 150 <param name="plot_intro" value="Local WW Dashboard"/> | |
| 151 </conditional> | |
| 152 <output name="abundances_dashboard" ftype="html"> | |
| 153 <assert_contents> | |
| 154 <has_text text="Local WW Dashboard"/> | |
| 155 </assert_contents> | |
| 156 </output> | |
| 157 </test> | |
| 158 <!-- Test 03: plot command --> | |
| 159 <test expect_num_outputs="1"> | |
| 160 <conditional name="need_aggregation"> | |
| 161 <param name="choice" value="no"/> | |
| 162 <param name="tsv_aggregated" value="bunch_of_files.tsv"/> | |
| 163 </conditional> | |
| 164 <conditional name="plot_format"> | |
| 165 <param name="choice" value="plot"/> | |
| 166 <conditional name="need_metadata"> | |
| 167 <param name="choice" value="yes"/> | |
| 168 <param name="csv_meta" value="times_metadata.csv"/> | |
| 169 <param name="interval" value="D"/> | |
| 170 </conditional> | |
| 171 </conditional> | |
| 172 <output name="abundances_plot" ftype="pdf"> | |
| 173 <assert_contents> | |
| 174 <has_text text="Matplotlib"/> | |
| 175 </assert_contents> | |
| 176 </output> | |
| 177 </test> | |
| 178 <!-- Test 04: aggregate and dash commands --> | |
| 179 <test expect_num_outputs="2"> | |
| 180 <conditional name="need_aggregation"> | |
| 181 <param name="choice" value="yes"/> | |
| 182 <param name="demix_file" value="abundances.tsv,abundances2.tsv,abundances3.tsv"/> | |
| 183 </conditional> | |
| 184 <conditional name="plot_format"> | |
| 185 <param name="choice" value="dash"/> | |
| 186 <param name="csv_meta" value="csv_sample_meta2.csv"/> | |
| 187 <param name="plot_title" value="This is title"/> | |
| 188 <param name="plot_intro" value="Local WW Dashboard"/> | |
| 189 </conditional> | |
| 190 <output name="aggregated" ftype="tabular"> | |
| 191 <assert_contents> | |
| 192 <has_text text="summarized"/> | |
| 193 <has_text text="abundances"/> | |
| 194 <has_text text="B.1.617.2"/> | |
| 195 </assert_contents> | |
| 196 </output> | |
| 197 <output name="abundances_dashboard" ftype="html"> | |
| 198 <assert_contents> | |
| 199 <has_text text="Local WW Dashboard"/> | |
| 200 </assert_contents> | |
| 201 </output> | |
| 202 </test> | |
| 203 <!-- Test 05: aggregate and plot commands --> | |
| 204 <test expect_num_outputs="2"> | |
| 205 <conditional name="need_aggregation"> | |
| 206 <param name="choice" value="yes"/> | |
| 207 <param name="demix_file" value="abundances.tsv,abundances2.tsv,abundances3.tsv"/> | |
| 208 </conditional> | |
| 209 <conditional name="plot_format"> | |
| 210 <param name="choice" value="plot"/> | |
| 211 <conditional name="need_metadata"> | |
| 212 <param name="choice" value="yes"/> | |
| 213 <param name="csv_meta" value="csv_sample_meta2.csv"/> | |
| 214 <param name="interval" value="D"/> | |
| 215 </conditional> | |
| 216 </conditional> | |
| 217 <output name="aggregated" ftype="tabular"> | |
| 218 <assert_contents> | |
| 219 <has_text text="summarized"/> | |
| 220 <has_text text="abundances"/> | |
| 221 <has_text text="B.1.617.2"/> | |
| 222 </assert_contents> | |
| 223 </output> | |
| 224 <output name="abundances_plot" ftype="pdf"> | |
| 225 <assert_contents> | |
| 226 <has_text text="Matplotlib"/> | |
| 227 </assert_contents> | |
| 228 </output> | |
| 229 </test> | |
| 230 <!-- Test 06: aggregate, dash and plot commands --> | |
| 231 <test expect_num_outputs="3"> | |
| 232 <conditional name="need_aggregation"> | |
| 233 <param name="choice" value="yes"/> | |
| 234 <param name="demix_file" value="abundances.tsv,abundances2.tsv,abundances3.tsv"/> | |
| 235 </conditional> | |
| 236 <conditional name="plot_format"> | |
| 237 <param name="choice" value="plot_and_dash"/> | |
| 238 <param name="csv_meta" value="csv_sample_meta2.csv"/> | |
| 239 <param name="plot_title" value="This is title"/> | |
| 240 <param name="plot_intro" value="Local WW Dashboard"/> | |
| 241 <param name="interval" value="D"/> | |
| 242 </conditional> | |
| 243 <output name="aggregated" ftype="tabular"> | |
| 244 <assert_contents> | |
| 245 <has_text text="summarized"/> | |
| 246 <has_text text="abundances"/> | |
| 247 <has_text text="B.1.617.2"/> | |
| 248 </assert_contents> | |
| 249 </output> | |
| 250 <output name="abundances_plot" ftype="pdf"> | |
| 251 <assert_contents> | |
| 252 <has_text text="Matplotlib"/> | |
| 253 </assert_contents> | |
| 254 </output> | |
| 255 <output name="abundances_dashboard" ftype="html"> | |
| 256 <assert_contents> | |
| 257 <has_text text="Local WW Dashboard"/> | |
| 258 </assert_contents> | |
| 259 </output> | |
| 260 </test> | |
| 261 </tests> | |
| 262 <help><![CDATA[ | |
| 263 @HELP_HEADER@ | |
| 264 | |
| 265 Information about **freyja aggregate** method | |
| 266 ============================================= | |
| 267 | |
| 268 Method for manipulating the "demixed" output files. | |
| 269 | |
| 270 Outputs | |
| 271 ------- | |
| 272 | |
| 273 This resulting aggregated data can analyzed directly as a tsv file, or can be visualized using *freyja plot* and *freyja dash*. | |
| 274 | |
| 275 Information about **freyja plot** method | |
| 276 ======================================== | |
| 277 | |
| 278 Method provides a fractional abundance estimate for all aggregated samples. | |
| 279 | |
| 280 A **time(s) metadata CSV file** should have this form: | |
| 281 | |
| 282 *Sample,sample_collection_datetime* | |
| 283 | |
| 284 *sample_0.tsv,03/01/21* | |
| 285 | |
| 286 *sample_1.tsv,03/03/21* | |
| 287 | |
| 288 *sample_2.tsv,03/08/21* | |
| 289 | |
| 290 *sample_3.tsv,03/10/21* | |
| 291 | |
| 292 *sample_4.tsv,03/12/21* | |
| 293 | |
| 294 *sample_5.tsv,03/14/21* | |
| 295 | |
| 296 *sample_6.tsv,03/17/21* | |
| 297 | |
| 298 *sample_7.tsv,03/20/21* | |
| 299 | |
| 300 *sample_8.tsv,03/25/21* | |
| 301 | |
| 302 *sample_9.tsv,03/30/21* | |
| 303 | |
| 304 *sample_10.tsv,03/31/21* | |
| 305 | |
| 306 *sample_11.tsv,04/04/21* | |
| 307 | |
| 308 | |
| 309 Information about **freyja dash** method | |
| 310 ======================================== | |
| 311 | |
| 312 Functionality to rapidly prepare a dashboard web page, directly from aggregated freyja output. | |
| 313 | |
| 314 A **sample(s) metadata CSV file** should have this form: | |
| 315 | |
| 316 *Sample,sample_collection_datetime,viral_load* | |
| 317 | |
| 318 *sample_0.tsv,03/01/21,460326* | |
| 319 | |
| 320 *sample_1.tsv,03/03/21,176645.1* | |
| 321 | |
| 322 *sample_2.tsv,03/08/21,449891.7* | |
| 323 | |
| 324 *sample_3.tsv,03/10/21,361699.5* | |
| 325 | |
| 326 *sample_4.tsv,03/12/21,658923.9* | |
| 327 | |
| 328 *sample_5.tsv,03/14/21,500432.8* | |
| 329 | |
| 330 *sample_6.tsv,03/17/21,791406.4* | |
| 331 | |
| 332 *sample_7.tsv,03/20/21,628119.9* | |
| 333 | |
| 334 *sample_8.tsv,03/25/21,810673.9* | |
| 335 | |
| 336 *sample_9.tsv,03/30/21,1263564.4* | |
| 337 | |
| 338 *sample_10.tsv,03/31/21,1627556.3* | |
| 339 | |
| 340 *sample_11.tsv,04/04/21,1528006.4* | |
| 341 | |
| 342 | |
| 343 ]]></help> | |
| 344 <expand macro="citations"/> | |
| 345 </tool> |
