changeset 6:dbbe1ea8ecb1 draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ commit 5a90fd345b43ca12366f4475f4cfd88ef197e452"
author iuc
date Thu, 20 Feb 2020 08:22:46 -0500
parents 8599fd07d140
children 7647e5cd1b8b
files macros.xml plot.xml
diffstat 2 files changed, 505 insertions(+), 359 deletions(-) [+]
line wrap: on
line diff
--- a/macros.xml	Mon Feb 10 05:25:58 2020 -0500
+++ b/macros.xml	Thu Feb 20 08:22:46 2020 -0500
@@ -21,12 +21,17 @@
     </xml>
     <token name="@CMD@"><![CDATA[
 cp '$adata' 'anndata.h5ad' &&
-cat '$script_file' &&
-python '$script_file' &&
-ls .
+cat '$script_file' > '$hidden_output' &&
+python '$script_file' >> '$hidden_output' &&
+ls . >> '$hidden_output' &&
+touch 'anndata_info.txt' &&
+cat 'anndata_info.txt' @CMD_prettify_stdout@
     ]]>
     </token>
     <token name="@CMD_imports@"><![CDATA[
+import sys
+sys.stderr = open('$hidden_output', 'a')
+
 import scanpy as sc
 import pandas as pd
 import numpy as np
@@ -39,13 +44,25 @@
 adata = sc.read('anndata.h5ad')
 ]]>
     </token>
+    <xml name="inputs_common_advanced">
+        <section name="advanced_common" title="Advanced Options" expanded="false">
+            <param name="show_log" type="boolean" checked="false" label="Output Log?" />
+        </section>
+    </xml>
     <xml name="anndata_outputs">
         <data name="anndata_out" format="h5ad" from_work_dir="anndata.h5ad" label="${tool.name} (${method.method}) on ${on_string}: Annotated data matrix"/>
+        <data name="hidden_output" format="txt" label="Log file" >
+            <filter>advanced_common['show_log']</filter>
+        </data>
     </xml>
     <token name="@CMD_anndata_write_outputs@"><![CDATA[
 adata.write('anndata.h5ad')
+with open('anndata_info.txt','w', encoding='utf-8') as ainfo:
+    print(adata, file=ainfo)
 ]]>
     </token>
+    <token name="@CMD_prettify_stdout@"><![CDATA[ | sed -r '1 s|AnnData object with (.+) = (.*)\s*|\1: \2|g' | sed "s|'||g"  | sed -r 's|^\s*(.*):\s(.*)|[\1]\n-    \2|g' | sed 's|, |\n-    |g'
+    ]]></token>
     <xml name="svd_solver">
         <param name="svd_solver" type="select" label="SVD solver to use" help="">
             <option value="auto">Automatically chosen depending on the size of the problem</option>
--- a/plot.xml	Mon Feb 10 05:25:58 2020 -0500
+++ b/plot.xml	Thu Feb 20 08:22:46 2020 -0500
@@ -82,7 +82,7 @@
     log=$method.log,
     use_raw=$method.use_raw,
     @CMD_conditional_stripplot@
-    multi_panel=$method.violin_plot.multi_panel.multi_panel, 
+    multi_panel=$method.violin_plot.multi_panel.multi_panel,
     #if $method.violin_plot.multi_panel.multi_panel == "True" and str($method.violin_plot.multi_panel.width) != '' and str($method.violin_plot.multi_panel.height) != ''
     figsize=($method.violin_plot.multi_panel.width, $method.violin_plot.multi_panel.height),
     #end if
@@ -551,7 +551,7 @@
                     <param argument="palette" type="select" optional="true" label="Colors to use for the different levels of the hue variable" help="See https://seaborn.pydata.org/tutorial/color_palettes.html for more details.">
                         <expand macro="seaborn_color_palette_options"/>
                     </param>
