Mercurial > repos > iuc > scanpy_plot
changeset 12:1f380e8a6aec draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ commit c21958f44b81d740191999fb6015d5ae69538ee0
line wrap: on
line diff
--- a/macros.xml Wed Sep 22 21:07:11 2021 +0000 +++ b/macros.xml Wed Jul 31 18:07:15 2024 +0000 @@ -1,12 +1,17 @@ <macros> - <token name="@version@">1.7.1</token> - <token name="@profile@">19.01</token> - <token name="@galaxy_version@"><![CDATA[@version@+galaxy0]]></token> + <token name="@TOOL_VERSION@">1.9.6</token> + <token name="@VERSION_SUFFIX@">4</token> + <token name="@profile@">21.09</token> <xml name="requirements"> <requirements> - <requirement type="package" version="@version@">scanpy</requirement> - <requirement type="package" version="2.0.17">loompy</requirement> - <requirement type="package" version="0.8.3">leidenalg</requirement> + <requirement type="package" version="@TOOL_VERSION@">scanpy</requirement> + <requirement type="package" version="3.0.6">loompy</requirement> + <requirement type="package" version="0.10.1">leidenalg</requirement> + <requirement type="package" version="0.8.1">louvain</requirement> + <requirement type="package" version="1.5.3">pandas</requirement> + <requirement type="package" version="3.7">matplotlib</requirement> + <requirement type="package" version="0.12.2">seaborn</requirement> + <requirement type="package" version="3.0.0">magic-impute</requirement> <yield /> </requirements> </xml> @@ -15,9 +20,15 @@ <xref type="bio.tools">scanpy</xref> </xrefs> </xml> + <xml name="creators"> + <creator> + <organization name="European Galaxy Team" url="https://galaxyproject.org/eu/" /> + </creator> + </xml> <xml name="citations"> <citations> <citation type="doi">10.1186/s13059-017-1382-0</citation> + <citation type="doi">10.1093/gigascience/giaa102</citation> </citations> </xml> <xml name="version_command"> @@ -56,7 +67,7 @@ <param name="adata" type="data" format="h5ad" label="Annotated data matrix"/> </xml> <token name="@CMD_read_inputs@"><![CDATA[ -adata = sc.read('anndata.h5ad') +adata = sc.read_h5ad('anndata.h5ad') ]]> </token> <xml name="inputs_common_advanced"> @@ -66,12 +77,12 @@ </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" > + <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') +adata.write_h5ad('anndata.h5ad') with open('anndata_info.txt','w', encoding='utf-8') as ainfo: print(adata, file=ainfo) ]]> @@ -414,6 +425,7 @@ <param name="type" type="select" label="Variables to plot (columns of the heatmaps)" > <option value="all">All variables in 'adata.var_names'</option> <option value="custom">Subset of variables in 'adata.var_names'</option> + <option value="customfile">Subset of variables as a tabular file</option> </param> <when value="all"/> <when value="custom"> @@ -421,6 +433,9 @@ <expand macro="sanitize_query" /> </param> </when> + <when value="customfile"> + <param argument="var_names" type="data" format="tabular" label="List of variables to plot" help="This should be a tsv where row = group (e.g. celltypes) and columns = variables."></param> + </when> </conditional> </xml> <xml name="param_num_categories"> @@ -457,15 +472,17 @@ <expand macro="param_num_categories"/> </xml> <token name="@CMD_params_inputs@"><![CDATA[ - #if $method.var_names.type == 'all' - var_names=adata.var_names, -#else + #if $method.var_names.type == 'custom' #set $var_names = ([x.strip() for x in str($method.var_names.var_names).split(',')]) var_names=$var_names, -#end if -#if str($method.groupby) != '' + #else if $method.var_names.type == 'customfile' + var_names={key: [v for v in list(value.values()) if pd.notna(v)] for key, value in pd.read_csv('$var_names', sep='\t', index_col=0).to_dict(orient='index').items()}, + #else + var_names=adata.var_names, + #end if + #if $method.groupby groupby='$method.groupby', -#end if + #end if num_categories=$method.num_categories, ]]></token> <xml name="params_plots"> @@ -491,15 +508,15 @@ var_group_positions=$var_group_positions, var_group_labels=$var_group_labels, #end if -#if $method.var_group_rotation - var_group_rotation=$method.var_group_rotation, -#end if -#if $method.figsize.test == 'yes' - figsize=($method.figsize.width, $method.figsize.height), -#end if -#if $method.layer != '' - layer='$method.layer', -#end if + #if str($method.var_group_rotation) != '' + var_group_rotation=$method.var_group_rotation, + #end if + #if $method.figsize.test == 'yes' + figsize=($method.figsize.width, $method.figsize.height), + #end if + #if $method.layer + layer='$method.layer', + #end if ]]></token> <xml name="matplotlib_color"> <option value="AliceBlue">AliceBlue</option> @@ -652,9 +669,8 @@ <option value="YellowGreen">YellowGreen</option> </xml> <xml name="param_matplotlib_pyplot_edgecolors"> - <param argument="edgecolors" type="select" label="Edge color of the marker" help=""> + <param argument="edgecolors" type="select" optional="true" label="Edge color of the marker" help=""> <option value="face">The edge color will always be the same as the face color</option> - <option value="none">No patch boundary will be drawn</option> <expand macro="matplotlib_color"/> </param> </xml> @@ -692,17 +708,19 @@ </section> </xml> <token name="@CMD_params_matplotlib_pyplot_scatter@"><![CDATA[ - #if $method.matplotlib_pyplot_scatter.vmin + #if str($method.matplotlib_pyplot_scatter.vmin) != '' vmin=$method.matplotlib_pyplot_scatter.vmin, #end if - #if $method.matplotlib_pyplot_scatter.vmax + #if str($method.matplotlib_pyplot_scatter.vmax) != '' vmax=$method.matplotlib_pyplot_scatter.vmax, #end if - #if $method.matplotlib_pyplot_scatter.alpha + #if str($method.matplotlib_pyplot_scatter.alpha) != '' alpha=$method.matplotlib_pyplot_scatter.alpha, #end if - linewidths=$method.matplotlib_pyplot_scatter.linewidths, - edgecolors='$method.matplotlib_pyplot_scatter.edgecolors' + lw=$method.matplotlib_pyplot_scatter.linewidths, + #if $method.matplotlib_pyplot_scatter.edgecolors + ec='$method.matplotlib_pyplot_scatter.edgecolors' + #end if ]]></token> <xml name="conditional_stripplot"> <conditional name="stripplot"> @@ -742,13 +760,7 @@ </param> </xml> <token name="@CMD_params_violin_plots@"><![CDATA[ - stripplot=$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 + @CMD_conditional_stripplot@ multi_panel=$method.violin_plot.multi_panel.multi_panel, #if $method.multi_panel.violin_plot.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) @@ -766,7 +778,7 @@ <option value="h">horizontal</option> </param> <param argument="linewidth" type="float" value="0" label="Width of the gray lines that frame the plot elements" help=""/> - <param argument="color" type="select" label="Color for all of the elements" help=""> + <param argument="color" type="select" optional="true" label="Color for all of the elements" help=""> <expand macro="matplotlib_color"/> </param> <param argument="saturation" type="float" value="0.75" min="0" max="1" label="Proportion of the original saturation to draw colors at" help=""/> @@ -778,7 +790,9 @@ orient='$method.seaborn_violinplot.orient', #end if linewidth=$method.seaborn_violinplot.linewidth, + #if $method.seaborn_violinplot.color color='$method.seaborn_violinplot.color', + #end if saturation=$method.seaborn_violinplot.saturation ]]></token> <xml name="param_color"> @@ -787,7 +801,7 @@ </param> </xml> <token name="@CMD_param_color@"><![CDATA[ -#if str($method.color) != '' +#if $method.color #set $color = ([x.strip() for x in str($method.color).split(',')]) color=$color, #end if @@ -798,7 +812,7 @@ </param> </xml> <token name="@CMD_params_groups@"><![CDATA[ -#if str($method.groups) != '' +#if $method.groups #set $groups=([x.strip() for x in str($method.groups).split(',')]) groups=$groups, #end if @@ -868,14 +882,12 @@ </param> </xml> <xml name="param_palette"> - <param argument="palette" type="select" label="Colors to use for plotting categorical annotation groups" help=""> - <option value="default">Default</option> + <param argument="palette" type="select" optional="true" label="Colors to use for plotting categorical annotation groups" help=""> <expand macro="matplotlib_pyplot_colormap"/> </param> </xml> <xml name="param_color_map"> - <param argument="color_map" type="select" label="Color map to use for continous variables" help=""> - <option value="None">Default</option> + <param argument="color_map" type="select" optional="true" label="Color map to use for continous variables" help=""> <expand macro="matplotlib_pyplot_colormap"/> </param> </xml> @@ -931,7 +943,7 @@ </param> <when value="True"> <param argument="edges_width" type="float" min="0" value="0.1" label="Width of edges"/> - <param argument="edges_color" type="select" label="Color of edges"> + <param argument="edges_color" type="select" optional="true" label="Color of edges"> <expand macro="matplotlib_color"/> </param> </when> @@ -942,7 +954,9 @@ #if str($method.edges.edges) == 'True' edges=True, edges_width=$method.edges.edges_width, + #if $method.edges.edges_color edges_color='$method.edges.edges_color', + #end if #else edges=False, #end if @@ -952,7 +966,7 @@ <param argument="arrows" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Show arrows?" help="It requires to run 'tl.rna_velocity' before."/> </xml> <xml name="param_cmap"> - <param argument="cmap" type="select" label="Colors to use for plotting categorical annotation groups" help=""> + <param argument="cmap" type="select" optional="true" label="Colors to use for plotting categorical annotation groups" help=""> <expand macro="matplotlib_pyplot_colormap"/> </param> </xml> @@ -979,10 +993,10 @@ @CMD_param_legend_fontsize@ legend_fontweight='$method.plot.legend_fontweight', @CMD_param_size@ - #if str($method.plot.color_map) != 'None' + #if $method.plot.color_map color_map='$method.plot.color_map', #end if - #if str($method.plot.palette) != '' + #if $method.plot.palette palette='$method.plot.palette', #end if frameon=$method.plot.frameon, @@ -1052,18 +1066,18 @@ </xml> <token name="@CMD_params_pl_paga@"><![CDATA[ threshold=$method.threshold, -#if str($method.groups) != '' +#if $method.groups #set $groups=([x.strip() for x in str($method.groups).split(',')]) groups=$groups, #end if -#if str($method.color) != '' +#if $method.color #set $color=([x.strip() for x in str($method.color).split(',')]) color=$color, #end if #if $method.pos pos=np.fromfile($method.pos, dtype=dt), #end if -#if str($method.labels) != '' +#if $method.labels #set $labels=([x.strip() for x in str($method.labels).split(',')]) labels=$labels, #end if @@ -1072,7 +1086,7 @@ init_pos=np.fromfile($method.init_pos, dtype=dt), #end if random_state=$method.random_state, -#if str($method.root) != '' +#if $method.root #set $root=([int(x.strip()) for x in str($method.root).split(',')]) root=$root, #end if @@ -1088,15 +1102,17 @@ node_size_scale=$method.node_size_scale, node_size_power=$method.node_size_power, edge_width_scale=$method.edge_width_scale, -#if $method.min_edge_width +#if str($method.min_edge_width) != '' min_edge_width=$method.min_edge_width, #end if -#if $method.max_edge_width +#if str($method.max_edge_width) != '' max_edge_width=$method.max_edge_width, #end if arrowsize=$method.arrowsize, normalize_to_color=$method.normalize_to_color, + #if $method.cmap cmap='$method.cmap', + #end if #if $method.title title='$method.title', #end if @@ -1112,10 +1128,10 @@ </param> </xml> <xml name="param_n_genes"> - <param argument="n_genes" type="integer" min="0" value="10" label="Number of genes to show" help=""/> + <param argument="n_genes" type="integer" min="0" value="10" label="Number of genes to show" help="It is only used if you are not specifying certain variable names"/> </xml> <xml name="pl_dotplot"> - <param argument="color_map" type="select" label="Color palette"> + <param argument="color_map" type="select" optional="true" label="Color palette"> <expand macro="matplotlib_pyplot_colormap"/> </param> <param argument="dot_max" type="float" value="" min="0" max="1" optional="true" label="Maximum dot size" help="If none, the maximum dot size is set to the maximum fraction value found (e.g. 0.6). If given, the value should be a number between 0 and 1. All fractions larger than dot_max are clipped to this value."/> @@ -1123,7 +1139,9 @@ <expand macro="section_matplotlib_pyplot_scatter"/> </xml> <token name="@CMD_pl_dotplot@"><![CDATA[ + #if $method.color_map color_map='$method.color_map', + #end if #if str($method.dot_max) != '' dot_max=$method.dot_max, #end if @@ -1174,17 +1192,19 @@ <token name="@CMD_pl_heatmap@"><![CDATA[ swap_axes=$method.swap_axes, show_gene_labels=$method.show_gene_labels, + #if $method.matplotlib_pyplot_imshow.cmap cmap='$method.matplotlib_pyplot_imshow.cmap', + #end if #if str($method.matplotlib_pyplot_imshow.interpolation) != 'None' interpolation='$method.matplotlib_pyplot_imshow.interpolation', #end if - #if $method.matplotlib_pyplot_imshow.alpha + #if str($method.matplotlib_pyplot_imshow.alpha) != '' alpha=$method.matplotlib_pyplot_imshow.alpha, #end if - #if $method.matplotlib_pyplot_imshow.vmin + #if str($method.matplotlib_pyplot_imshow.vmin) != '' vmin=$method.matplotlib_pyplot_imshow.vmin, #end if - #if $method.matplotlib_pyplot_imshow.vmax + #if str($method.matplotlib_pyplot_imshow.vmax) != '' vmax=$method.matplotlib_pyplot_imshow.vmax, #end if origin='$method.matplotlib_pyplot_imshow.origin' @@ -1197,10 +1217,8 @@ </xml> <token name="@CMD_pl_rank_genes_groups_ext@"><![CDATA[ @CMD_params_groups@ - #if str($method.n_genes) != '' n_genes=$method.n_genes, - #end if - #if str($method.key) != '' + #if $method.key key='$method.key', #end if ]]> @@ -1208,7 +1226,7 @@ <xml name="pl_matrixplot"> <expand macro="param_swap_axes"/> <section name="matplotlib_pyplot_pcolor" title="Parameters for matplotlib.pyplot.pcolor"> - <param argument="cmap" type="select" label="Color palette"> + <param argument="cmap" type="select" optional="true" label="Color palette"> <expand macro="seaborn_color_palette_options"/> </param> <param argument="vmin" type="float" value="" optional="true" label="Minimum value to anchor the colormap" help=""/> @@ -1220,15 +1238,19 @@ </xml> <token name="@CMD_pl_matrixplot@"><![CDATA[ swap_axes=$method.swap_axes, + #if $method.matplotlib_pyplot_pcolor.cmap cmap='$method.matplotlib_pyplot_pcolor.cmap', - #if $method.matplotlib_pyplot_pcolor.vmin + #end if + #if str($method.matplotlib_pyplot_pcolor.vmin) != '' vmin=$method.matplotlib_pyplot_pcolor.vmin, #end if - #if $method.matplotlib_pyplot_pcolor.vmax + #if str($method.matplotlib_pyplot_pcolor.vmax) != '' vmax=$method.matplotlib_pyplot_pcolor.vmax, #end if - edgecolors='$method.matplotlib_pyplot_pcolor.edgecolors', - #if $method.matplotlib_pyplot_pcolor.alpha + #if $method.matplotlib_pyplot_pcolor.edgecolors + ec='$method.matplotlib_pyplot_pcolor.edgecolors', + #end if + #if str($method.matplotlib_pyplot_pcolor.alpha) != '' alpha=$method.matplotlib_pyplot_pcolor.alpha, #end if snap=$method.matplotlib_pyplot_pcolor.snap @@ -1240,7 +1262,7 @@ <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"> + <param argument="row_palette" type="select" optional="true" label="Colors to use in each of the stacked violin plots"> <option value="muted">muted</option> <expand macro="seaborn_color_palette_options"/> </param> @@ -1255,7 +1277,9 @@ swap_axes=$method.swap_axes, @CMD_conditional_stripplot@ scale='$method.violin_plot.scale', + #if $method.row_palette row_palette='$method.row_palette', + #end if #if str($method.standard_scale) != 'None' standard_scale='$method.standard_scale', #end if
--- a/plot.xml Wed Sep 22 21:07:11 2021 +0000 +++ b/plot.xml Wed Jul 31 18:07:15 2024 +0000 @@ -1,9 +1,9 @@ -<tool id="scanpy_plot" name="Plot" version="1.7.1+galaxy1" profile="@profile@"> +<tool id="scanpy_plot" name="Plot" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@profile@"> <description> with scanpy</description> - <expand macro="bio_tools"/> <macros> <import>macros.xml</import> </macros> + <expand macro="bio_tools"/> <expand macro="requirements"/> <stdio> <regex match="... storing" source="stderr" level="warning"/> @@ -21,23 +21,44 @@ #if $method.method == 'pl.scatter' +#if $method.type.type == 'xy': +x_field='$method.type.x' +y_field='$method.type.y' + +#if $method.type.log: +if x_field in adata.obs or x_field in adata.var: + if x_field in adata.obs: + adata.obs[f"log_{x_field}"] = np.log10(adata.obs[x_field]) + elif x_field in adata.var: + adata.var[f"log_{x_field}"] = np.log10(adata.var[x_field]) + x_field=f"log_{x_field}" + +if y_field in adata.obs or y_field in adata.var: + if y_field in adata.obs: + adata.obs[f"log_{y_field}"] = np.log10(adata.obs[y_field]) + elif y_field in adata.var: + adata.var[f"log_{y_field}"] = np.log10(adata.var[y_field]) + y_field=f"log_{y_field}" +#end if +#end if + sc.pl.scatter( @CMD_param_plot_inputs@ - #if $method.type.type == 'xy' - x='$method.type.x', - y='$method.type.y', - #if str($method.type.color) != '' + #if $method.type.type == 'xy': + x=x_field, + y=y_field, + #if $method.type.color color='$method.type.color', - #end if - #if str('$method.type.layers.use_layers') == 'true' + #end if + #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 + #end if #else basis='$method.type.basis', - #if str($method.type.color) != '' - #set $color = ([x.strip() for x in str($method.type.color).split(',')]) + #if $method.type.color + #set $color = ([x.strip() for x in str($method.type.color).split(',')]) color=$color, - #end if + #end if #end if use_raw=$method.use_raw, sort_order=$method.sort_order, @@ -45,10 +66,10 @@ @CMD_params_pl_components@ projection='$method.plot.projection', legend_loc='$method.plot.legend_loc', - #if $method.plot.palette != 'default' + #if $method.plot.palette palette=['$method.plot.palette'], #end if - #if $method.plot.color_map != 'None' + #if $method.plot.color_map color_map='$method.plot.color_map', #end if @CMD_param_legend_fontsize@ @@ -60,7 +81,7 @@ #else if $method.method == 'pl.heatmap' sc.pl.heatmap( @CMD_param_plot_inputs@ - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if @CMD_params_inputs@ @@ -70,7 +91,7 @@ #else if $method.method == 'pl.dotplot' sc.pl.dotplot( @CMD_param_plot_inputs@ - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if @CMD_params_inputs@ @@ -102,7 +123,7 @@ #if $method.xlabel xlabel='$method.xlabel', #end if - #if $method.rotation + #if str($method.rotation) != '' rotation=$method.rotation, #end if @CMD_params_seaborn_violinplot@) @@ -110,7 +131,7 @@ #else if $method.method == 'pl.stacked_violin' sc.pl.stacked_violin( @CMD_param_plot_inputs@ - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if @CMD_params_inputs@ @@ -120,7 +141,7 @@ #else if $method.method == 'pl.matrixplot' sc.pl.matrixplot( @CMD_param_plot_inputs@ - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if @CMD_params_inputs@ @@ -135,7 +156,7 @@ adata=adata, #end if show=False, - #if str($method.obs_keys) != '' + #if $method.obs_keys obs_keys='$method.obs_keys', #end if use_raw=$method.use_raw, @@ -154,13 +175,13 @@ sc.pl.highest_expr_genes( @CMD_param_plot_inputs@ n_top=$method.n_top, - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if - #if str($method.setseaborn_boxplot.color) != '' + #if $method.setseaborn_boxplot.color color='$method.setseaborn_boxplot.color', #end if - #if str($method.setseaborn_boxplot.palette) != 'None' + #if $method.setseaborn_boxplot.palette palette='$method.setseaborn_boxplot.palette', #end if saturation=$method.setseaborn_boxplot.saturation) @@ -248,7 +269,7 @@ sc.pl.draw_graph( @CMD_param_plot_inputs@ @CMD_param_color@ - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if use_raw=$method.use_raw, @@ -265,10 +286,33 @@ @CMD_pl_attribute_section@ @CMD_params_matplotlib_pyplot_scatter@) +#else if $method.method == 'pl.embedding_density' +sc.pl.embedding_density( + @CMD_param_plot_inputs@ + basis='$method.basis', + #if $method.key + key='$method.key', + #end if + #if $method.groupby + groupby='$method.groupby', + #end if + #if $method.group + #set $group = ([x.strip() for x in str($method.group).split(',')]) + group=$group, + #end if + #if $method.color_map + color_map='$method.color_map', + #end if + bg_dotsize=$method.bg_dotsize, + fg_dotsize=$method.fg_dotsize, + ncols=$method.ncols, + wspace=$method.wspace, + hspace=$method.hspace) + #else if $method.method == 'pl.dpt_groups_pseudotime' sc.pl.dpt_groups_pseudotime( @CMD_param_plot_inputs@ - #if str($method.color_map) != '' + #if $method.color_map color_map='$method.color_map' #end if ) @@ -277,7 +321,7 @@ sc.pl.dpt_timeseries( @CMD_param_plot_inputs@ #if $method.heatmap.as_heatmap == "True" - #if str($method.heatmap.color_map) != '' + #if $method.heatmap.color_map color_map='$method.heatmap.color_map', #end if #end if @@ -301,15 +345,15 @@ #set $keys=([x.strip() for x in str($method.keys).split(',')]) keys=$keys, use_raw=$method.use_raw, - #if str($method.annotations) != '' + #if $method.annotations #set $annotations=([x.strip() for x in str($method.annotations).split(',')]) annotations=$annotations, #end if - #if str($method.color_map) != '' + #if $method.color_map color_map='$method.color_map', #end if n_avg=$method.n_avg, - #if str($method.annotations) != '' + #if $method.annotations groups_key='$method.groups_key', #end if as_heatmap=$method.as_heatmap, @@ -323,7 +367,7 @@ @CMD_param_plot_inputs@ @CMD_params_groups@ n_genes=$method.n_genes, - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if fontsize=$method.fontsize, @@ -340,7 +384,7 @@ #set $gene_names = ([x.strip() for x in str($method.genes.gene_names).split(',')]) gene_names=$gene_names, #end if - #if str($method.gene_symbols) != '' + #if $method.gene_symbols gene_symbols='$method.gene_symbols', #end if use_raw=$method.use_raw, @@ -358,6 +402,9 @@ sc.pl.rank_genes_groups_dotplot( @CMD_param_plot_inputs@ @CMD_pl_rank_genes_groups_ext@ + #if $method.gene_symbols + gene_symbols='$method.gene_symbols', + #end if @CMD_params_plots@ @CMD_pl_dotplot@) @@ -366,6 +413,9 @@ @CMD_param_plot_inputs@ @CMD_pl_rank_genes_groups_ext@ @CMD_params_plots@ + #if $method.gene_symbols + gene_symbols='$method.gene_symbols', + #end if @CMD_pl_heatmap@) #else if $method.method == 'pl.rank_genes_groups_matrixplot' @@ -373,6 +423,9 @@ @CMD_param_plot_inputs@ @CMD_pl_rank_genes_groups_ext@ @CMD_params_plots@ + #if $method.gene_symbols + gene_symbols='$method.gene_symbols', + #end if @CMD_pl_matrixplot@) #else if $method.method == 'pl.rank_genes_groups_stacked_violin' @@ -380,6 +433,9 @@ @CMD_param_plot_inputs@ @CMD_pl_rank_genes_groups_ext@ @CMD_params_plots@ + #if $method.gene_symbols + gene_symbols='$method.gene_symbols', + #end if @CMD_pl_stacked_violin@) #end if @@ -397,7 +453,6 @@ <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: Plot dispersions versus means for genes, using 'pl.highly_variable_genes'</option> @@ -409,15 +464,14 @@ <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: Scatter plot in graph-drawing basis, using 'pl.draw_graph'</option> + <option value="pl.embedding_density">Embeddings: Plot the density of cells in an embedding (per condition), using 'pl.embedding_density'</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: 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> - <!-- doesn't currenty work: https://github.com/galaxyproject/tools-iuc/pull/3485#issuecomment-800055967 <option value="pl.rank_genes_groups_violin">Marker genes: Plot ranking of genes as violin plot, using 'pl.rank_genes_groups_violin'</option> - --> <option value="pl.rank_genes_groups_dotplot">Marker genes: Plot ranking of genes as dotplot plot, using 'pl.rank_genes_groups_dotplot'</option> <option value="pl.rank_genes_groups_heatmap">Marker genes: Plot ranking of genes as heatmap plot, using 'pl.rank_genes_groups_heatmap'</option> <option value="pl.rank_genes_groups_matrixplot">Marker genes: Plot ranking of genes as matrixplot plot, using 'pl.rank_genes_groups_matrixplot'</option> @@ -436,6 +490,7 @@ <param argument="y" type="text" value="" label="y coordinate" help="Index or key from either '.obs' or '.var'"> <expand macro="sanitize_query" /> </param> + <expand macro="param_log"/> <param argument="color" type="text" value="" label="Color by" help="Color points by single variable in `.obs` or `.var`"> <expand macro="sanitize_query" /> </param> @@ -666,6 +721,27 @@ <expand macro="pl_attribute_section"/> <expand macro="section_matplotlib_pyplot_scatter"/> </when> + <when value="pl.embedding_density"> + <param argument="basis" type="text" value="umap" label="The embedding over which the density was calculated." help="This embedded representation should be found in adata.obsm['X_[basis]']"> + <expand macro="sanitize_query" /> + </param> + <param argument="key" type="text" optional="true" value="" label="Name of the .obs covariate that contains the density estimates" help="Alternatively, pass _groupby_."> + <expand macro="sanitize_query" /> + </param> + <param argument="groupby" type="text" optional="true" value="" label="Name of the condition used in tl.embedding_density" help="Alternatively, pass _key_."> + <expand macro="sanitize_query" /> + </param> + <param argument="group" type="text" optional="all" value="" label="The category in the categorical observation annotation to be plotted" + help="For example, 'G1' in the cell cycle 'phase' covariate. If multiple categories want to be plotted use a comma separated list"> + <expand macro="sanitize_query" /> + </param> + <expand macro="param_color_map"/> + <param argument="bg_dotsize" type="integer" min="0" value="80" label="Dot size for background data points not in the group"/> + <param argument="fg_dotsize" type="integer" min="0" value="180" label="Dot size for foreground data points in the group"/> + <expand macro="param_ncols"/> + <expand macro="param_wspace"/> + <expand macro="param_hspace"/> + </when> <when value="pl.dpt_groups_pseudotime"> <expand macro="param_color_map"/> </when> @@ -730,7 +806,7 @@ </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"> - <expand macro="sanitize_query" /> + <expand macro="sanitize_query" /> </param> </when> </conditional> @@ -745,45 +821,49 @@ <when value="pl.rank_genes_groups_dotplot"> <expand macro="pl_rank_genes_groups_ext"/> <expand macro="params_plots"/> + <expand macro="gene_symbols"/> <expand macro="pl_dotplot"/> </when> <when value="pl.rank_genes_groups_heatmap"> <expand macro="pl_rank_genes_groups_ext"/> <expand macro="params_plots"/> + <expand macro="gene_symbols"/> <expand macro="pl_heatmap"/> </when> <when value="pl.rank_genes_groups_matrixplot"> <expand macro="pl_rank_genes_groups_ext"/> <expand macro="params_plots"/> + <expand macro="gene_symbols"/> <expand macro="pl_matrixplot"/> </when> <when value="pl.rank_genes_groups_stacked_violin"> <expand macro="pl_rank_genes_groups_ext"/> <expand macro="params_plots"/> + <expand macro="gene_symbols"/> <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}"> + <data name="out_png" format="png" from_work_dir="*.png" label="PNG plot from ${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}"> + <collection name="collection_png" type="list" label="PNG plots from ${tool.name} (${method.method}) on ${on_string}"> <discover_datasets pattern="rank_genes_groups_(?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 name="out_pdf" format="pdf" from_work_dir="*.pdf" label="PDF plot from ${tool.name} (${method.method}) on ${on_string}"> + <filter>format == 'pdf' and method['method'] != 'pl.rank_genes_groups_violin'</filter> </data> - <collection name="collection_pdf" type="list" label="${tool.name} (${method.method}) on ${on_string}"> + <collection name="collection_pdf" type="list" label="PDF plots from ${tool.name} (${method.method}) on ${on_string}"> <discover_datasets pattern="rank_genes_groups_(?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}"> + <data name="out_svg" format="svg" from_work_dir="*.svg" label="SVG plot from ${tool.name} (${method.method}) on ${on_string}"> <filter>format == 'svg' and method['method'] != pl.rank_genes_groups_violin</filter> </data> - <collection name="collection_svg" type="list" label="${tool.name} (${method.method}) on ${on_string}"> + <collection name="collection_svg" type="list" label="SVG plots from ${tool.name} (${method.method}) on ${on_string}"> <discover_datasets pattern="rank_genes_groups_(?P<designation>.*).svg" format="svg"/> <filter>format == 'svg' and method['method'] == 'pl.rank_genes_groups_violin'</filter> </collection> @@ -792,8 +872,8 @@ </data> </outputs> <tests> - <test> - <!-- test 0: pl.scatter !--> + <test expect_num_outputs="2"> + <!-- test 1: pl.scatter --> <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -837,8 +917,8 @@ </output> <output name="out_png" file="pl.scatter.umap.pbmc68k_reduced.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 1: pl.scatter !--> + <test expect_num_outputs="2"> + <!-- test 2: pl.scatter --> <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -870,8 +950,8 @@ <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="x_field='EKLF'" /> + <has_text_matching expression="y_field='Cebpa'"/> <has_text_matching expression="use_raw=False"/> <has_text_matching expression="sort_order=True"/> <has_text_matching expression="projection='2d'"/> @@ -885,8 +965,8 @@ </output> <output name="out_png" file="pl.scatter.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 2: pl.heatmap !--> + <test expect_num_outputs="2"> + <!-- test 3: pl.heatmap --> <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -933,8 +1013,8 @@ </output> <output name="out_png" file="pl.heatmap.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 2.1: pl.heatmap with symbols !--> + <test expect_num_outputs="2"> + <!-- test 4: pl.heatmap with symbols --> <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -983,8 +1063,8 @@ </assert_contents> </output> </test> - <test> - <!-- test 3: pl.dotplot !--> + <test expect_num_outputs="2"> + <!-- test 5: pl.dotplot --> <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1036,14 +1116,14 @@ <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'"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='face'"/> </assert_contents> </output> <output name="out_png" file="pl.dotplot.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 3.1: pl.dotplot with symbols !--> + <test expect_num_outputs="2"> + <!-- test 6: pl.dotplot with symbols --> <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1080,8 +1160,8 @@ </assert_contents> </output> </test> - <test> - <!-- test 4: pl.violin !--> + <test expect_num_outputs="2"> + <!-- test 7: pl.violin --> <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1137,8 +1217,8 @@ </output> <output name="out_png" file="pl.violin.pbmc68k_reduced_custom.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 5: pl.stacked_violin !--> + <test expect_num_outputs="2"> + <!-- test 8: pl.stacked_violin --> <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1197,8 +1277,8 @@ </output> <output name="out_png" file="pl.stacked_violin.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 5.1: pl.stacked_violin with symbols !--> + <test expect_num_outputs="2"> + <!-- test 9: pl.stacked_violin with symbols --> <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1232,8 +1312,8 @@ </assert_contents> </output> </test> - <test> - <!-- test 6: pl.matrixplot !--> + <test expect_num_outputs="2"> + <!-- test 10: pl.matrixplot --> <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1270,14 +1350,14 @@ <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="ec='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 6.1: pl.matrixplot with symbols !--> + <test expect_num_outputs="2"> + <!-- test 11: pl.matrixplot with symbols --> <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1316,8 +1396,8 @@ </assert_contents> </output> </test> - <test> - <!-- test 7: pl.clustermap !--> + <test expect_num_outputs="2"> + <!-- test 12: pl.clustermap --> <param name="adata" value="krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1348,8 +1428,8 @@ </output> <output name="out_png" file="pl.clustermap.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 8: pl.highest_expr_genes !--> + <test expect_num_outputs="2"> + <!-- test 13: pl.highest_expr_genes --> <param name="adata" value="pp.filter_genes_dispersion.krumsiek11-seurat.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1375,8 +1455,8 @@ </output> <output name="out_png" file="pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 9: pl.highly_variable_genes !--> + <test expect_num_outputs="2"> + <!-- test 14: pl.highly_variable_genes --> <param name="adata" value="pp.highly_variable_genes.seurat.blobs.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1397,8 +1477,8 @@ </output> <output name="out_png" file="pl.highly_variable_genes.seurat.blobs.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 10: pl.pca !--> + <test expect_num_outputs="2"> + <!-- test 15: pl.pca --> <param name="adata" value="pbmc68k_reduced.h5ad" /> <param name="format" value="pdf"/> <conditional name="method"> @@ -1452,14 +1532,14 @@ <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" /> + <has_text_matching expression="lw=0.0" /> + <has_text_matching expression="ec='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 11: pl.pca_loadings !--> + <test expect_num_outputs="2"> + <!-- test 16: pl.pca_loadings --> <param name="adata" value="pp.pca.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1477,8 +1557,8 @@ </output> <output name="out_png" file="pl.pca_loadings.pp.pca.krumsiek11.png" compare="sim_size"/> </test> - <test> - <!-- test 12: pl.pca_variance_ratio !--> + <test expect_num_outputs="2"> + <!-- test 17: pl.pca_variance_ratio --> <param name="adata" value="pp.pca.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1498,8 +1578,8 @@ </output> <output name="out_png" file="pl.pca_variance_ratio.pp.pca.krumsiek11.png" compare="sim_size"/> </test> - <test> - <!-- test 13: pl.pca_overview !--> + <test expect_num_outputs="2"> + <!-- test 18: pl.pca_overview --> <param name="adata" value="pp.pca.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1541,8 +1621,8 @@ </output> <output name="out_png" file="pl.pca_overview.pp.pca.krumsiek11.png" compare="sim_size"/> </test> - <test> - <!-- test 14: pl.tsne !--> + <test expect_num_outputs="2"> + <!-- test 19: pl.tsne --> <param name="adata" value="tl.tsne.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1590,14 +1670,14 @@ <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'"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='face'"/> </assert_contents> </output> <output name="out_png" file="pl.tsne.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 15: pl.umap !--> + <test expect_num_outputs="2"> + <!-- test 20: pl.umap --> <param name="adata" value="tl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1650,14 +1730,14 @@ <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'"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='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 16: pl.diffmap !--> + <test expect_num_outputs="2"> + <!-- test 21: pl.diffmap --> <param name="adata" value="tl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1701,14 +1781,14 @@ <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'"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='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 17: pl.draw_graph !--> + <test expect_num_outputs="2"> + <!-- test 22: 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"> @@ -1757,28 +1837,54 @@ <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"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='face"/> </assert_contents> </output> <output name="out_png" file="pl.draw_graph.png" ftype="png" compare="sim_size"/> </test> - <!--<test> - < test pl.dpt_groups_pseudotime > + <test expect_num_outputs="2"> + <!-- test 23: pl.embedding_density --> + <param name="adata" value="tl.embedding_density.umap.pbmc68k_reduced.h5ad" /> + <param name="format" value="png"/> + <conditional name="method"> + <param name="method" value="pl.embedding_density"/> + <param name="basis" value="umap"/> + <param name="key" value="umap_density_bulk_labels"/> + </conditional> + <section name="advanced_common"> + <param name="show_log" value="true" /> + </section> + <output name="hidden_output"> + <assert_contents> + <has_text_matching expression="sc.pl.embedding_density"/> + <has_text_matching expression="basis='umap'" /> + <has_text_matching expression="key='umap_density_bulk_labels'"/> + </assert_contents> + </output> + <output name="out_png" file="pl.embedding_density.pbmc68k_reduced.png" ftype="png" compare="sim_size"/> + </test> + <test expect_num_outputs="2"> + <!-- test 24: pl.dpt_groups_pseudotime --> <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"/> <param name="color_map" value="viridis"/> </conditional> - <assert_stdout> - <has_text_matching expression="sc.pl.dpt_groups_pseudotime"/> - <has_text_matching expression="color_map='viridis'"/> - </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_groups_pseudotime"/> + <has_text_matching expression="color_map='viridis'"/> + </assert_contents> + </output> <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 18: pl.dpt_timeseries !--> + </test> + <test expect_num_outputs="2"> + <!-- test 25: 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"> @@ -1800,15 +1906,14 @@ </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> - test pl.paga + <test expect_num_outputs="1"> + <!-- test 26: pl.paga --> <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"/> <param name="threshold" value="0.01"/> - <param name="color" value="paul15_clusters"/> - <param name="labels" value="label" /> + <param name="color" value="louvain"/> <param name="layout" value="fr"/> <param name="random_state" value="0"/> <param name="solid_edges" value="connectivities"/> @@ -1823,19 +1928,40 @@ <param name="frameon" value="True"/> </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> + <test expect_num_outputs="1"> + <!-- test 27: pl.paga_compare --> + <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_compare"/> + <param name="threshold" value="0.01"/> + <param name="color" value="louvain"/> + <param name="layout" value="fr"/> + <param name="random_state" value="0"/> + <param name="solid_edges" value="connectivities"/> + <param name="single_component" value="False"/> + <param name="fontsize" value="1"/> + <param name="node_size_scale" value="1.0"/> + <param name="node_size_power" value="0.5"/> + <param name="edge_width_scale" value="5"/> + <param name="arrowsize" value="30"/> + <param name="normalize_to_color" value="False"/> + <param name="cmap" value="viridis"/> + <param name="frameon" value="True"/> + </conditional> + <output name="out_png" file="pl.paga_compare.paul15_gauss_braycurtis.png" ftype="png" compare="sim_size"/> + </test> + <!--<test expect_num_outputs="2"> test pl.paga_path - </test>!--> - <test> - <!-- test 19: pl.rank_genes_groups !--> + </test>--> + <test expect_num_outputs="2"> + <!-- test 28: 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="gene_symbols" value="symbol"/> <param name="n_genes" value="10"/> <param name="fontsize" value="8"/> <param name="ncols" value="4"/> @@ -1855,8 +1981,8 @@ </output> <output name="out_png" file="pl.rank_genes_groups.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <!-- test 20: pl.rank_genes_groups_violin, currently broken - <test> + <test expect_num_outputs="2"> + <!-- test 29: pl.rank_genes_groups_violin --> <param name="adata" value="tl.rank_genes_groups.krumsiek11.h5ad" /> <param name="format" value="png"/> <conditional name="method"> @@ -1899,13 +2025,13 @@ <element name="cell_type_progenitor" file="pl.rank_genes_groups_violin.progenitor.png" ftype="png" compare="sim_size"/> </output_collection> </test> - --> - <test> - <!-- test 21: pl.rank_genes_groups_dotplot !--> + <test expect_num_outputs="2"> + <!-- test 30: pl.rank_genes_groups_dotplot --> <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_dotplot"/> + <param name="gene_symbols" value="symbol"/> <param name="n_genes" value="10"/> <param name="log" value="False"/> <param name="use_raw" value="False"/> @@ -1927,18 +2053,19 @@ <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'"/> + <has_text_matching expression="lw=0.0"/> + <has_text_matching expression="ec='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 22: pl.rank_genes_groups_heatmap !--> + <test expect_num_outputs="2"> + <!-- test 31: pl.rank_genes_groups_heatmap --> <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_heatmap"/> + <param name="gene_symbols" value="symbol"/> <param name="n_genes" value="10"/> <param name="log" value="False"/> <param name="use_raw" value="False"/> @@ -1969,12 +2096,13 @@ </output> <output name="out_png" file="pl.rank_genes_groups_heatmap.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/> </test> - <test> - <!-- test 23: pl.rank_genes_groups_matrixplot !--> + <test expect_num_outputs="2"> + <!-- test 32: pl.rank_genes_groups_matrixplot --> <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_matrixplot"/> + <param name="gene_symbols" value="symbol"/> <param name="n_genes" value="10"/> <param name="log" value="False"/> <param name="use_raw" value="False"/> @@ -1998,18 +2126,19 @@ <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="ec='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 24: pl.rank_genes_groups_stacked_violin !--> + <test expect_num_outputs="2"> + <!-- test 33: pl.rank_genes_groups_stacked_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_stacked_violin"/> + <param name="gene_symbols" value="symbol"/> <param name="n_genes" value="10"/> <param name="log" value="False"/> <param name="use_raw" value="False"/> @@ -2057,6 +2186,53 @@ </output> <output name="out_png" file="pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png" ftype="png" compare="sim_size"/> </test> + <test expect_num_outputs="2"> + <!-- test 34: pl.scatter log !--> + <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="xy"/> + <param name="x" value="n_genes"/> + <param name="y" value="n_counts"/> + <param name="log" value="True"/> + <conditional name="layers"> + <param name="use_layers" value="false"/> + </conditional> + </conditional> + <param name="use_raw" value="False"/> + <param name="sort_order" value="True"/> + <section name="plot"> + <param name="projection" value="2d"/> + <param name="legend_loc" value="right margin"/> + <param name="legend_fontsize" value="1"/> + <param name="legend_fontweight" value="normal"/> + <param name="palette" value="bwr"/> + <param name="frameon" value="False"/> + <param name="size" value="1"/> + <param name="title" value="A title"/> + </section> + </conditional> + <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="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="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.pbmc68k_reduced.png" ftype="png" compare="sim_size"/> + </test> </tests> <help><![CDATA[ Generic: Scatter plot along observations or variables axes (`pl.scatter`) @@ -2066,7 +2242,7 @@ (`.var`) or expression of genes (`.var_names`). More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.scatter.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.scatter.html>`__ Generic: Heatmap of the expression values of set of genes (`pl.heatmap`) ======================================================================== @@ -2078,7 +2254,7 @@ specified in `num_categories`. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.heatmap.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.heatmap.html>`__ Generic: Makes a dot plot of the expression values (`pl.dotplot`) ================================================================= @@ -2095,7 +2271,7 @@ expressing the gene can be visualized for each cluster. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.dotplot.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.dotplot.html>`__ Generic: Violin plot (`pl.violin`) ================================== @@ -2103,7 +2279,7 @@ Wraps `seaborn.violinplot` for `anndata.AnnData`. More details on the `scanpy documentation -<https://scanpy.readthedocs.io/en/latest/api/scanpy.pl.violin.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.violin.html>`__ Generic: Stacked violin plots (`pl.stacked_violin`) =================================================== @@ -2112,7 +2288,7 @@ 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>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.stacked_violin.html>`__ Generic: Heatmap of the mean expression values per cluster (`pl.matrixplot`) ============================================================================ @@ -2123,7 +2299,7 @@ category. More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.matrixplot.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.matrixplot.html>`__ Generic: Hierarchically-clustered heatmap (`pl.clustermap`) =========================================================== @@ -2141,7 +2317,7 @@ Column indices, use: clustergrid.dendrogram_col.reordered_ind More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.clustermap.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/scanpy.pl.clustermap.html>`__ Preprocessing: Plot the fraction of counts assigned to each gene over all cells (`pl.highest_expr_genes`) ========================================================================================================= @@ -2153,7 +2329,7 @@ This plot is similar to the `scater` package function `plotHighestExprs(type= "highest-expression")` More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.highest_expr_genes.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.highest_expr_genes.html>`__ Preprocessing: Plot dispersions versus means for genes (`pl.highly_variable_genes`) =================================================================================== @@ -2161,25 +2337,25 @@ 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/@version@/api/scanpy.pl.highly_variable_genes.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.highly_variable_genes.html>`__ PCA: Scatter plot in PCA coordinates (`pl.pca`) =============================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.pca.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.pca.html>`__ PCA: Rank genes according to contributions to PCs (`pl.pca_loadings`) ===================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.pca_loadings.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.pca_loadings.html>`__ PCA: Plot the variance ratio (`pl.pca_variance_ratio`) ====================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.pca_variance_ratio.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.pca_variance_ratio.html>`__ PCA: Plot PCA results (`pl.pca_overview`) ========================================= @@ -2188,37 +2364,37 @@ if you want to change the default settings. More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.pca_overview.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.pca_overview.html>`__ Embedding: Scatter plot in tSNE basis (`pl.tsne`) ================================================= More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.tsne.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.tsne.html>`__ Embeddings: Scatter plot in UMAP basis (`pl.umap`) ================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.umap.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.umap.html>`__ Embeddings: Scatter plot in Diffusion Map basis (`pl.diffmap`) ============================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.diffmap.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.diffmap.html>`__ Branching trajectories and pseudotime, clustering: Plot groups and pseudotime (`pl.dpt_groups_pseudotime`) =========================================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.dpt_groups_pseudotime.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/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://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.dpt_timeseries.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.dpt_timeseries.html>`__ Branching trajectories and pseudotime, clustering: Plot the abstracted graph through thresholding low-connectivity edges (`pl.paga`) @@ -2231,56 +2407,56 @@ `maxiter` parameter by 1 if the layout is flipped. More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.paga.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/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/@version@/api/scanpy.pl.paga_compare.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/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/@version@/api/scanpy.pl.paga_path.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/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/@version@/api/scanpy.pl.rank_genes_groups.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups.html>`__ Marker genes: Plot ranking of genes as violin plot (`pl.rank_genes_groups_violin`) ================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.rank_genes_groups_violin.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups_violin.html>`__ Marker genes: Plot ranking of genes as dotplot plot (`pl.rank_genes_groups_dotplot`) ==================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.rank_genes_groups_dotplot.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups_dotplot.html>`__ Marker genes: Plot ranking of genes as heatmap plot (`pl.rank_genes_groups_heatmap`) ==================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.rank_genes_groups_heatmap.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups_heatmap.html>`__ Marker genes: Plot ranking of genes as matrixplot plot (`pl.rank_genes_groups_matrixplot`) ========================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.rank_genes_groups_matrixplot.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups_matrixplot.html>`__ Marker genes: Plot ranking of genes as stacked violin plot (`pl.rank_genes_groups_stacked_violin`) ================================================================================================== More details on the `scanpy documentation -<https://icb-scanpy.readthedocs-hosted.com/en/@version@/api/scanpy.pl.rank_genes_groups_stacked_violin.html>`__ +<https://scanpy.readthedocs.io/en/stable/api/generated/scanpy.pl.rank_genes_groups_stacked_violin.html>`__ ]]></help> <expand macro="citations"/> </tool>
Binary file test-data/pl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png has changed
Binary file test-data/pl.dpt_groups_pseudotime.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png has changed
Binary file test-data/pl.dpt_timeseries.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.png has changed
Binary file test-data/pl.highest_expr_genes.filter_genes_dispersion.krumsiek11-seurat.png has changed
Binary file test-data/pl.rank_genes_groups_stacked_violin.rank_genes_groups.krumsiek11.png has changed
Binary file test-data/pl.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.png has changed
Binary file test-data/pp.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.dpt.diffmap.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.draw_graph.pp.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.embedding_density.umap.neighbors_umap_euclidean.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.leiden.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.louvain.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
Binary file test-data/tl.paga.neighbors_gauss_braycurtis.recipe_weinreb17.paul15_subsample.h5ad has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_1.tsv Wed Jul 31 18:07:15 2024 +0000 @@ -0,0 +1,11 @@ + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 +CD14+ Monocyte PILRA PSAP CD68 TMEM176B FTL NPC2 LST1 FCGR3A FCER1G CEBPB FCN1 SERPINA1 OAZ1 CFD FTH1 HCK AIF1 SAT1 CTSS S100A11 MS4A7 TYROBP COTL1 STXBP2 RP11-290F20.3 S100A4 IFITM2 SPI1 DUSP1 SESN2 IFITM3 MPP1 GALE CORO1B RP11-390E23.6 VIMP RSBN1L-AS1 CHD4 CFP GSTP1 PFN1 FCGRT ADTRP ARHGDIB AMICA1 HLA-DRB5 CST3 GRN HLA-DPA1 SSR3 +CD19+ B TNFRSF13B CD79B SMARCB1 PNOC CCDC50 AL928768.3 BANK1 MS4A1 CD79A ISG20 IGLL5 TNFRSF17 KIAA0125 TPD52 PEBP1 FKBP11 CCDC132 SUB1 POU2AF1 MZB1 PTPRCAP UBE2J1 BLK SPIB DERL3 FAM63B MPHOSPH9 IGJ FCRLA XBP1 NCF1 SSR3 CD52 TSHZ2 PDLIM1 VIMP SSR4 S1PR4 SELL HMGA1 NUCB2 JUN CD27 ARHGDIB GYPC CALR ADTRP BTG1 EXOG RARRES3 +CD34+ PRSS57 C19orf77 SPINK2 RP11-620J15.3 SNHG7 CYTL1 EGFL7 NGFRAP1 SOX4 NFE2 EGR1 RP3-467N11.1 H1FX CDK6 SERPINB1 SPINT2 HMGA1 IL1B NUCB2 RPLP0 IGFBP7 RPLP1 ATXN7L3B RPS3 C1orf228 KIAA0125 RPL3 SYPL1 CD63 LDHB SEPT1 JUN FAM101B PRKCQ-AS1 MATK PEBP1 SELL ITM2A SSR3 SPON2 XBP1 UBE2J1 VIMP GYPC STK17A STMN1 VIM MZB1 HOPX CD99 +CD4+/CD25 T Reg IL32 SPOCK2 ACTG1 CD2 CD3D GPR171 ARHGDIB ACOX1 MAL SIT1 GIMAP4 AES CD52 SEPT1 TMSB10 LAT STMN1 LINC00402 CD27 TSHZ2 S1PR4 CD3E PFN1 CD99 AQP3 PTPRCAP CD3G LY9 LCK CD247 S100A4 CCR7 TTC39C CORO1B MPHOSPH9 FYB RPSA FLT3LG B2M GIMAP7 PRKCQ-AS1 SELL BTG1 CCDC132 GYPC DENND2D LDHB IL7R ITM2A RPLP0 +CD4+/CD45RA+/CD25- Naive T EAF2 GNG7 SSR4 CALR DERL3 MANF IGJ XBP1 ATXN7L3B SSR3 UBE2J1 CD79A MZB1 RP3-467N11.1 TNFRSF17 NCF1 CDK6 SUB1 POU2AF1 AL928768.3 FKBP11 VIMP GYPC JUN CD27 PEBP1 SMARCB1 FLT3LG RPLP1 RPLP0 CCDC50 ISG20 IGLL5 HCST GSTP1 GPX1 CD52 VIM PTPRCAP FCGRT CD74 B2M RPL3 CYTL1 SPINK2 PRSS57 C19orf77 RP11-620J15.3 FAM101B CCDC132 +CD4+/CD45RO+ Memory RNF138 NOSIP IFITM1 LCK RARRES3 ALOX5AP FAM63B RAB3IP GZMK CD3G SEPT1 LDHB SELL CD3D EXOG RPSA CD247 AES CD52 TMSB10 NUCB2 DENND2D RPL3 RPLP1 ACTG1 FYB GIMAP7 CORO1B LY9 CD7 PFN1 RPS3 GYPC CD2 ARHGDIB IL32 RPLP0 CD99 CD3E GIMAP4 HCST B2M LAT ISG20 ITM2A FKBP11 SERPINB1 STK17A CCR7 PTPRCAP +CD56+ NK CST7 SPON2 HOPX GNLY NKG7 CTSW KLRC2 CD7 MATK PCIF1 CLIC3 FGFBP2 SYPL1 GZMB C9orf142 PRF1 CD247 HCST GZMA GZMH STMN1 ALOX5AP CD63 CD99 IGFBP7 GZMM CCL5 B2M DENND2D GIMAP7 RARRES3 SIT1 IFITM1 PFN1 EXOG XBP1 IFITM2 GIMAP4 VIMP STK17A LCK GZMK SEPT1 SSR3 CD8A CD3G SPOCK2 RPS3 LDHB IL32 +CD8+ Cytotoxic T FAM101B ADTRP GZMK HCST LAT EGR1 CD8B CCL5 RPL3 LINC00402 FGFBP2 GZMM RPS3 CD3E GYPC DENND2D C9orf142 GZMA SEPT1 JUN FYB CD8A SELL ALOX5AP CD3G STK17A AQP3 C1orf228 CD3D HOPX NKG7 CD2 NGFRAP1 RPLP1 RPSA CCR7 IL7R SPON2 PRF1 RARRES3 PRKCQ-AS1 FKBP11 MANF CTSW GNLY CD27 LDHB MAL LTB RPLP0 +CD8+/CD45RA+ Naive Cytotoxic RP11-291B21.2 CD8A CD8B RSBN1L-AS1 GIMAP5 GZMM GALE CCR7 STK17A RAB3IP GZMH GIMAP7 CD3E C1orf228 LCK CCL5 PEBP1 CD27 GYPC LDHB RNF34 CD99 CD3G PFN1 IL7R CD2 C9orf142 TMSB10 NGFRAP1 S1PR4 ITM2A CD7 RPS3 IL32 FYB IFITM1 CD52 LAT GIMAP4 MAL STMN1 NOSIP RARRES3 SPOCK2 ACTG1 PRF1 CD3D RPLP1 SELL GZMA +Dendritic HLA-DQB1 CST3 HLA-DRB1 HLA-DQA2 HLA-DQA1 LYZ HLA-DPB1 HLA-DPA1 HLA-DMA HLA-DRA VIM CD74 ALDH2 FCER1A GPX1 HLA-DRB5 LGALS2 MNDA FCGRT GRN HLA-DMB FOS CPVL CLEC10A AMICA1 CFP LY86 GSTP1 RP11-473M20.7 IL1B GSN SPINT2 CCDC163P IGFBP7 EXOG DUSP1 CD63 COTL1 FTH1 SPI1 TYROBP SPIB S100A11 OAZ1 CTSS CCDC50 AIF1 SERPINB1 TMSB10 PCIF1
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test-data/tl.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_marker_filtered_1.tsv Wed Jul 31 18:07:15 2024 +0000 @@ -0,0 +1,11 @@ + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 +CD14+ Monocyte PILRA PSAP CD68 TMEM176B FTL NPC2 LST1 FCGR3A FCER1G CEBPB FCN1 SERPINA1 OAZ1 CFD FTH1 HCK AIF1 SAT1 CTSS S100A11 TYROBP COTL1 S100A4 SPI1 DUSP1 +CD19+ B TNFRSF13B CD79B SMARCB1 PNOC CCDC50 AL928768.3 BANK1 MS4A1 CD79A ISG20 IGLL5 TNFRSF17 KIAA0125 TPD52 PEBP1 FKBP11 SUB1 POU2AF1 MZB1 PTPRCAP DERL3 XBP1 CD52 +CD34+ PRSS57 C19orf77 SPINK2 RP11-620J15.3 SNHG7 CYTL1 EGFL7 NGFRAP1 SOX4 NFE2 EGR1 RP3-467N11.1 H1FX CDK6 SERPINB1 SPINT2 HMGA1 IL1B NUCB2 RPLP0 IGFBP7 RPLP1 ATXN7L3B RPS3 KIAA0125 RPL3 SYPL1 LDHB SEPT1 FAM101B +CD4+/CD25 T Reg IL32 SPOCK2 ACTG1 CD2 CD3D ARHGDIB GIMAP4 AES CD52 SEPT1 TMSB10 LAT STMN1 CD27 CD3E PFN1 CD99 PTPRCAP CD3G LCK CD247 +CD4+/CD45RA+/CD25- Naive T +CD4+/CD45RO+ Memory RNF138 NOSIP IFITM1 LCK RARRES3 ALOX5AP RAB3IP GZMK CD3G SEPT1 LDHB SELL CD3D EXOG RPSA CD247 AES CD52 TMSB10 RPL3 +CD56+ NK CST7 SPON2 HOPX GNLY NKG7 CTSW KLRC2 CD7 MATK PCIF1 CLIC3 FGFBP2 SYPL1 GZMB C9orf142 PRF1 CD247 HCST GZMA GZMH STMN1 ALOX5AP CD63 CD99 IGFBP7 GZMM CCL5 B2M DENND2D GIMAP7 RARRES3 SIT1 PFN1 XBP1 +CD8+ Cytotoxic T FAM101B ADTRP GZMK HCST LAT EGR1 CD8B CCL5 RPL3 LINC00402 FGFBP2 GZMM RPS3 CD3E GYPC C9orf142 SEPT1 SELL CD3G CD3D HOPX NGFRAP1 +CD8+/CD45RA+ Naive Cytotoxic RP11-291B21.2 CD8A CD8B RSBN1L-AS1 GIMAP5 GZMM GALE CCR7 STK17A RAB3IP GIMAP7 CD3E LCK PEBP1 CD27 LDHB CD99 CD3G C9orf142 NGFRAP1 IL32 +Dendritic HLA-DQB1 CST3 HLA-DRB1 HLA-DQA2 HLA-DQA1 HLA-DPB1 HLA-DPA1 HLA-DRA CD74