comparison maaslin3.xml @ 0:5f6edb762a2f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/maaslin3 commit 2646923cefbef904855fd8716f975e86df216c09
author iuc
date Thu, 22 Jan 2026 09:52:09 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:5f6edb762a2f
1 <tool id="maaslin3" name="MaAsLin3" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">
2 <description>Microbiome Multivariable Association with Linear Models</description>
3 <macros>
4 <import>macros.xml</import>
5 </macros>
6 <expand macro="requirements"/>
7 <command detect_errors="exit_code"><![CDATA[
8 mkdir 'output' &&
9
10 #if $fixed_effects:
11 #set idx = []
12 #for $i in $fixed_effects:
13 #silent idx.append(f'${i}')
14 #end for
15 #set idx_for_awk = ','.join(idx)
16
17 fixed_effects=`awk -v OFS=',' -F"\t" 'NR == 1 { print $idx_for_awk }' "$input_metadata"` &&
18 echo 'Assigned fixed effects as:' \$fixed_effects &&
19 #end if
20
21 #if $random_effects:
22 #set idx = []
23 #for $i in $random_effects:
24 #silent idx.append(f'${i}')
25 #end for
26 #set idx_for_awk = ','.join(idx)
27
28 random_effects=`awk -v OFS=',' -F"\t" 'NR == 1 { print $idx_for_awk }' "$input_metadata"` &&
29 echo 'Assigned random effects as:' \$random_effects &&
30 #end if
31
32 #if $group_effects:
33 #set idx = []
34 #for $i in $group_effects:
35 #silent idx.append(f'${i}')
36 #end for
37 #set idx_for_awk = ','.join(idx)
38
39 group_effects=`awk -v OFS=',' -F"\t" 'NR == 1 { print $idx_for_awk }' "$input_metadata"` &&
40 echo 'Assigned group effects as:' \$group_effects &&
41 #end if
42
43 #if $ordered_effects:
44 #set idx = []
45 #for $i in $ordered_effects:
46 #silent idx.append(f'${i}')
47 #end for
48 #set idx_for_awk = ','.join(idx)
49
50 ordered_effects=`awk -v OFS=',' -F"\t" 'NR == 1 { print $idx_for_awk }' "$input_metadata"` &&
51 echo 'Assigned fixed effects as:' \$ordered_effects &&
52 #end if
53
54 #if $strata_effects:
55 strata_effects=`awk -v OFS=',' -F"\t" 'NR == 1 { print $strata_effects }' "$input_metadata"` &&
56 echo 'Assigned strata effects as:' \$strata_effects &&
57 #end if
58
59 #if $covariate.feature_specific_covariate and $covariate.feature_specific_covariate_name:
60 #set idx = []
61 #for $i in $covariate.feature_specific_covariate_name:
62 #silent idx.append(f'${i}')
63 #end for
64 #set idx_for_awk = ','.join(idx)
65
66 covariate.feature_specific_covariate_name=`awk -v OFS=',' -F"\t" 'NR == 1 { print $idx_for_awk }' "$covariate.feature_specific_covariate"` &&
67 echo 'Assigned covariate feature specific covariate name as:' \$covariate.feature_specific_covariate_name &&
68 #end if
69
70 #if len($ref) != 0:
71 #set ref_dict = []
72 #for $i, $r in enumerate($ref):
73 #silent $ref_dict.append('%s' %(str($r.reference)))
74 #end for
75 #set final_ref = ';'.join(ref_dict)
76 #end if
77
78 ln -s '$input_data' 'input_data.tsv' &&
79 ln -s '$input_metadata' 'input_metadata.tsv' &&
80
81 #if $options.unscaled_abundance:
82 ln -s '$options.unscaled_abundance' 'unscaled_abundance.tsv' &&
83 #end if
84
85 #if $covariate.feature_specific_covariate:
86 ln -s '$covariate.feature_specific_covariate' 'feature_specific_covariate.tsv' &&
87 #end if
88
89 maaslin3.R
90 'input_data.tsv'
91 'input_metadata.tsv'
92 'output'
93 #if $formula:
94 --formula '~ $formula'
95 #end if
96 #if $fixed_effects:
97 --fixed_effects \$fixed_effects
98 #end if
99 #if len($ref) != 0:
100 --reference '$final_ref'
101 #end if
102 #if $random_effects:
103 --random_effects \$random_effects
104 #end if
105 #if $group_effects:
106 --group_effects \$group_effects
107 #end if
108 #if $ordered_effects:
109 --ordered_effects \$ordered_effects
110 #end if
111 #if $strata_effects:
112 --strata_effects \$strata_effects
113 #end if
114 #if $options.min_abundance:
115 --min_abundance ${options.min_abundance}
116 #end if
117 #if $options.min_prevalence:
118 --min_prevalence ${options.min_prevalence}
119 #end if
120 #if $options.zero_threshold:
121 --zero-threshold ${options.zero_threshold}
122 #end if
123 #if $options.min_variance:
124 --min_variance ${options.min_variance}
125 #end if
126 #if $options.max_significance:
127 --max_significance $options.max_significance
128 #end if
129 --normalization '$options.normalization'
130 --transform '$options.transform'
131 --correction '$options.correction'
132 ${options.standardize}
133 #if $options.unscaled_abundance:
134 --unscaled_abundance 'unscaled_abundance.tsv'
135 #end if
136 ${options.median_comparison_abundance}
137 ${options.median_comparison_prevalence}
138 #if $options.median_comparison_abundance_threshold:
139 --median_comparison_abundance_threshold ${options.median_comparison_abundance_threshold}
140 #end if
141 #if $options.median_comparison_prevalence_threshold:
142 --median_comparison_prevalence_threshold ${options.median_comparison_prevalence_threshold}
143 #end if
144 ${options.subtract_median}
145 ${options.warn_prevalence}
146 ${options.small_random_effects}
147 ${options.augment}
148 #if $options.evaluate_only != 'NULL':
149 --evaluate_only '$options.evaluate_only'
150 #end if
151 #if $covariate.feature_specific_covariate:
152 --feature_specific_covariate 'feature_specific_covariate.tsv'
153 #end if
154 #if $covariate.feature_specific_covariate and $covariate.feature_specific_covariate_name:
155 --feature_specific_covariate_name \$covariate.feature_specific_covariate_name
156 #end if
157 #if $covariate.feature_specific_covariate and $covariate.feature_specific_covariate_record:
158 --feature_specific_covariate_record '$covariate.feature_specific_covariate_record'
159 #end if
160 ${output.plot_summary_plot}
161 #if $output.summary_plot_first_n:
162 --summary_plot_first_n ${output.summary_plot_first_n}
163 #end if
164 #if $output.coef_plot_vars:
165 --coef_plot_vars '$output.coef_plot_vars'
166 #end if
167 #if $output.heatmap_vars:
168 --heatmap_vars '$output.heatmap_vars'
169 #end if
170 ${output.plot_associations}
171 #if $output.max_pngs:
172 --max_pngs ${output.max_pngs}
173 #end if
174 ${output.save_models}
175 ${output.save_plots_rds}
176 ${output.summary_plot_balanced}
177 --cores "\${GALAXY_SLOTS:-1}"
178 ]]></command>
179 <inputs>
180 <param name="input_data" type="data" format="tabular" label="Data file"/>
181 <param name="input_metadata" type="data" format="tabular" label="Metadata file"/>
182 <param argument="--formula" type="text" value="" label="Input formula (use header of columns for this)" help="Enter the formula which should the model use. NOTE: separate the name with and plus and have space between it like: 'header1 + header2 + ...' as an example. When no input is used all columns will be used"/>
183 <param argument="--fixed_effects" type="data_column" data_ref="input_metadata" use_header_names="true" multiple="true" optional="true" label="Set fix effects" help="Select the fix effects for the model. DEFAULT: ALL"/>
184 <repeat name="ref" title="Reference pairs">
185 <param argument="--reference" type="text" label="Reference" help="The factor to use as a reference for a variable with more than two levels provided as a string of 'variable,reference'. DEFAULT: NA"/>
186 </repeat>
187 <param argument="--random_effects" type="data_column" data_ref="input_metadata" use_header_names="true" multiple="true" optional="true" label="Set random effects" help="Select the random effects for the model. DEFAULT; NONE"/>
188 <param argument="--group_effects" type="data_column" data_ref="input_metadata" use_header_names="true" multiple="true" optional="true" label="Set group effects" help="Select group effects for the model. DEFAULT: NONE"/>
189 <param argument="--ordered_effects" type="data_column" data_ref="input_metadata" use_header_names="true" multiple="true" optional="true" label="Set ordered effects" help="Select the ordered effects for the model. DEFAULT: NONE"/>
190 <param argument="--strata_effects" type="data_column" data_ref="input_metadata" use_header_names="true" optional="true" label="Set strata effects" help="Select only one strata effect for the model. DEFAULT: NONE"/>
191 <section name="options" title="Additional options" expanded="true">
192 <param argument="--min_abundance" type="integer" value="0" label="Minimum abundance" help="Minimum abundance for each feature befor normalization and transformation"/>
193 <param argument="--min_prevalence" type="integer" value="0" label="Mimimum prevalence" help="The minimum proportion of samples for which a feature is detected at minimum abundance"/>
194 <param argument="--zero-threshold" type="integer" value="0" label="Zero threshold" help="The minimum abundance to be considered non-zero"/>
195 <param argument="--min_variance" type="integer" value="0" label="Minimum variance" help="Keep features with variances greater than value"/>
196 <param argument="--max_significance" type="float" value="0.1" label="Maximum significance" help="The q-value threshold for significance"/>
197 <param argument="--normalization" type="select" label="Normalization method">
198 <option value="TSS" selected="true">TSS</option>
199 <option value="CLR">CLR</option>
200 <option value="NONE">NONE</option>
201 </param>
202 <param argument="--transform" type="select" label="Transform to apply">
203 <option value="LOG" selected="true">LOG</option>
204 <option value="PLOG">PLOG</option>
205 <option value="NONE">NONE</option>
206 </param>
207 <param argument="--correction" type="select" label="correction method for computing the q-value">
208 <option value="BH" selected="true">BH</option>
209 <option value="BY">BY</option>
210 <option value="bonferroni">bonferroni</option>
211 <option value="holm">holm</option>
212 <option value="hochberg">hochberg</option>
213 <option value="hommel">hommel</option>
214 <option value="fdr">fdr</option>
215 <option value="none">none</option>
216 </param>
217 <param argument="--standardize" type="boolean" truevalue="--standardize TRUE" falsevalue="" checked="true" label="Standardize" help="Scale continuous metadata witth the z-score(converting the interpretation of its scale for a standardized scale)"/>
218 <param argument="--unscaled_abundance" type="data" format="tabular" optional="true" label="unscaled abundance reference table" help="The table to use as an unscaled abundance reference. Example in the help section. NOTE: the single column name must be the same as one of the features or 'total'!"/>
219 <param argument="--median_comparison_abundance" type="boolean" truevalue="--median_comparison_abundance TRUE" falsevalue="" checked="true" label="Median comparison abundance" help="Test abundance coefficients against the median association"/>
220 <param argument="--median_comparison_prevalence" type="boolean" truevalue="--median_comparison_prevalence TRUE" falsevalue="--median_comparison_prevalence FALSE" checked="false" label="Median comparison prevalence" help="Test prevalence coefficients against the median association"/>
221 <param argument="--median_comparison_abundance_threshold" type="integer" value="0" label="Median comparison abundance threshold" help="Radius within which the median adjustment gives a p-value of 1"/>
222 <param argument="--median_comparison_prevalence_threshold" type="integer" value="0" label="Median comparison prevalence threshold" help="Radius within which the median adjustment gives a p-value of 1"/>
223 <param argument="--subtract_median" type="boolean" truevalue="--subtract_median TRUE" falsevalue="--subtract_median FALSE" checked="false" label="Subtract median" help="Subtract the median from coefficients when doing median comparisons"/>
224 <param argument="--warn_prevalence" type="boolean" truevalue="--warn_prevalence TRUE" falsevalue="" checked="true" label="Warn prevalence" help="Check and warn if prevalence associations are likely due to compositionality"/>
225 <param argument="--small_random_effects" type="boolean" truevalue="--small_random_effects TRUE" falsevalue="--small_random_effects FALSE" checked="false" label="Small random effects" help=" Replace prevalence random effects with fixed effects because groups are small"/>
226 <param argument="--augment" type="boolean" truevalue="--augment TRUE" falsevalue="--augment FALSE" checked="true" label="Augment" help="Add weighted extra 0s and 1s to avoid linear separability"/>
227 <param argument="--evaluate_only" type="select" label="Evaluate only" help="Whether to evaluate just the abundnace or prevalence models">
228 <option value="NULL" selected="true">NULL</option>
229 <option value="none">None</option>
230 <option value="abundance">abundance</option>
231 <option value="prevalence">prevalence</option>
232 </param>
233 </section>
234 <section name="covariate" title="Feature specific covariate">
235 <param argument="--feature_specific_covariate" type="data" format="tabular" optional="true" label="feature-specific covariates table" help="The table to use for feature-specific covariates. Row and column names should match the data input. EXAMPLE IN THE HELP SECTION DOWN BELOW!"/>
236 <param argument="--feature_specific_covariate_name" type="data_column" data_ref="feature_specific_covariate" use_header_names="true" multiple="true" optional="true" label="Set feature-specific covariate" help="Select the feature-specific covariate"/>
237 <param argument="--feature_specific_covariate_record" type="text" optional="true" label="Set feature_specific_covariate data" help="Select which data (rows) should included for the feature-specific covariate"/>
238 </section>
239 <section name="output" title="Output options">
240 <param argument="--plot_summary_plot" type="boolean" truevalue="--plot_summary_plot TRUE" falsevalue="--plot_summary_plot FALSE" checked="true" label="Plot summary plot"/>
241 <param argument="--summary_plot_first_n" type="integer" value="25" label="Summary plot first n" help="In summary plot, plot top N features with significant associations"/>
242 <param argument="--coef_plot_vars" type="text" label="Coefficient plot variables" help="The variables to use in the coefficient plot section of the summary plot provided as a comma-separated string. Continuous variables should match the metadata column name, and categorical variables should be of the form: [metadata] [level]. DEFAULT: NA"/>
243 <param argument="--heatmap_vars" type="text" label="Heatmap variables" help="The variables to use in the heatmap section of the summary plot provided as a comma-separated string. Continuous variables should match the metadata column name, and categorical variables should be of the form: [metadata] [level]. DEFAULT: NA"/>
244 <param argument="--plot_associations" type="boolean" truevalue="--plot_associations TRUE" falsevalue="--plot_associations FALSE" checked="true" label="Plot associations"/>
245 <param argument="--max_pngs" type="integer" value="30" label=" maximum number of association plots"/>
246 <param argument="--save_models" type="boolean" truevalue="--save_models TRUE" falsevalue="--save_models FALSE" checked="false" label="Save model" help="Return the full model outputs and save to an RData file"/>
247 <param argument="--save_plots_rds" type="boolean" truevalue="--save_plots_rds TRUE" falsevalue="--save_plots_rds FALSE" checked="false" label="Save plots as rds" help="Save the plots to RDS files"/>
248 <param argument="--summary_plot_balanced" type="boolean" truevalue="--summary_plot_balanced TRUE" falsevalue="--summary_plot_balanced FALSE" checked="false" label="Summary plot balanced" help="If coef_plot_vars is selected this will select balanced top features"/>
249 </section>
250 </inputs>
251 <outputs>
252 <data name="data_norm" format="tabular" from_work_dir="output/features/data_norm.tsv" label="${tool.name} on ${on_string}: DATA NORMALIZED"/>
253 <data name="data_trans" format="tabular" from_work_dir="output/features/data_transformed.tsv" label="${tool.name} on ${on_string}: DATA TRANSFORMED"/>
254 <data name="data_filter" format="tabular" from_work_dir="output/features/filtered_data.tsv" label="${tool.name} on ${on_string}: FILTERED DATA"/>
255 <collection name="rdata" type="list" label="${tool.name} on ${on_string}: R DATA">
256 <discover_datasets pattern="(?P&lt;designation&gt;.+)" directory="output/fits" format="rdata"/>
257 </collection>
258 <collection name="plots" type="list:list" label="${tool.name} on ${on_string}: PLOTS">
259 <discover_datasets pattern="(?P&lt;designation&gt;.+)\.png" directory="output/figures/association_plots" recurse="true" format="png"/>
260 <filter>output['plot_associations'] is True</filter>
261 </collection>
262 <data name="summary_png" format="png" from_work_dir="output/figures/summary_plot.png" label="${tool.name} on ${on_string}: SUMMARY PLOT (PNG)">
263 <filter>output['summary_plot_balanced'] is False</filter>
264 </data>
265 <data name="summary_pdf" format="pdf" from_work_dir="output/figures/summary_plot.pdf" label="${tool.name} on ${on_string}: SUMMARY PLOT (PDF)">
266 <filter>output['summary_plot_balanced'] is False</filter>
267 </data>
268 <collection name="plots_r" type="list" label="${tool.name} on ${on_string}: PLOTS (R DATA)">
269 <discover_datasets pattern="(?P&lt;designation&gt;.+)\.RDS" directory="output/figures" recurse="true" format="rdata"/>
270 <filter>output['plot_associations'] is True and output['save_plots_rds'] is True</filter>
271 </collection>
272 <data name="result_all" format="tabular" from_work_dir="output/all_results.tsv" label="${tool.name} on ${on_string}: ALL RESULT"/>
273 <data name="result_sig" format="tabular" from_work_dir="output/significant_results.tsv" label="${tool.name} on ${on_string}: SIGNIFICANT RESULT"/>
274 </outputs>
275 <tests>
276 <test expect_num_outputs="9">
277 <param name="input_data" value="HMP2_taxonomy.tsv" ftype="tabular"/>
278 <param name="input_metadata" value="HMP2_metadata.tsv" ftype="tabular"/>
279 <param name="formula" value="reads + diagnosis + dysbiosis_state + antibiotics + age"/>
280 <repeat name="ref">
281 <param name="reference" value="diagnosis,CD"/>
282 </repeat>
283 <repeat name="ref">
284 <param name="reference" value="dysbiosis_state,dysbiosis_UC"/>
285 </repeat>
286 <output name="data_norm" ftype="tabular">
287 <assert_contents>
288 <has_n_lines n="818" delta="10"/>
289 </assert_contents>
290 </output>
291 <output name="data_trans" file="data_transformed.tsv" ftype="tabular"/>
292 <output name="data_filter" ftype="tabular">
293 <assert_contents>
294 <has_n_lines n="818" delta="10"/>
295 </assert_contents>
296 </output>
297 <output_collection name="rdata" type="list">
298 <element name="fitted_linear.rds" ftype="rdata">
299 <assert_contents>
300 <has_size value="327196" delta="5000"/>
301 </assert_contents>
302 </element>
303 </output_collection>
304 <output name="summary_png" ftype="png">
305 <assert_contents>
306 <has_image_height height="3690" delta="20"/>
307 <has_image_width width="4375" delta="20"/>
308 </assert_contents>
309 </output>
310 <output name="summary_pdf" ftype="pdf">
311 <assert_contents>
312 <has_size size="18000" delta="2000"/>
313 </assert_contents>
314 </output>
315 <output name="result_all" ftype="tabular">
316 <assert_contents>
317 <has_n_lines n="2036" delta="30"/>
318 </assert_contents>
319 </output>
320 <output name="result_sig" ftype="tabular">
321 <assert_contents>
322 <has_n_lines n="834" delta="15"/>
323 </assert_contents>
324 </output>
325 </test>
326 <test expect_num_outputs="7">
327 <param name="input_data" value="HMP2_taxonomy.tsv" ftype="tabular"/>
328 <param name="input_metadata" value="HMP2_metadata.tsv" ftype="tabular"/>
329 <param name="formula" value="reads + diagnosis + dysbiosis_state + antibiotics + age"/>
330 <repeat name="ref">
331 <param name="reference" value="diagnosis,CD"/>
332 </repeat>
333 <repeat name="ref">
334 <param name="reference" value="dysbiosis_state,dysbiosis_UC"/>
335 </repeat>
336 <section name="output">
337 <param name="summary_plot_balanced" value="True"/>
338 </section>
339 <output name="data_norm" ftype="tabular">
340 <assert_contents>
341 <has_n_lines n="818" delta="10"/>
342 </assert_contents>
343 </output>
344 <output name="data_trans" file="data_transformed.tsv" ftype="tabular"/>
345 <output name="data_filter" ftype="tabular">
346 <assert_contents>
347 <has_n_lines n="818" delta="10"/>
348 </assert_contents>
349 </output>
350 <output_collection name="rdata" type="list">
351 <element name="fitted_linear.rds" ftype="rdata">
352 <assert_contents>
353 <has_size value="327196" delta="5000"/>
354 </assert_contents>
355 </element>
356 </output_collection>
357 <output name="result_all" ftype="tabular">
358 <assert_contents>
359 <has_n_lines n="2036" delta="30"/>
360 </assert_contents>
361 </output>
362 <output name="result_sig" ftype="tabular">
363 <assert_contents>
364 <has_n_lines n="834" delta="15"/>
365 </assert_contents>
366 </output>
367 </test>
368 <test expect_num_outputs="10">
369 <param name="input_data" value="HMP2_taxonomy.tsv" ftype="tabular"/>
370 <param name="input_metadata" value="HMP2_metadata.tsv" ftype="tabular"/>
371 <param name="formula" value="reads + diagnosis + dysbiosis_state + antibiotics + age"/>
372 <repeat name="ref">
373 <param name="reference" value="diagnosis,CD"/>
374 </repeat>
375 <repeat name="ref">
376 <param name="reference" value="dysbiosis_state,dysbiosis_UC"/>
377 </repeat>
378 <section name="output">
379 <param name="save_plots_rds" value="True"/>
380 </section>
381 <output name="data_norm" ftype="tabular">
382 <assert_contents>
383 <has_n_lines n="818" delta="10"/>
384 </assert_contents>
385 </output>
386 <output name="data_trans" file="data_transformed.tsv" ftype="tabular"/>
387 <output name="data_filter" ftype="tabular">
388 <assert_contents>
389 <has_n_lines n="818" delta="10"/>
390 </assert_contents>
391 </output>
392 <output_collection name="rdata" type="list">
393 <element name="fitted_linear.rds" ftype="rdata">
394 <assert_contents>
395 <has_size value="327196" delta="5000"/>
396 </assert_contents>
397 </element>
398 </output_collection>
399 <output name="summary_png" ftype="png">
400 <assert_contents>
401 <has_image_height height="3690" delta="20"/>
402 <has_image_width width="4375" delta="20"/>
403 </assert_contents>
404 </output>
405 <output name="summary_pdf" ftype="pdf">
406 <assert_contents>
407 <has_size size="18000" delta="2000"/>
408 </assert_contents>
409 </output>
410 <output name="result_all" ftype="tabular">
411 <assert_contents>
412 <has_n_lines n="2036" delta="30"/>
413 </assert_contents>
414 </output>
415 <output name="result_sig" ftype="tabular">
416 <assert_contents>
417 <has_n_lines n="834" delta="15"/>
418 </assert_contents>
419 </output>
420 <output_collection name="plots_r" type="list" count="4">
421 <element name="summary_plot_gg" ftype="rdata">
422 <assert_contents>
423 <has_size size="720000" delta="100000"/>
424 </assert_contents>
425 </element>
426 </output_collection>
427 </test>
428 <test expect_num_outputs="8">
429 <param name="input_data" value="HMP2_taxonomy.tsv" ftype="tabular"/>
430 <param name="input_metadata" value="HMP2_metadata.tsv" ftype="tabular"/>
431 <param name="formula" value="reads + diagnosis + dysbiosis_state + antibiotics + age"/>
432 <repeat name="ref">
433 <param name="reference" value="diagnosis,CD"/>
434 </repeat>
435 <repeat name="ref">
436 <param name="reference" value="dysbiosis_state,dysbiosis_UC"/>
437 </repeat>
438 <section name="output">
439 <param name="save_models" value="True"/>
440 <param name="plot_associations" value="False"/>
441 </section>
442 <output name="data_norm" ftype="tabular">
443 <assert_contents>
444 <has_n_lines n="818" delta="10"/>
445 </assert_contents>
446 </output>
447 <output name="data_trans" file="data_transformed.tsv" ftype="tabular"/>
448 <output name="data_filter" ftype="tabular">
449 <assert_contents>
450 <has_n_lines n="818" delta="10"/>
451 </assert_contents>
452 </output>
453 <output_collection name="rdata" type="list">
454 <element name="fitted_linear.rds" ftype="rdata">
455 <assert_contents>
456 <has_size value="327196" delta="5000"/>
457 </assert_contents>
458 </element>
459 </output_collection>
460 <output name="summary_png" ftype="png">
461 <assert_contents>
462 <has_image_height height="3690" delta="20"/>
463 <has_image_width width="4375" delta="20"/>
464 </assert_contents>
465 </output>
466 <output name="summary_pdf" ftype="pdf">
467 <assert_contents>
468 <has_size size="18000" delta="2000"/>
469 </assert_contents>
470 </output>
471 <output name="result_all" ftype="tabular">
472 <assert_contents>
473 <has_n_lines n="2036" delta="30"/>
474 </assert_contents>
475 </output>
476 <output name="result_sig" ftype="tabular">
477 <assert_contents>
478 <has_n_lines n="834" delta="15"/>
479 </assert_contents>
480 </output>
481 </test>
482 </tests>
483 <help>
484 <![CDATA[
485
486 **IMPORTANT**
487
488 random_effects, group_effects, ordered_effects, and strata_effects must be NULL when formula is not NULL!!
489
490 If warn_prevalence (Warn prevalence) is set to True please selecet evaluate_only (Evaluate only) to NULL.
491 If you want to use evaluate_only (Evaluate only) please do not set warn_prevalence (Warn prevalence) to True!
492 Both argument can not be set at the same time!
493
494
495 **Input**
496
497 - A data table
498 - A metadata table
499 - unscaled abundance reference table (optional)
500
501 Example::
502 SampleID total
503 S1 2.3e8
504 S2 1.8e8
505 S3 3.1e8
506 S4 2.6e8
507
508 For a none specific case and here is a example for a specific case with *SpikeIn1*::
509
510 SampleID SpikeIn1
511 S1 1000
512 S2 2000
513 S3 1500
514 S4 1800
515
516 - A feature-specific covariates table (optional)
517
518 Example::
519 Feature GC_content Batch_flag
520 GeneA 0.42 1
521 GeneB 0.65 0
522 PathwayX NA 1
523 PathwayY 0.58 1
524
525 **Output**
526
527 - multiple plots (optional)
528 - Plots in R format (optional)
529 - certain R format data files (some optional)
530 - Mulitple data tables
531
532 ]]>
533 </help>
534 <citations>
535 <citation type="doi">10.1101/2024.12.13.628459</citation>
536 </citations>
537 </tool>