-                    <param argument="saturation" type="float" value="1" label="Proportion of the original saturation to draw colors at" help="Large patches often look better with slightly desaturated colors, but set this to 1 if you want the plot colors to perfectly match the input color spec."/>            
+                    <param argument="saturation" type="float" value="1" label="Proportion of the original saturation to draw colors at" help="Large patches often look better with slightly desaturated colors, but set this to 1 if you want the plot colors to perfectly match the input color spec."/>
                 </section>
             </when>
             <when value="pl.pca">
@@ -641,7 +641,7 @@
                 <expand macro="inputs_paga"/>
             </when>
             <when value="pl.paga_path">
-                <param argument="nodes" type="text" value="" label="A path through nodes of the abstracted graph" 
+                <param argument="nodes" type="text" value="" label="A path through nodes of the abstracted graph"
                     help="Each node is represented by its indice (within .categories) for the groups that have been used to run PAGA. Comma-separated"/>
                 <param argument="keys" type="text" value="" label="Keys for accessing variables" help="One or a list of comma-separated index or key from '.var_names' or fields of '.obs'"/>
                 <expand macro="param_use_raw"/>
@@ -706,6 +706,7 @@
                 <expand macro="pl_stacked_violin"/>
             </when>
         </conditional>
+        <expand macro="inputs_common_advanced"/>
     </inputs>
     <outputs>
         <data name="out_png" format="png" from_work_dir="*.png" label="${tool.name} (${method.method}) on ${on_string}">
@@ -729,10 +730,13 @@
             <discover_datasets pattern="rank_genes_groups_(?P&lt;designation&gt;.*).svg" format="svg"/>
             <filter>format == 'svg' and method['method'] == 'pl.rank_genes_groups_violin'</filter>
         </collection>
+        <data name="hidden_output" format="txt" label="Log file" hidden="true" >
+            <filter>advanced_common['show_log']</filter>
+        </data>
     </outputs>
     <tests>
         <test>
-            <!-- test 1: pl.scatter !-->
+            <!-- test 0: pl.scatter !-->
             <param name="adata" value="pbmc68k_reduced.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -755,25 +759,30 @@
                     <param name="size" value="1"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.scatter"/>
-                <has_text_matching expression="basis='umap'" />
-                <has_text_matching expression="color=\['HES4'\]"/>
-                <has_text_matching expression="use_raw=True"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="color_map='inferno'"/>
-                <has_text_matching expression="palette='inferno'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="size=1.0"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.scatter"/>
+                    <has_text_matching expression="basis='umap'" />
+                    <has_text_matching expression="color=\['HES4'\]"/>
+                    <has_text_matching expression="use_raw=True"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="color_map='inferno'"/>
+                    <has_text_matching expression="palette='inferno'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="size=1.0"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.scatter.umap.pbmc68k_reduced.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 2: pl.scatter !-->
+            <!-- test 1: pl.scatter !-->
             <param name="adata" value="krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -799,25 +808,30 @@
                     <param name="title" value="A title"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.scatter"/>
-                <has_text_matching expression="x='EKLF'" />
-                <has_text_matching expression="y='Cebpa'"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="palette='bwr'"/>
-                <has_text_matching expression="frameon=False"/>
-                <has_text_matching expression="size=1.0"/>
-                <has_text_matching expression="title='A title'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.scatter"/>
+                    <has_text_matching expression="x='EKLF'" />
+                    <has_text_matching expression="y='Cebpa'"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="palette='bwr'"/>
+                    <has_text_matching expression="frameon=False"/>
+                    <has_text_matching expression="size=1.0"/>
+                    <has_text_matching expression="title='A title'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.scatter.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 3: pl.heatmap !-->
+            <!-- test 2: pl.heatmap !-->
             <param name="adata" value="krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -843,24 +857,29 @@
                     <param name="origin" value="upper"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.heatmap"/>
