Mercurial > repos > iuc > scanpy_plot
diff plot.xml @ 1:e4c0f5ee8e17 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ commit 8ef5f7c6f8728608a3f05bb51e11b642b84a05f5"
author | iuc |
---|---|
date | Wed, 16 Oct 2019 06:28:57 -0400 |
parents | 397d2c97af05 |
children | 4bfb75bb7c8e |
line wrap: on
line diff
--- a/plot.xml Mon Mar 04 10:14:25 2019 -0500 +++ b/plot.xml Wed Oct 16 06:28:57 2019 -0400 @@ -1,5 +1,5 @@ -<tool id="scanpy_plot" name="Plot with scanpy" version="@galaxy_version@"> - <description></description> +<tool id="scanpy_plot" name="Plot" version="@galaxy_version@"> + <description> with scanpy</description> <macros> <import>macros.xml</import> </macros> @@ -25,14 +25,14 @@ #if $method.type.type == 'xy' x='$method.type.x', y='$method.type.y', - layers=('$method.type.layer_x', '$method.type.layer_y', '$method.type.layer_color'), + #if str('$method.type.layers.use_layers') == 'true' + layers=('$method.type.layers.layer_x', '$method.type.layers.layer_y', '$method.type.layers.layer_color'), + #end if #else basis='$method.type.basis', #if str($method.type.color) != '' #set $color = ([x.strip() for x in str($method.type.color).split(',')]) color=$color, - #else - color=None, #end if #end if use_raw=$method.use_raw, @@ -51,14 +51,16 @@ #end if size=$method.plot.size) -#elif $method.method == 'pl.heatmap' +#else if $method.method == 'pl.heatmap' sc.pl.heatmap( @CMD_param_plot_inputs@ @CMD_params_plots@ swap_axes=$method.swap_axes, show_gene_labels=$method.show_gene_labels, cmap='$method.matplotlib_pyplot_imshow.cmap', + #if str($method.matplotlib_pyplot_imshow.interpolation) != 'None' interpolation='$method.matplotlib_pyplot_imshow.interpolation', + #end if #if $method.matplotlib_pyplot_imshow.alpha alpha=$method.matplotlib_pyplot_imshow.alpha, #end if @@ -70,7 +72,7 @@ #end if origin='$method.matplotlib_pyplot_imshow.origin') -#elif $method.method == 'pl.dotplot' +#else if $method.method == 'pl.dotplot' sc.pl.dotplot( @CMD_param_plot_inputs@ @CMD_params_plots@ @@ -83,14 +85,14 @@ #end if @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.violin' +#else if $method.method == 'pl.violin' sc.pl.violin( @CMD_param_plot_inputs@ #if $method.key_variables.type == "var_names" #set $key_list = adata.var_names - #elif $method.key_variables.type == "obs" + #else if $method.key_variables.type == "obs" #set $key_list = adata.obs.select_dtypes(exclude=['category']).columns - #elif $method.key_variables.type == "custom" + #else if $method.key_variables.type == "custom" #set $key_list=([x.strip() for x in str($method.key_variables.keys).split(',')]) #end if keys=$key_list, @@ -99,14 +101,11 @@ #end if log=$method.log, use_raw=$method.use_raw, - sstripplot=$method.violin_plot.stripplot.stripplot, - #if $method.violin_plot.stripplot.stripplot == "True" - jitter=$method.violin_plot.stripplot.jitter.jitter, - #if $method.violin_plot.stripplot.jitter.jitter == "True" - size=$method.violin_plot.stripplot.jitter.size, - #end if + @CMD_conditional_stripplot@ + 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 - multi_panel=$method.violin_plot.multi_panel.multi_panel, scale='$method.violin_plot.scale', #if $method.xlabel xlabel='$method.xlabel', @@ -116,7 +115,20 @@ #end if @CMD_params_seaborn_violinplot@) -#elif $method.method == 'pl.matrixplot' +#else if $method.method == 'pl.stacked_violin' +sc.pl.stacked_violin( + @CMD_param_plot_inputs@ + @CMD_params_plots@ + swap_axes=$method.swap_axes, + @CMD_conditional_stripplot@ + scale='$method.violin_plot.scale', + row_palette='$method.row_palette', + #if str($method.standard_scale) != 'None' + standard_scale='$method.standard_scale', + #end if + @CMD_params_seaborn_violinplot@) + +#else if $method.method == 'pl.matrixplot' sc.pl.matrixplot( @CMD_param_plot_inputs@ @CMD_params_plots@ @@ -134,7 +146,7 @@ #end if snap=$method.matplotlib_pyplot_pcolor.snap) -#elif $method.method == 'pl.clustermap' +#else if $method.method == 'pl.clustermap' sc.pl.clustermap( #if str($method.use_raw) == 'True' adata=adata.X, @@ -142,24 +154,22 @@ adata=adata, #end if show=False, + #if str($method.obs_keys) != '' obs_keys='$method.obs_keys', + #end if use_raw=$method.use_raw, method='$method.seaborn_clustermap.method', metric='$method.seaborn_clustermap.metric', - #if str($method.seaborn_clustermap.z_score) == 'None' - z_score=None, - #else + #if str($method.seaborn_clustermap.z_score) != 'None' z_score=$method.seaborn_clustermap.z_score, #end if - #if str($method.seaborn_clustermap.standard_scale) == 'None' - standard_scale=None, - #else + #if str($method.seaborn_clustermap.standard_scale) != 'None' standard_scale=$method.seaborn_clustermap.standard_scale, #end if col_cluster=$method.seaborn_clustermap.col_cluster, row_cluster=$method.seaborn_clustermap.row_cluster).savefig(fname="output.$format") -#elif $method.method == 'pl.highest_expr_genes' +#else if $method.method == 'pl.highest_expr_genes' sc.pl.highest_expr_genes( @CMD_param_plot_inputs@ n_top=$method.n_top, @@ -174,7 +184,16 @@ #end if saturation=$method.setseaborn_boxplot.saturation) -#elif $method.method == 'pl.pca' +#else if $method.method == 'pl.highly_variable_genes' +sc.pl.highly_variable_genes( + adata_or_result=adata, + log=$method.log, + save='.$format', + show=False, + highly_variable_genes=$method.highly_variable_genes + ) + +#else if $method.method == 'pl.pca' sc.pl.pca( @CMD_param_plot_inputs@ @CMD_param_color@ @@ -185,19 +204,19 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.pca_loadings' +#else if $method.method == 'pl.pca_loadings' sc.pl.pca_loadings( @CMD_param_plot_inputs@ #set $components = ([int(x.strip()) for x in str($method.components).split(',')]) components=$components) -#elif $method.method == 'pl.pca_variance_ratio' +#else if $method.method == 'pl.pca_variance_ratio' sc.pl.pca_variance_ratio( @CMD_param_plot_inputs@ n_pcs=$method.n_pcs, log=$method.log) -#elif $method.method == 'pl.pca_overview' +#else if $method.method == 'pl.pca_overview' sc.pl.pca_overview( @CMD_param_plot_inputs@ @CMD_param_color@ @@ -208,7 +227,7 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.tsne' +#else if $method.method == 'pl.tsne' sc.pl.tsne( @CMD_param_plot_inputs@ @CMD_param_color@ @@ -221,7 +240,7 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.umap' +#else if $method.method == 'pl.umap' sc.pl.umap( @CMD_param_plot_inputs@ @CMD_param_color@ @@ -234,7 +253,7 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.diffmap' +#else if $method.method == 'pl.diffmap' sc.pl.diffmap( @CMD_param_plot_inputs@ @CMD_param_color@ @@ -245,12 +264,35 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) -#elif $method.method == 'pl.dpt_groups_pseudotime' +#else if $method.method == 'pl.draw_graph' +sc.pl.draw_graph( + @CMD_param_plot_inputs@ + @CMD_param_color@ + #if str($method.gene_symbols) != '' + gene_symbols='$method.gene_symbols', + #end if + use_raw=$method.use_raw, + #if str($method.layout) != 'None' + layout='$method.layout', + #end if + edges=$method.edges.edges, + #if str($method.edges.edges) == 'True' + edges_width=$method.edges.edges_width, + edges_color='$method.edges.edges_color', + #end if + arrows=$method.arrows, + sort_order=$method.sort_order, + @CMD_params_pl_groups@ + @CMD_params_pl_components@ + @CMD_pl_attribute_section@ + @CMD_params_matplotlib_pyplot_scatter@) + +#else if $method.method == 'pl.dpt_groups_pseudotime' sc.pl.dpt_groups_pseudotime( @CMD_param_plot_inputs@ color_map='$method.color_map') -#elif $method.method == 'pl.dpt_timeseries' +#else if $method.method == 'pl.dpt_timeseries' sc.pl.dpt_timeseries( @CMD_param_plot_inputs@ #if $method.heatmap.as_heatmap == "True" @@ -258,10 +300,73 @@ #end if as_heatmap=$method.heatmap.as_heatmap) -#elif $method.method == 'pl.paga' +#else if $method.method == 'pl.paga' sc.pl.paga( @CMD_param_plot_inputs@ @CMD_params_pl_paga@) + +#else if $method.method == 'pl.paga_compare' +sc.pl.paga_compare( + @CMD_param_plot_inputs@ + @CMD_params_pl_paga@) + +#else if $method.method == 'pl.paga_path' +sc.pl.paga_path( + @CMD_param_plot_inputs@ + #set $nodes = ([int(x.strip()) for x in str($method.nodes).split(',')]) + nodes=$nodes, + #set $keys=([x.strip() for x in str($method.keys).split(',')]) + keys=$keys, + use_raw=$method.use_raw, + #if str($method.annotations) != '' + #set $annotations=([x.strip() for x in str($method.annotations).split(',')]) + annotations=$annotations, + #end if + color_map='$method.color_map', + n_avg=$method.n_avg, + #if str($method.annotations) != '' + groups_key='$method.groups_key', + #end if + as_heatmap=$method.as_heatmap, + show_node_names=$method.show_node_names, + show_colorbar=$method.show_colorbar, + show_yticks=$method.show_yticks, + normalize_to_zero_one=$method.normalize_to_zero_one) + +#else if $method.method == 'pl.rank_genes_groups' +sc.pl.rank_genes_groups( + @CMD_param_plot_inputs@ + @CMD_params_pl_groups@ + n_genes=$method.n_genes, + #if str($method.gene_symbols) != '' + gene_symbols='$method.gene_symbols', + #end if + fontsize=$method.fontsize, + ncols=$method.ncols, + sharey=$method.sharey) + +#else if $method.method == 'pl.rank_genes_groups_violin' +sc.pl.rank_genes_groups_violin( + @CMD_param_plot_inputs@ + @CMD_params_pl_groups@ + #if $method.genes.select == 'n_genes' + n_genes=$method.genes.n_genes, + #else + #set $gene_names = ([x.strip() for x in str($method.genes.gene_names).split(',')]) + gene_names=$gene_names, + #end if + gene_symbols='$method.gene_symbols', + use_raw=$method.use_raw, + split=$method.split, + strip=$method.violin_plot.stripplot.stripplot, + #if $method.violin_plot.stripplot.stripplot == "True" + jitter=$method.violin_plot.stripplot.jitter.jitter, + #if $method.violin_plot.stripplot.jitter.jitter == "True" + size=$method.violin_plot.stripplot.jitter.size, + #end if + #end if + scale='$method.violin_plot.scale') + #end if ]]></configfile> </configfiles> @@ -274,13 +379,13 @@ <option value="pl.heatmap">Generic: Heatmap of the expression values of set of genes, using `pl.heatmap`</option> <option value="pl.dotplot">Generic: Makes a dot plot of the expression values, using `pl.dotplot`</option> <option value="pl.violin">Generic: Violin plot, using `pl.violin`</option> - <!--<option value="pl.stacked_violin">Generic: </option>!--> + <option value="pl.stacked_violin">Generic: Stacked violin plots, using `pl.stacked_violin`</option> <option value="pl.matrixplot">Generic: Heatmap of the mean expression values per cluster, using `pl.matrixplot`</option> <option value="pl.clustermap">Generic: Hierarchically-clustered heatmap, using `pl.clustermap`</option> <!--<option value="pl.ranking">Generic: </option>!--> <option value="pl.highest_expr_genes">Preprocessing: Plot the fraction of counts assigned to each gene over all cells, using `pl.highest_expr_genes`</option> <!--<option value="pl.filter_genes_dispersion">Preprocessing: Plot dispersions versus means for genes, using `pl.filter_genes_dispersion`</option>--> - <!--<option value="pl.highly_variable_genes">Preprocessing: </option>!--> + <option value="pl.highly_variable_genes">Preprocessing: Plot dispersions versus means for genes, using `pl.highly_variable_genes`</option> <!--<option value="pl.calculate_qc_metrics">Preprocessing: </option>!--> <option value="pl.pca">PCA: Scatter plot in PCA coordinates, using `pl.pca`</option> <option value="pl.pca_loadings">PCA: Rank genes according to contributions to PCs, using `pl.pca_loadings`</option> @@ -289,18 +394,18 @@ <option value="pl.tsne">Embeddings: Scatter plot in tSNE basis, using `pl.tsne`</option> <option value="pl.umap">Embeddings: Scatter plot in UMAP basis, using `pl.umap`</option> <option value="pl.diffmap">Embeddings: Scatter plot in Diffusion Map basis, using `pl.diffmap`</option> - <!--<option value="pl.draw_graph">Embeddings: </option>!--> + <option value="pl.draw_graph">Embeddings: Scatter plot in graph-drawing basis, using `pl.draw_graph`</option> <option value="pl.dpt_groups_pseudotime">Branching trajectories and pseudotime, clustering: Plot groups and pseudotime, using `pl.dpt_groups_pseudotime`</option> <option value="pl.dpt_timeseries">Branching trajectories and pseudotime, clustering: Heatmap of pseudotime series, using `pl.dpt_timeseries`</option> <option value="pl.paga">Branching trajectories and pseudotime, clustering: Plot the abstracted graph through thresholding low-connectivity edges, using `pl.paga`</option> - <!--<option value="pl.paga_compare">Branching trajectories and pseudotime, clustering: </option>!--> - <!--<option value="pl.paga_path">Branching trajectories and pseudotime, clustering: </option>!--> - <!--<option value="pl.rank_gene_groups">Marker genes: Plot ranking of genes using dotplot plot, using `pl.rank_gene_groups`</option>!--> + <option value="pl.paga_compare">Branching trajectories and pseudotime, clustering: Scatter and PAGA graph side-by-side, using `pl.paga_compare`</option> + <option value="pl.paga_path">Branching trajectories and pseudotime, clustering: Gene expression and annotation changes along paths, using `pl.paga_path`</option> + <option value="pl.rank_genes_groups">Marker genes: Plot ranking of genes using dotplot plot, using `pl.rank_genes_groups`</option> <!--<option value="pl.rank_genes_groups_dotplot">Marker genes: </option>!--> <!--<option value="pl.rank_genes_groups_heatmap">Marker genes: </option>!--> <!--<option value="pl.rank_genes_groups_matrixplot">Marker genes: </option>!--> <!--<option value="pl.rank_genes_groups_stacked_violin">Marker genes: </option>!--> - <!--<option value="pl.rank_genes_groups_violin">Marker genes: </option>!--> + <option value="pl.rank_genes_groups_violin">Marker genes: Plot ranking of genes for all tested comparisons, using `pl.rank_genes_groups_violin`</option> <!--<option value="pl.phate">Misc: </option>!--> <!--<option value="pl.matrix">Misc: </option>!--> <!--<option value="pl.paga_adjacency">Misc: </option>!--> @@ -317,9 +422,18 @@ <when value="xy"> <param argument="x" type="text" value="" label="x coordinate" help="Index or key from either `.obs` or `.var`"/> <param argument="y" type="text" value="" label="y coordinate" help="Index or key from either `.obs` or `.var`"/> - <param argument="layer_x" type="text" value="X" label="Layers for x coordinate" help="Use the `layers` attribute of `adata` if present"/> - <param argument="layer_y" type="text" value="X" label="Layers for y coordinate" help="Use the `layers` attribute of `adata` if present"/> - <param argument="layer_color" type="text" value="X" label="Layers for color" help="Use the `layers` attribute of `adata` if present"/> + <conditional name="layers"> + <param argument="use_layers" type="select" label="Use the layers attribute?"> + <option value="true">Yes</option> + <option value="false" selected="true">No</option> + </param> + <when value="true"> + <param argument="layer_x" type="text" value="" optional="true" label="Layers for x coordinate" help="Use the `layers` attribute of `adata` if present"/> + <param argument="layer_y" type="text" value="" optional="true" label="Layers for y coordinate" help="Use the `layers` attribute of `adata` if present"/> + <param argument="layer_color" type="text" value="" optional="true" label="Layers for color" help="Use the `layers` attribute of `adata` if present"/> + </when> + <when value="false"/> + </conditional> </when> <when value="basis"> <param argument="basis" type="select" label="Plotting tool that computes coordinates" help=""> @@ -355,7 +469,7 @@ <section name="matplotlib_pyplot_imshow" title="Parameters for matplotlib.pyplot.imshow"> <expand macro="param_cmap"/> <param name="interpolation" type="select" label="Interpolation method" help=""> - <option value="none">none</option> + <option value="None">none</option> <option value="nearest">nearest</option> <option value="bilinear">bilinear</option> <option value="bicubic">bicubic</option> @@ -396,7 +510,7 @@ <param name="type" type="select" label="Keys for accessing variables"> <option value="var_names">All variables in `.var_names`</option> <option value="obs">All fields in `.obs`</option> - <option value="custom">Subset of variables in `adata.var_names` or fields of `.obs`"</option> + <option value="custom">Subset of variables in `adata.var_names` or fields of `.obs`</option> </param> <when value="var_names"/> <when value="obs"/> @@ -407,11 +521,43 @@ <expand macro="param_groupby"/> <expand macro="param_log"/> <expand macro="param_use_raw"/> - <expand macro="section_violin_plots"/> + <section name="violin_plot" title="Violin plot attributes"> + <expand macro="conditional_stripplot"/> + <conditional name="multi_panel"> + <param argument="multi_panel" type="select" label="Display keys in multiple panels" help="Also when `groupby is not provided"> + <option value="True">Yes</option> + <option value="False" selected="true">No</option> + </param> + <when value="True"> + <param argument="width" type="integer" min="0" value="" optional="true" label="Width of the figure" help=""/> + <param argument="height" type="integer" min="0" value="" optional="true" label="Height of the figure" help=""/> + </when> + <when value="False"/> + </conditional> + <expand macro="param_scale"/> + </section> <param argument="xlabel" type="text" value="" optional="true" label="Label of the x axis" help="Defaults to `groupby` if `rotation` is `None`, otherwise, no label is shown."/> <param argument="rotation" type="float" value="" optional="true" label="Rotation of xtick labels" help=""/> <expand macro="seaborn_violinplot"/> </when> + <when value="pl.stacked_violin"> + <expand macro="params_plots"/> + <expand macro="param_swap_axes"/> + <section name="violin_plot" title="Violin plot attributes"> + <expand macro="conditional_stripplot"/> + <expand macro="param_scale"/> + </section> + <param argument="row_palette" type="select" label="Colors to use in each of the stacked violin plots"> + <option value="muted">muted</option> + <expand macro="seaborn_color_palette_options"/> + </param> + <param argument="standard_scale" type="select" label="Standardize a dimension between 0 and 1" help="Each variable or observation is subtracted by the minimum and divided each by its maximum."> + <option value="None">No standardization</option> + <option value="var">Standardization on variable</option> + <option value="obs">Standardization on observation</option> + </param> + <expand macro="seaborn_violinplot"/> + </when> <when value="pl.matrixplot"> <expand macro="params_plots"/> <expand macro="param_swap_axes"/> @@ -427,7 +573,7 @@ </section> </when> <when value="pl.clustermap"> - <param argument="obs_keys" type="text" value="" label="Categorical annotation to plot with a different color map" help="Currently, only a single key is supported."/> + <param argument="obs_keys" type="text" value="" optional="true" label="Categorical annotation to plot with a different color map" help="Currently, only a single key is supported."/> <expand macro="param_use_raw"/> <section name="seaborn_clustermap" title="Parameters for seaborn.clustermap"> <param name="method" type="select" label="Linkage method to use for calculating clusters" help="More details in https://docs.scipy.org/doc/scipy/reference/generated/scipy.cluster.hierarchy.linkage.html"> @@ -456,6 +602,10 @@ <param name="row_cluster" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Cluster the rows?" help=""/> </section> </when> + <when value="pl.highly_variable_genes"> + <expand macro="param_log"/> + <param argument="highly_variable_genes" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Plot highly variable genes or gene subset?"/> + </when> <when value="pl.highest_expr_genes"> <param argument="n_top" type="integer" min="0" value="30" label="Number of top genes" help=""/> <param argument="gene_symbols" type="text" optional="true" label="Key for field in `.var` that stores gene symbols" help="Fill it if you do not want to use `.var_names`."/> @@ -518,6 +668,20 @@ <expand macro="pl_attribute_section"/> <expand macro="section_matplotlib_pyplot_scatter"/> </when> + <when value="pl.draw_graph"> + <expand macro="param_color"/> + <expand macro="gene_symbols"/> + <expand macro="param_use_raw"/> + <param argument="layout" type="select" optional="true" label="Plotting layout" help=""> + <expand macro="options_layout"/> + </param> + <expand macro="pl_edges"/> + <expand macro="param_arrows"/> + <expand macro="param_sort_order"/> + <expand macro="pl_groups"/> + <expand macro="pl_attribute_section"/> + <expand macro="section_matplotlib_pyplot_scatter"/> + </when> <when value="pl.dpt_groups_pseudotime"> <expand macro="param_color_map"/> </when> @@ -536,35 +700,92 @@ <when value="pl.paga"> <expand macro="inputs_paga"/> </when> + <when value="pl.paga_compare"> + <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" + 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"/> + <param argument="annotations" type="text" value="" optional="true" label="Key to plot" help="Keys for obs, comma-separated"/> + <expand macro="param_color_map"/> + <param argument="n_avg" type="integer" value="1" label="Number of data points to include in computation of running average"/> + <param argument="groups_key" type="text" value="" optional="true" label="Key of the grouping used to run PAGA" help="If not set, use uns/page/groups"/> + <param argument="as_heatmap" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Plot the timeseries as heatmap?" help="If not, annotations have no effect."/> + <param argument="show_node_names" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Plot the node names on the nodes bar?"/> + <param argument="show_colorbar" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Show the colorbar?"/> + <param argument="show_yticks" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Show the y ticks?"/> + <param argument="normalize_to_zero_one" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Shift and scale the running average to [0, 1] per gene?"/> + </when> + <when value="pl.rank_genes_groups"> + <expand macro="pl_groups"/> + <expand macro="n_genes"/> + <expand macro="gene_symbols"/> + <param argument="fontsize" type="integer" min="0" value="8" label="Font size for gene names"/> + <expand macro="param_ncols"/> + <param argument="sharey" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Should the y-axis of each panels be shared?" help="If not, each panel has its own y-axis range"/> + </when> + <when value="pl.rank_genes_groups_violin"> + <expand macro="pl_groups"/> + <conditional name="genes"> + <param argument="select" type="select" label="Which genes to plot?" help=""> + <option value="n_genes">A number of genes</option> + <option value="gene_names">A custom list of genes</option> + </param> + <when value="n_genes"> + <expand macro="n_genes"/> + </when> + <when value="gene_names"> + <param argument="gene_names" type="text" value="" label="List of genes to plot" help="A list of comma-separated names"/> + </when> + </conditional> + <expand macro="gene_symbols"/> + <expand macro="param_use_raw"/> + <param argument="split" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Split the violins?"/> + <section name="violin_plot" title="Violin plot attributes"> + <expand macro="conditional_stripplot"/> + <expand macro="param_scale"/> + </section> + </when> </conditional> </inputs> <outputs> - <data name="out_png" format="png" from_work_dir="*.png" label="${tool.name} on ${on_string}"> - <filter>format == 'png'</filter> + <data name="out_png" format="png" from_work_dir="*.png" label="${tool.name} (${method.method}) on ${on_string}"> + <filter>format == 'png' and method['method'] != 'pl.rank_genes_groups_violin'</filter> + </data> + <collection name="collection_png" type="list" label="${tool.name} (${method.method}) on ${on_string}"> + <discover_datasets pattern="rank_genes_groups_cell_type_(?P<designation>.*).png" format="png"/> + <filter>format == 'png' and method['method'] == 'pl.rank_genes_groups_violin'</filter> + </collection> + <data name="out_pdf" format="pdf" from_work_dir="*.pdf" label="${tool.name} (${method.method}) on ${on_string}"> + <filter>format == 'pdf' and method['method'] != pl.rank_genes_groups_violin</filter> </data> - <data name="out_pdf" format="pdf" from_work_dir="*.pdf" label="${tool.name} on ${on_string}"> - <filter>format == 'pdf'</filter> + <collection name="collection_pdf" type="list" label="${tool.name} (${method.method}) on ${on_string}"> + <discover_datasets pattern="rank_genes_groups_cell_type_(?P<designation>.*).pdf" format="pdf"/> + <filter>format == 'pdf' and method['method'] == 'pl.rank_genes_groups_violin'</filter> + </collection> + <data name="out_svg" format="svg" from_work_dir="*.svg" label="${tool.name} (${method.method}) on ${on_string}"> + <filter>format == 'svg' and method['method'] != pl.rank_genes_groups_violin</filter> </data> - <data name="out_svg" format="svg" from_work_dir="*.svg" label="${tool.name} on ${on_string}"> - <filter>format == 'svg'</filter> - </data> + <collection name="collection_svg" type="list" label="${tool.name} (${method.method}) on ${on_string}"> + <discover_datasets pattern="rank_genes_groups_cell_type_(?P<designation>.*).svg" format="svg"/> + <filter>format == 'svg' and method['method'] == 'pl.rank_genes_groups_violin'</filter> + </collection> </outputs> <tests> <test> - <!-- Test pl.scatter !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pp.pca.krumsiek11.h5ad" /> - </conditional> + <!-- test 1: pl.scatter !--> + <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.scatter"/> <conditional name="type"> <param name="type" value="basis"/> - <param name="basis" value="pca"/> - <param name="color" value="EgrNab, Gata2"/> + <param name="basis" value="umap"/> + <param name="color" value="HES4"/> </conditional> - <param name="use_raw" value="False"/> + <param name="use_raw" value="True"/> <param name="sort_order" value="True"/> <section name="plot"> <param name="projection" value="2d"/> @@ -579,12 +800,10 @@ </conditional> <assert_stdout> <has_text_matching expression="sc.pl.scatter"/> - <has_text_matching expression="basis='pca'" /> - <has_text_matching expression="color=\['EgrNab', 'Gata2'\]"/> - <has_text_matching expression="use_raw=False"/> + <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="groups=None"/> - <has_text_matching expression="components=None"/> <has_text_matching expression="projection='2d'"/> <has_text_matching expression="legend_loc='right margin'"/> <has_text_matching expression="legend_fontsize=1"/> @@ -594,14 +813,11 @@ <has_text_matching expression="frameon=True"/> <has_text_matching expression="size=1.0"/> </assert_stdout> - <output name="out_png" file="pl.scatter.pca.krumsiek11.png" ftype="png" compare="sim_size"/> + <output name="out_png" file="pl.scatter.umap.pbmc68k_reduced.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- Test pl.scatter !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="krumsiek11.h5ad" /> - </conditional> + <!-- test 2: pl.scatter !--> + <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.scatter"/> @@ -609,9 +825,9 @@ <param name="type" value="xy"/> <param name="x" value="EKLF"/> <param name="y" value="Cebpa"/> - <param name="layer_x" value="X"/> - <param name="layer_y" value="X"/> - <param name="layer_color" value="X"/> + <conditional name="layers"> + <param name="use_layers" value="false"/> + </conditional> </conditional> <param name="use_raw" value="False"/> <param name="sort_order" value="True"/> @@ -630,11 +846,8 @@ <has_text_matching expression="sc.pl.scatter"/> <has_text_matching expression="x='EKLF'" /> <has_text_matching expression="y='Cebpa'"/> - <has_text_matching expression="layers=\('X', 'X', 'X'\)"/> <has_text_matching expression="use_raw=False"/> <has_text_matching expression="sort_order=True"/> - <has_text_matching expression="groups=None,"/> - <has_text_matching expression="components=None,"/> <has_text_matching expression="projection='2d'"/> <has_text_matching expression="legend_loc='right margin'"/> <has_text_matching expression="legend_fontsize=1"/> @@ -648,11 +861,8 @@ <output name="out_png" file="pl.scatter.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.heatmap !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="krumsiek11.h5ad" /> - </conditional> + <!-- test 3: pl.heatmap !--> + <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.heatmap"/> @@ -673,7 +883,7 @@ <param name="show_gene_labels" value="False"/> <section name="matplotlib_pyplot_imshow"> <param name="cmap" value="YlGnBu"/> - <param name="interpolation" value="none"/> + <param name="interpolation" value="None"/> <param name="origin" value="upper"/> </section> </conditional> @@ -685,23 +895,17 @@ <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=None"/> - <has_text_matching expression="var_group_labels=None"/> <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="interpolation='none'"/> <has_text_matching expression="cmap='YlGnBu'"/> <has_text_matching expression="origin='upper'"/> </assert_stdout> <output name="out_png" file="pl.heatmap.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.dotplot !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pbmc68k_reduced.h5ad" /> - </conditional> + <!-- test 4: pl.dotplot !--> + <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.dotplot"/> @@ -714,10 +918,6 @@ <param name="use_raw" value="False"/> <param name="num_categories" value="7"/> <param name="dendrogram" value="True"/> - <conditional name="figsize"> - <param name="test" value="no"/> - </conditional> - <param name="dendrogram" value="False"/> <repeat name="var_group_positions"> <param name="start" value="0"/> <param name="end" value="1"/> @@ -728,6 +928,9 @@ <param name="end" value="12"/> <param name="label" value="dendritic"/> </repeat> + <conditional name="figsize"> + <param name="test" value="no"/> + </conditional> <param name="color_map" value="hot"/> <param name="dot_max" value="0.7"/> <param name="dot_min" value="0.1"/> @@ -743,7 +946,7 @@ <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=False"/> + <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'"/> @@ -755,11 +958,8 @@ <output name="out_png" file="pl.dotplot.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.violin !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pbmc68k_reduced.h5ad" /> - </conditional> + <!-- test 5: pl.violin !--> + <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.violin"/> @@ -795,10 +995,11 @@ <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="sstripplot=True"/> + <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'"/> @@ -810,11 +1011,65 @@ <output name="out_png" file="pl.violin.pbmc68k_reduced_custom.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.matrixplot !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="krumsiek11.h5ad" /> + <!-- test 6: pl.stacked_violin !--> + <param name="adata" value="krumsiek11.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.stacked_violin"/> + <conditional name="var_names"> + <param name="type" value="all"/> + </conditional> + <param name="groupby" value="cell_type"/> + <param name="log" value="False"/> + <param name="use_raw" value="False"/> + <param name="num_categories" value="7"/> + <param name="dendrogram" value="True"/> + <conditional name="figsize"> + <param name="test" value="no"/> + </conditional> + <param name="swap_axes" value="True"/> + <section name="violin_plot"> + <conditional name="stripplot"> + <param name="stripplot" value="True"/> + <param name="jitter" value="True"/> + <param name="size" value="1"/> + </conditional> + <param name="scale" value="width"/> + </section> + <param name="row_palette" value="muted"/> + <param name="standard_scale" value="None"/> + <section name="seaborn_violinplot"> + <param name="bw" value="scott"/> + <param name="linewidth" value="0"/> + <param name="color" value="AliceBlue"/> + <param name="palette" value="viridis"/> + <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> + <output name="out_png" file="pl.stacked_violin.krumsiek11.png" ftype="png" compare="sim_size"/> + </test> + <test> + <!-- test 7: pl.matrixplot !--> + <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.matrixplot"/> @@ -844,8 +1099,6 @@ <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=None"/> - <has_text_matching expression="var_group_labels=None"/> <has_text_matching expression="swap_axes=True"/> <has_text_matching expression="cmap='viridis'"/> <has_text_matching expression="edgecolors='face'"/> @@ -854,19 +1107,15 @@ <output name="out_png" file="pl.matrixplot.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.clustermap !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="krumsiek11.h5ad" /> - </conditional> + <!-- test 8: pl.clustermap !--> + <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.clustermap"/> - <param name="obs_keys" value="cell_type"/> <param name="use_raw" value="False"/> <section name="seaborn_clustermap"> <param name="method" value="single"/> - <param name="metric" value="braycurtis"/> + <param name="metric" value="euclidean"/> <param name="z_score" value="None"/> <param name="standard_scale" value="None"/> <param name="col_cluster" value="False"/> @@ -876,23 +1125,17 @@ <assert_stdout> <has_text_matching expression="sc.pl.clustermap"/> <has_text_matching expression="adata=adata" /> - <has_text_matching expression="obs_keys='cell_type'" /> <has_text_matching expression="use_raw=False"/> <has_text_matching expression="method='single'"/> - <has_text_matching expression="metric='braycurtis'"/> - <has_text_matching expression="z_score=None"/> - <has_text_matching expression="standard_scale=None"/> + <has_text_matching expression="metric='euclidean'"/> <has_text_matching expression="col_cluster=False"/> <has_text_matching expression="row_cluster=False"/> </assert_stdout> <output name="out_png" file="pl.clustermap.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.highest_expr_genes !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> - </conditional> + <!-- test 9: pl.highest_expr_genes !--> + <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.highest_expr_genes"/> @@ -913,11 +1156,25 @@ <output name="out_png" file="pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.pca !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pbmc68k_reduced.h5ad" /> + <!-- test 10: pl.highly_variable_genes !--> + <param name="adata" value="pp.highly_variable_genes.seurat.blobs.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.highly_variable_genes"/> + <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> + <output name="out_png" file="pl.highly_variable_genes.seurat.blobs.png" ftype="png" compare="sim_size"/> + </test> + <test> + <!-- test 11: pl.pca !--> + <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="pdf"/> <conditional name="method"> <param name="method" value="pl.pca"/> @@ -955,7 +1212,6 @@ <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="groups=None" /> <has_text_matching expression="components=\['1,2', '1,3'\]" /> <has_text_matching expression="projection='2d'" /> <has_text_matching expression="legend_loc='right margin'" /> @@ -973,11 +1229,8 @@ <output name="out_pdf" file="pl.pca.pbmc68k_reduced.CD3D_CD79A_components_2d.pdf" ftype="pdf" compare="sim_size"/> </test> <test> - <!-- test pl.pca_loadings !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pp.pca.krumsiek11.h5ad" /> - </conditional> + <!-- test 12: 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"/> @@ -987,14 +1240,11 @@ <has_text_matching expression="sc.pl.pca_loadings"/> <has_text_matching expression="components=\[1, 2, 3\]" /> </assert_stdout> - <output name="out_png" file="pl.pca_loadings.pp.pca.krumsiek11.png"/> + <output name="out_png" file="pl.pca_loadings.pp.pca.krumsiek11.png" compare="sim_size"/> </test> <test> - <!-- test pl.pca_variance_ratio !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pp.pca.krumsiek11.h5ad" /> - </conditional> + <!-- test 13: pl.pca_variance_ratio !--> + <param name="adata" value="pp.pca.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.pca_variance_ratio"/> @@ -1006,22 +1256,18 @@ <has_text_matching expression="n_pcs=5" /> <has_text_matching expression="log=False" /> </assert_stdout> - <output name="out_png" file="pl.pca_variance_ratio.pp.pca.krumsiek11.png"/> + <output name="out_png" file="pl.pca_variance_ratio.pp.pca.krumsiek11.png" compare="sim_size"/> </test> <test> - <!-- test pl.pca_overview !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="pp.pca.krumsiek11.h5ad" /> - </conditional> + <!-- test 14: pl.pca_overview !--> + <param name="adata" value="pp.pca.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.pca_overview"/> - <param name="color" value="cell_type"/> <param name="use_raw" value="False"/> <param name="sort_order" value="True"/> <section name="plot"> - <param name="projection" value="3d"/> + <param name="projection" value="2d"/> <param name="legend_loc" value="right margin"/> <param name="legend_fontsize" value="1"/> <param name="legend_fontweight" value="normal"/> @@ -1032,22 +1278,12 @@ <param name="wspace" value="0.1"/> <param name="hspace" value="0.25"/> </section> - <section name="matplotlib_pyplot_scatter"> - <param name="linewidths" value="0"/> - <param name="edgecolors" value="face"/> - <param name="vmin" value="-5"/> - <param name="vmax" value="5"/> - <param name="edgecolors" value="face"/> - </section> </conditional> <assert_stdout> <has_text_matching expression="sc.pl.pca_overview"/> - <has_text_matching expression="color=\['cell_type'\]"/> <has_text_matching expression="use_raw=False"/> <has_text_matching expression="sort_order=True"/> - <has_text_matching expression="groups=None"/> - <has_text_matching expression="components=None"/> - <has_text_matching expression="projection='3d'"/> + <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'"/> @@ -1057,19 +1293,12 @@ <has_text_matching expression="ncols=4"/> <has_text_matching expression="wspace=0.1"/> <has_text_matching expression="hspace=0.25"/> - <has_text_matching expression="vmin=-5.0"/> - <has_text_matching expression="vmax=5.0"/> - <has_text_matching expression="linewidths=0.0"/> - <has_text_matching expression="edgecolors='face'"/> </assert_stdout> <output name="out_png" file="pl.pca_overview.pp.pca.krumsiek11.png" compare="sim_size"/> </test> <test> - <!-- test pl.tsne !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.tsne.krumsiek11.h5ad" /> - </conditional> + <!-- test 15: pl.tsne !--> + <param name="adata" value="tl.tsne.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.tsne"/> @@ -1098,13 +1327,10 @@ </conditional> <assert_stdout> <has_text_matching expression="sc.pl.tsne"/> - <has_text_matching expression="color=None"/> <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="groups=None"/> - <has_text_matching expression="components=None"/> <has_text_matching expression="projection='2d'"/> <has_text_matching expression="legend_loc='right margin'"/> <has_text_matching expression="legend_fontsize=1"/> @@ -1121,11 +1347,8 @@ <output name="out_png" file="pl.tsne.krumsiek11.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.umap !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" /> - </conditional> + <!-- test 16: pl.umap !--> + <param name="adata" value="tl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.umap"/> @@ -1163,8 +1386,6 @@ <has_text_matching expression="edges_color='AliceBlue'"/> <has_text_matching expression="arrows=False"/> <has_text_matching expression="sort_order=True"/> - <has_text_matching expression="groups=None"/> - <has_text_matching expression="components=None"/> <has_text_matching expression="projection='2d'"/> <has_text_matching expression="legend_loc='right margin'"/> <has_text_matching expression="legend_fontsize=1"/> @@ -1181,11 +1402,8 @@ <output name="out_png" file="pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png" ftype="png" compare="sim_size"/> </test> <test> - <!-- test pl.diffmap !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> - </conditional> + <!-- test 17: pl.diffmap !--> + <param name="adata" value="tl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.diffmap"/> @@ -1214,8 +1432,6 @@ <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="groups=None"/> - <has_text_matching expression="components=None"/> <has_text_matching expression="projection='2d'"/> <has_text_matching expression="legend_loc='right margin'"/> <has_text_matching expression="legend_fontsize=1"/> @@ -1231,12 +1447,59 @@ </assert_stdout> <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 !--> + <param name="adata" value="tl.draw_graph.pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.draw_graph"/> + <param name="use_raw" value="false"/> + <conditional name="edges"> + <param name="edges" value="True"/> + <param name="edges_width" value="0.1"/> + <param name="edges_color" value="Crimson"/> + </conditional> + <param name="arrows" value="false"/> + <param name="sort_order" value="false"/> + <section name="plot"> + <param name="projection" value="2d"/> + <param name="legend_loc" value="right margin"/> + <param name="legend_fontweight" value="normal"/> + <param name="palette" value="viridis"/> + <param name="frameon" value="True"/> + <param name="ncols" value="4"/> + <param name="wspace" value="0.1"/> + <param name="hspace" value="0.25"/> + </section> + <section name="matplotlib_pyplot_scatter"> + <param name="linewidths" value="0"/> + <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> + <output name="out_png" file="pl.draw_graph.png" ftype="png" compare="sim_size"/> + </test> <!--<test> < test pl.dpt_groups_pseudotime > - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> - </conditional> + <param name="adata" value="tl.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.dpt_groups_pseudotime"/> @@ -1249,11 +1512,8 @@ <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 pl.dpt_timeseries !--> - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> - </conditional> + <!-- test 19: 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"> <param name="method" value="pl.dpt_timeseries"/> @@ -1271,10 +1531,7 @@ </test> <!--<test> test pl.paga - <conditional name="input"> - <param name="format" value="h5ad" /> - <param name="adata" value="tl.paga.neighbors.paul15_gauss_braycurtis.h5ad" /> - </conditional> + <param name="adata" value="tl.paga.neighbors.paul15_gauss_braycurtis.h5ad" /> <param name="format" value="png"/> <conditional name="method"> <param name="method" value="pl.paga"/> @@ -1296,6 +1553,71 @@ </conditional> <output name="out_png" file="pl.paga.paul15_gauss_braycurtis.png" ftype="png" compare="sim_size"/> </test>!--> + <!--<test> + test pl.paga_compare + </test>!--> + <!--<test> + test pl.paga_path + </test>!--> + <test> + <!-- test 20: pl.rank_genes_groups !--> + <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.rank_genes_groups"/> + <param name="n_genes" value="10"/> + <param name="fontsize" value="8"/> + <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> + <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 !--> + <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.rank_genes_groups_violin"/> + <conditional name="genes"> + <param name="select" value="n_genes"/> + <param name="n_genes" value="10"/> + </conditional> + <param name="use_raw" value="false"/> + <param name="split" value="true"/> + <section name="violin_plot"> + <conditional name="stripplot"> + <param name="stripplot" value="True"/> + <param name="jitter" value="True"/> + <param name="size" value="1"/> + </conditional> + <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> + <output_collection name="collection_png"> + <element name="Ery" file="pl.rank_genes_groups_violin.Ery.png" ftype="png" compare="sim_size"/> + <element name="Mk" file="pl.rank_genes_groups_violin.Mk.png" ftype="png" compare="sim_size"/> + <element name="Mo" file="pl.rank_genes_groups_violin.Mo.png" ftype="png" compare="sim_size"/> + <element name="Neu" file="pl.rank_genes_groups_violin.Neu.png" ftype="png" compare="sim_size"/> + <element name="progenitor" file="pl.rank_genes_groups_violin.progenitor.png" ftype="png" compare="sim_size"/> + </output_collection> + </test> </tests> <help><![CDATA[ Generic: Scatter plot along observations or variables axes (`pl.scatter`) @@ -1342,6 +1664,15 @@ Wraps `seaborn.violinplot` for `anndata.AnnData`. More details on the `scanpy documentation +<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.violin.html>`__ + +Generic: Stacked violin plots (`pl.stacked_violin`) +=================================================== + +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 <https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.stacked_violin.html>`__ Generic: Heatmap of the mean expression values per cluster (`pl.matrixplot`) @@ -1353,7 +1684,7 @@ category. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.matrixplot.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.matrixplot.html>`__ Generic: Hierarchically-clustered heatmap (`pl.clustermap`) =========================================================== @@ -1371,7 +1702,7 @@ Column indices, use: clustergrid.dendrogram_col.reordered_ind More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.clustermap.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.clustermap.html>`__ Preprocessing: Plot the fraction of counts assigned to each gene over all cells (`pl.highest_expr_genes`) ========================================================================================================= @@ -1380,30 +1711,36 @@ a cell. The `n_top` genes with the highest mean fraction over all cells are plotted as boxplots. -This plot is similar to the `scater` package function `plotHighestExprs(type= "highest-expression")`, see `here -<https://bioconductor.org/packages/devel/bioc/vignettes/scater/inst/doc/vignette-qc.html>`__. --- Davis McCarthy and Aaron Lun +This plot is similar to the `scater` package function `plotHighestExprs(type= "highest-expression")` More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.highest_expr_genes.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.highest_expr_genes.html>`__ + +Preprocessing: Plot dispersions versus means for genes (`pl.highly_variable_genes`) +=================================================================================== + +It produces Supp. Fig. 5c of Zheng et al. (2017) and MeanVarPlot() of Seurat. + +More details on the `scanpy documentation +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.highly_variable_genes.html>`__ PCA: Scatter plot in PCA coordinates (`pl.pca`) =============================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.pca.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.pca.html>`__ PCA: Rank genes according to contributions to PCs (`pl.pca_loadings`) ===================================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.pca_loadings.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.pca_loadings.html>`__ PCA: Plot the variance ratio (`pl.pca_variance_ratio`) ====================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.pca_variance_ratio.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.pca_variance_ratio.html>`__ PCA: Plot PCA results (`pl.pca_overview`) ========================================= @@ -1412,37 +1749,37 @@ if you want to change the default settings. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.pca_overview.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.pca_overview.html>`__ Embedding: Scatter plot in tSNE basis (`pl.tsne`) ================================================= More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.tsne.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.tsne.html>`__ Embeddings: Scatter plot in UMAP basis (`pl.umap`) ================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.umap.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.umap.html>`__ Embeddings: Scatter plot in Diffusion Map basis (`pl.diffmap`) ============================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.diffmap.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.diffmap.html>`__ Branching trajectories and pseudotime, clustering: Plot groups and pseudotime (`pl.dpt_groups_pseudotime`) =========================================================================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.dpt_groups_pseudotime.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.dpt_groups_pseudotime.html>`__ Branching trajectories and pseudotime, clustering: Heatmap of pseudotime series (`pl.dpt_timeseries`) ===================================================================================================== More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.dpt_timeseries.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.dpt_timeseries.html>`__ Branching trajectories and pseudotime, clustering: Plot the abstracted graph through thresholding low-connectivity edges (`pl.paga`) @@ -1455,9 +1792,32 @@ `maxiter` parameter by 1 if the layout is flipped. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.paga.html>`__ +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.paga.html>`__ +Branching trajectories and pseudotime, clustering: Scatter and PAGA graph side-by-side (`pl.paga_compare`) +========================================================================================================== + +More details on the `scanpy documentation +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.paga_compare.html>`__ + +Branching trajectories and pseudotime, clustering: Gene expression and annotation changes along paths (`pl.paga_path`) +====================================================================================================================== + +More details on the `scanpy documentation +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.paga_path.html>`__ + +Marker genes: Plot ranking of genes using dotplot plot (`pl.rank_genes_groups`) +=============================================================================== + +More details on the `scanpy documentation +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.rank_genes_groups.html>`__ + +Marker genes: Plot ranking of genes for all tested comparisons (`pl.rank_genes_groups_violin`) +============================================================================================== + +More details on the `scanpy documentation +<https://icb-scanpy.readthedocs-hosted.com/en/stable/api/scanpy.pl.rank_genes_groups_violin.html>`__ ]]></help> <expand macro="citations"/> </tool>