-                <has_text_matching expression="var_names=adata.var_names" />
-                <has_text_matching expression="groupby='cell_type'"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="num_categories=7"/>
-                <has_text_matching expression="dendrogram=True"/>
-                <has_text_matching expression="figsize=\(10, 3\)"/>
-                <has_text_matching expression="swap_axes=True"/>
-                <has_text_matching expression="show_gene_labels=False"/>
-                <has_text_matching expression="cmap='YlGnBu'"/>
-                <has_text_matching expression="origin='upper'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.heatmap"/>
+                    <has_text_matching expression="var_names=adata.var_names" />
+                    <has_text_matching expression="groupby='cell_type'"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="num_categories=7"/>
+                    <has_text_matching expression="dendrogram=True"/>
+                    <has_text_matching expression="figsize=\(10, 3\)"/>
+                    <has_text_matching expression="swap_axes=True"/>
+                    <has_text_matching expression="show_gene_labels=False"/>
+                    <has_text_matching expression="cmap='YlGnBu'"/>
+                    <has_text_matching expression="origin='upper'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.heatmap.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 4: pl.dotplot !-->
+            <!-- test 3: pl.dotplot !-->
             <param name="adata" value="pbmc68k_reduced.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -895,26 +914,31 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.dotplot"/>
-                <has_text_matching expression="var_names=\['CD79A', 'MS4A1', 'CD8A', 'CD8B', 'LYZ', 'GNLY', 'NKG7', 'RP3-467N11.1', 'FCGR3A', 'FCER1A', 'CST3', 'POU2AF1', 'LINC00402'\]" />
-                <has_text_matching expression="groupby='louvain'"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="num_categories=7"/>
-                <has_text_matching expression="dendrogram=True"/>
-                <has_text_matching expression="var_group_positions=\[\(0, 1\), \(11, 12\)\]"/>
-                <has_text_matching expression="var_group_labels=\['B cells', 'dendritic'\]"/>
-                <has_text_matching expression="color_map='hot'"/>
-                <has_text_matching expression="dot_max=0.7"/>
-                <has_text_matching expression="dot_min=0.1"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.dotplot"/>
+                    <has_text_matching expression="var_names=\['CD79A', 'MS4A1', 'CD8A', 'CD8B', 'LYZ', 'GNLY', 'NKG7', 'RP3-467N11.1', 'FCGR3A', 'FCER1A', 'CST3', 'POU2AF1', 'LINC00402'\]" />
+                    <has_text_matching expression="groupby='louvain'"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="num_categories=7"/>
+                    <has_text_matching expression="dendrogram=True"/>
+                    <has_text_matching expression="var_group_positions=\[\(0, 1\), \(11, 12\)\]"/>
+                    <has_text_matching expression="var_group_labels=\['B cells', 'dendritic'\]"/>
+                    <has_text_matching expression="color_map='hot'"/>
+                    <has_text_matching expression="dot_max=0.7"/>
+                    <has_text_matching expression="dot_min=0.1"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.dotplot.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 5: pl.violin !-->
+            <!-- test 4: pl.violin !-->
             <param name="adata" value="pbmc68k_reduced.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -946,28 +970,33 @@
                     <param name="saturation" value="0.75"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.violin"/>
-                <has_text_matching expression="keys=\['n_genes', 'percent_mito', 'n_counts'\]" />
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="stripplot=True"/>
-                <has_text_matching expression="jitter=True"/>
-                <has_text_matching expression="size=1"/>
-                <has_text_matching expression="multi_panel=True"/>
-                <has_text_matching expression="figsize=\(20, 20\)"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="bw='scott'"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="linewidth=0.0"/>
-                <has_text_matching expression="color='AliceBlue'"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="saturation=0.75"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.violin"/>
+                    <has_text_matching expression="keys=\['n_genes', 'percent_mito', 'n_counts'\]" />
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="stripplot=True"/>
+                    <has_text_matching expression="jitter=True"/>
+                    <has_text_matching expression="size=1"/>
+                    <has_text_matching expression="multi_panel=True"/>
+                    <has_text_matching expression="figsize=\(20, 20\)"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="bw='scott'"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="linewidth=0.0"/>
+                    <has_text_matching expression="color='AliceBlue'"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="saturation=0.75"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.violin.pbmc68k_reduced_custom.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 6: pl.stacked_violin !-->
+            <!-- test 5: pl.stacked_violin !-->
             <param name="adata" value="krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1002,29 +1031,34 @@
                     <param name="saturation" value="0.75"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.stacked_violin"/>
-                <has_text_matching expression="groupby='cell_type'"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="num_categories=7"/>
-                <has_text_matching expression="dendrogram=True"/>
-                <has_text_matching expression="swap_axes=True"/>
-                <has_text_matching expression="stripplot=True"/>
-                <has_text_matching expression="jitter=True"/>
-                <has_text_matching expression="size=1"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="bw='scott'"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="linewidth=0.0"/>
-                <has_text_matching expression="color='AliceBlue'"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="saturation=0.75"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.stacked_violin"/>
+                    <has_text_matching expression="groupby='cell_type'"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="num_categories=7"/>
+                    <has_text_matching expression="dendrogram=True"/>
+                    <has_text_matching expression="swap_axes=True"/>
+                    <has_text_matching expression="stripplot=True"/>
+                    <has_text_matching expression="jitter=True"/>
+                    <has_text_matching expression="size=1"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="bw='scott'"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="linewidth=0.0"/>
+                    <has_text_matching expression="color='AliceBlue'"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="saturation=0.75"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.stacked_violin.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 7: pl.matrixplot !-->
+            <!-- test 6: pl.matrixplot !-->
             <param name="adata" value="krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1047,23 +1081,28 @@
                     <param name="snap" value="False"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.matrixplot"/>
-                <has_text_matching expression="var_names=adata.var_names" />
-                <has_text_matching expression="groupby='cell_type'"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="num_categories=7"/>
-                <has_text_matching expression="dendrogram=True"/>
-                <has_text_matching expression="swap_axes=True"/>
-                <has_text_matching expression="cmap='viridis'"/>
-                <has_text_matching expression="edgecolors='face'"/>
-                <has_text_matching expression="snap=False"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.matrixplot"/>
+                    <has_text_matching expression="var_names=adata.var_names" />
+                    <has_text_matching expression="groupby='cell_type'"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="num_categories=7"/>
+                    <has_text_matching expression="dendrogram=True"/>
+                    <has_text_matching expression="swap_axes=True"/>
+                    <has_text_matching expression="cmap='viridis'"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                    <has_text_matching expression="snap=False"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.matrixplot.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 8: pl.clustermap !-->
+            <!-- test 7: pl.clustermap !-->
             <param name="adata" value="krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1078,19 +1117,24 @@
                     <param name="row_cluster" value="False"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.clustermap"/>
-                <has_text_matching expression="adata=adata" />
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="method='single'"/>
-                <has_text_matching expression="metric='euclidean'"/>
-                <has_text_matching expression="col_cluster=False"/>
-                <has_text_matching expression="row_cluster=False"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.clustermap"/>
+                    <has_text_matching expression="adata=adata" />
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="method='single'"/>
+                    <has_text_matching expression="metric='euclidean'"/>
+                    <has_text_matching expression="col_cluster=False"/>
+                    <has_text_matching expression="row_cluster=False"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.clustermap.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 9: pl.highest_expr_genes !-->
+            <!-- test 8: pl.highest_expr_genes !-->
             <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1102,17 +1146,22 @@
                     <param name="saturation" value="0.5"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.highest_expr_genes"/>
-                <has_text_matching expression="n_top=30" />
-                <has_text_matching expression="gene_symbols='means'" />
-                <has_text_matching expression="color='blue'"/>
-                <has_text_matching expression="saturation=0.5"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.highest_expr_genes"/>
+                    <has_text_matching expression="n_top=30" />
+                    <has_text_matching expression="gene_symbols='means'" />
+                    <has_text_matching expression="color='blue'"/>
+                    <has_text_matching expression="saturation=0.5"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 10: pl.highly_variable_genes !-->
+            <!-- test 9: pl.highly_variable_genes !-->
             <param name="adata" value="pp.highly_variable_genes.seurat.blobs.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1120,16 +1169,21 @@
                 <param name="log" value="false"/>
                 <param name="highly_variable_genes" value="true"/>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.highly_variable_genes"/>
-                <has_text_matching expression="adata_or_result=adata" />
-                <has_text_matching expression="log=False" />
-                <has_text_matching expression="highly_variable_genes=True"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.highly_variable_genes"/>
+                    <has_text_matching expression="adata_or_result=adata" />
+                    <has_text_matching expression="log=False" />
+                    <has_text_matching expression="highly_variable_genes=True"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.highly_variable_genes.seurat.blobs.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 11: pl.pca !-->
+            <!-- test 10: pl.pca !-->
             <param name="adata" value="pbmc68k_reduced.h5ad" />
             <param name="format" value="pdf"/>
             <conditional name="method">
@@ -1162,44 +1216,54 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.pca"/>
-                <has_text_matching expression="save='.pdf'" />
-                <has_text_matching expression="color=\['CD3D', 'CD79A'\]" />
-                <has_text_matching expression="use_raw=False" />
-                <has_text_matching expression="sort_order=True" />
-                <has_text_matching expression="components=\['1,2', '1,3'\]" />
-                <has_text_matching expression="projection='2d'" />
-                <has_text_matching expression="legend_loc='right margin'" />
-                <has_text_matching expression="legend_fontsize=1" />
-                <has_text_matching expression="legend_fontweight='normal'" />
-                <has_text_matching expression="size=1.0" />
-                <has_text_matching expression="palette='viridis'" />
-                <has_text_matching expression="frameon=True" />
-                <has_text_matching expression="ncols=2" />
-                <has_text_matching expression="wspace=0.1" />
-                <has_text_matching expression="hspace=0.25" />
-                <has_text_matching expression="linewidths=0.0" />
-                <has_text_matching expression="edgecolors='face" />
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.pca"/>
+                    <has_text_matching expression="save='.pdf'" />
+                    <has_text_matching expression="color=\['CD3D', 'CD79A'\]" />
+                    <has_text_matching expression="use_raw=False" />
+                    <has_text_matching expression="sort_order=True" />
+                    <has_text_matching expression="components=\['1,2', '1,3'\]" />
+                    <has_text_matching expression="projection='2d'" />
+                    <has_text_matching expression="legend_loc='right margin'" />
+                    <has_text_matching expression="legend_fontsize=1" />
+                    <has_text_matching expression="legend_fontweight='normal'" />
+                    <has_text_matching expression="size=1.0" />
+                    <has_text_matching expression="palette='viridis'" />
+                    <has_text_matching expression="frameon=True" />
+                    <has_text_matching expression="ncols=2" />
+                    <has_text_matching expression="wspace=0.1" />
+                    <has_text_matching expression="hspace=0.25" />
+                    <has_text_matching expression="linewidths=0.0" />
+                    <has_text_matching expression="edgecolors='face" />
+                </assert_contents>
+            </output>
             <output name="out_pdf" file="pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf" ftype="pdf" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 12: pl.pca_loadings !-->
+            <!-- test 11: pl.pca_loadings !-->
             <param name="adata" value="pp.pca.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
                 <param name="method" value="pl.pca_loadings"/>
                 <param name="components" value="1,2,3"/>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.pca_loadings"/>
-                <has_text_matching expression="components=\[1, 2, 3\]" />
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.pca_loadings"/>
+                    <has_text_matching expression="components=\[1, 2, 3\]" />
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.pca_loadings.pp.pca.krumsiek11.png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 13: pl.pca_variance_ratio !-->
+            <!-- test 12: pl.pca_variance_ratio !-->
             <param name="adata" value="pp.pca.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1207,15 +1271,20 @@
                 <param name="n_pcs" value="5"/>
                 <param name="log" value="False"/>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.pca_variance_ratio"/>
-                <has_text_matching expression="n_pcs=5" />
-                <has_text_matching expression="log=False" />
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.pca_variance_ratio"/>
+                    <has_text_matching expression="n_pcs=5" />
+                    <has_text_matching expression="log=False" />
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.pca_variance_ratio.pp.pca.krumsiek11.png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 14: pl.pca_overview !-->
+            <!-- test 13: pl.pca_overview !-->
             <param name="adata" value="pp.pca.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1235,25 +1304,30 @@
                     <param name="hspace" value="0.25"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.pca_overview"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="size=1.0"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="wspace=0.1"/>
-                <has_text_matching expression="hspace=0.25"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.pca_overview"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="size=1.0"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="wspace=0.1"/>
+                    <has_text_matching expression="hspace=0.25"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.pca_overview.pp.pca.krumsiek11.png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 15: pl.tsne !-->
+            <!-- test 14: pl.tsne !-->
             <param name="adata" value="tl.tsne.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1281,29 +1355,34 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.tsne"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="edges=False"/>
-                <has_text_matching expression="arrows=False"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="size=1.0"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="wspace=0.1"/>
-                <has_text_matching expression="hspace=0.25"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.tsne"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="edges=False"/>
+                    <has_text_matching expression="arrows=False"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="size=1.0"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="wspace=0.1"/>
+                    <has_text_matching expression="hspace=0.25"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.tsne.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 16: pl.umap !-->
+            <!-- test 15: pl.umap !-->
             <param name="adata" value="tl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1333,32 +1412,37 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.umap"/>
-                <has_text_matching expression="color=\['paul15_clusters'\]"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="edges=True"/>
-                <has_text_matching expression="edges_width=0.1"/>
-                <has_text_matching expression="edges_color='AliceBlue'"/>
-                <has_text_matching expression="arrows=False"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="size=1.0"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="wspace=0.1"/>
-                <has_text_matching expression="hspace=0.25"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.umap"/>
+                    <has_text_matching expression="color=\['paul15_clusters'\]"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="edges=True"/>
+                    <has_text_matching expression="edges_width=0.1"/>
+                    <has_text_matching expression="edges_color='AliceBlue'"/>
+                    <has_text_matching expression="arrows=False"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="size=1.0"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="wspace=0.1"/>
+                    <has_text_matching expression="hspace=0.25"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 17: pl.diffmap !-->
+            <!-- test 16: pl.diffmap !-->
             <param name="adata" value="tl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1383,28 +1467,33 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.diffmap"/>
-                <has_text_matching expression="color=\['paul15_clusters'\]"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="sort_order=True"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontsize=1"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="size=1.0"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="wspace=0.1"/>
-                <has_text_matching expression="hspace=0.25"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.diffmap"/>
+                    <has_text_matching expression="color=\['paul15_clusters'\]"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="sort_order=True"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontsize=1"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="size=1.0"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="wspace=0.1"/>
+                    <has_text_matching expression="hspace=0.25"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 18: pl.draw_graph !-->
+            <!-- test 17: pl.draw_graph !-->
             <param name="adata" value="tl.draw_graph.pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1432,25 +1521,30 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.draw_graph"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="edges=True"/>
-                <has_text_matching expression="edges_width=0.1"/>
-                <has_text_matching expression="edges_color='Crimson'"/>
-                <has_text_matching expression="arrows=False"/>
-                <has_text_matching expression="sort_order=False"/>
-                <has_text_matching expression="projection='2d'"/>
-                <has_text_matching expression="legend_loc='right margin'"/>
-                <has_text_matching expression="legend_fontweight='normal'"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="frameon=True"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="wspace=0.1"/>
-                <has_text_matching expression="hspace=0.25"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.draw_graph"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="edges=True"/>
+                    <has_text_matching expression="edges_width=0.1"/>
+                    <has_text_matching expression="edges_color='Crimson'"/>
+                    <has_text_matching expression="arrows=False"/>
+                    <has_text_matching expression="sort_order=False"/>
+                    <has_text_matching expression="projection='2d'"/>
+                    <has_text_matching expression="legend_loc='right margin'"/>
+                    <has_text_matching expression="legend_fontweight='normal'"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="frameon=True"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="wspace=0.1"/>
+                    <has_text_matching expression="hspace=0.25"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.draw_graph.png" ftype="png" compare="sim_size"/>
         </test>
         <!--<test>
@@ -1468,7 +1562,7 @@
             <output name="out_png" file="pl.dpt_groups_pseudotime.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png" ftype="png" compare="sim_size"/>
         </test>!-->
         <test>
-            <!-- test 19: pl.dpt_timeseries !-->
+            <!-- test 18: pl.dpt_timeseries !-->
             <param name="adata" value="tl.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1478,11 +1572,16 @@
                     <param name="color_map" value="viridis"/>
                 </conditional>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.dpt_timeseries"/>
-                <has_text_matching expression="color_map='viridis'"/>
-                <has_text_matching expression="as_heatmap=True"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.dpt_timeseries"/>
+                    <has_text_matching expression="color_map='viridis'"/>
+                    <has_text_matching expression="as_heatmap=True"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png" ftype="png" compare="sim_size"/>
         </test>
         <!--<test>
@@ -1514,9 +1613,9 @@
         </test>!-->
         <!--<test>
              test pl.paga_path
-        </test>!-->  
+        </test>!-->
         <test>
-            <!-- test 20: pl.rank_genes_groups !-->
+            <!-- test 19: pl.rank_genes_groups !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1526,17 +1625,22 @@
                 <param name="ncols" value="4"/>
                 <param name="sharey" value="true"/>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="fontsize=8"/>
-                <has_text_matching expression="ncols=4"/>
-                <has_text_matching expression="sharey=True"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="fontsize=8"/>
+                    <has_text_matching expression="ncols=4"/>
+                    <has_text_matching expression="sharey=True"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.rank_genes_groups.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 21: pl.rank_genes_groups_violin !-->
+            <!-- test 20: pl.rank_genes_groups_violin !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1556,16 +1660,21 @@
                     <param name="scale" value="width"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups_violin"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="split=True"/>
-                <has_text_matching expression="strip=True"/>
-                <has_text_matching expression="jitter=True"/>
-                <has_text_matching expression="size=1"/>
-                <has_text_matching expression="scale='width'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups_violin"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="split=True"/>
+                    <has_text_matching expression="strip=True"/>
+                    <has_text_matching expression="jitter=True"/>
+                    <has_text_matching expression="size=1"/>
+                    <has_text_matching expression="scale='width'"/>
+                </assert_contents>
+            </output>
             <output_collection name="collection_png">
                 <element name="cell_type_Ery" file="pl.rank_genes_groups_violin.Ery.png" ftype="png" compare="sim_size"/>
                 <element name="cell_type_Mk" file="pl.rank_genes_groups_violin.Mk.png" ftype="png" compare="sim_size"/>
@@ -1575,7 +1684,7 @@
             </output_collection>
         </test>
         <test>
-            <!-- test 22: pl.rank_genes_groups_dotplot !-->
+            <!-- test 21: pl.rank_genes_groups_dotplot !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1590,20 +1699,25 @@
                     <param name="edgecolors" value="face"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups_dotplot"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="dendrogram=False"/>
-                <has_text_matching expression="color_map='viridis'"/>
-                <has_text_matching expression="linewidths=0.0"/>
-                <has_text_matching expression="edgecolors='face'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups_dotplot"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="dendrogram=False"/>
+                    <has_text_matching expression="color_map='viridis'"/>
+                    <has_text_matching expression="linewidths=0.0"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.rank_genes_groups_dotplot.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 23: pl.rank_genes_groups_heatmap !-->
+            <!-- test 22: pl.rank_genes_groups_heatmap !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1620,21 +1734,26 @@
                     <param name="origin" value="upper"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups_heatmap"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="dendrogram=False"/>
-                <has_text_matching expression="swap_axes=False"/>
-                <has_text_matching expression="show_gene_labels=False"/>
-                <has_text_matching expression="cmap='viridis'"/>
-                <has_text_matching expression="origin='upper'"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups_heatmap"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="dendrogram=False"/>
+                    <has_text_matching expression="swap_axes=False"/>
+                    <has_text_matching expression="show_gene_labels=False"/>
+                    <has_text_matching expression="cmap='viridis'"/>
+                    <has_text_matching expression="origin='upper'"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 24: pl.rank_genes_groups_matrixplot !-->
+            <!-- test 23: pl.rank_genes_groups_matrixplot !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1650,21 +1769,26 @@
                     <param name="snap" value="False"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups_matrixplot"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="dendrogram=False"/>
-                <has_text_matching expression="swap_axes=False"/>
-                <has_text_matching expression="cmap='viridis'"/>
-                <has_text_matching expression="edgecolors='face'"/>
-                <has_text_matching expression="snap=False"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups_matrixplot"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="dendrogram=False"/>
+                    <has_text_matching expression="swap_axes=False"/>
+                    <has_text_matching expression="cmap='viridis'"/>
+                    <has_text_matching expression="edgecolors='face'"/>
+                    <has_text_matching expression="snap=False"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.rank_genes_groups_matrixplot.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
         <test>
-            <!-- test 25: pl.rank_genes_groups_stacked_violin !-->
+            <!-- test 24: pl.rank_genes_groups_stacked_violin !-->
             <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" />
             <param name="format" value="png"/>
             <conditional name="method">
@@ -1692,24 +1816,29 @@
                     <param name="saturation" value="0.75"/>
                 </section>
             </conditional>
-            <assert_stdout>
-                <has_text_matching expression="sc.pl.rank_genes_groups_stacked_violin"/>
-                <has_text_matching expression="n_genes=10"/>
-                <has_text_matching expression="log=False"/>
-                <has_text_matching expression="use_raw=False"/>
-                <has_text_matching expression="dendrogram=True"/>
-                <has_text_matching expression="swap_axes=True"/>
-                <has_text_matching expression="stripplot=True"/>
-                <has_text_matching expression="jitter=True"/>
-                <has_text_matching expression="size=1"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="bw='scott'"/>
-                <has_text_matching expression="scale='width'"/>
-                <has_text_matching expression="linewidth=0.0"/>
-                <has_text_matching expression="color='AliceBlue'"/>
-                <has_text_matching expression="palette='viridis'"/>
-                <has_text_matching expression="saturation=0.75"/>
-            </assert_stdout>
+            <section name="advanced_common">
+                <param name="show_log" value="true" />
+            </section>
+            <output name="hidden_output">
+                <assert_contents>
+                    <has_text_matching expression="sc.pl.rank_genes_groups_stacked_violin"/>
+                    <has_text_matching expression="n_genes=10"/>
+                    <has_text_matching expression="log=False"/>
+                    <has_text_matching expression="use_raw=False"/>
+                    <has_text_matching expression="dendrogram=True"/>
+                    <has_text_matching expression="swap_axes=True"/>
+                    <has_text_matching expression="stripplot=True"/>
+                    <has_text_matching expression="jitter=True"/>
+                    <has_text_matching expression="size=1"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="bw='scott'"/>
+                    <has_text_matching expression="scale='width'"/>
+                    <has_text_matching expression="linewidth=0.0"/>
+                    <has_text_matching expression="color='AliceBlue'"/>
+                    <has_text_matching expression="palette='viridis'"/>
+                    <has_text_matching expression="saturation=0.75"/>
+                </assert_contents>
+            </output>
             <output name="out_png" file="pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/>
         </test>
     </tests>
@@ -1763,7 +1892,7 @@
 Generic: Stacked violin plots (`pl.stacked_violin`)
 ===================================================
 
-Makes a compact image composed of individual violin plots (from `seaborn.violinplot`) 
+Makes a compact image composed of individual violin plots (from `seaborn.violinplot`)
 stacked on top of each other. Useful to visualize gene expression per cluster.
 
 More details on the `scanpy documentation