Mercurial > repos > ebi-gxa > scanpy_filter_cells
changeset 8:8d97bee137b5 draft
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 367d978e52fac9467a804009c5013f53c06765f0
author | ebi-gxa |
---|---|
date | Tue, 26 Nov 2019 05:55:39 -0500 |
parents | 9c65f1de489b |
children | c1362eee9eee |
files | scanpy-filter-cells.xml scanpy-filter-genes.xml.bak |
diffstat | 2 files changed, 112 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/scanpy-filter-cells.xml Mon Nov 25 14:41:57 2019 -0500 +++ b/scanpy-filter-cells.xml Tue Nov 26 05:55:39 2019 -0500 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<tool id="scanpy_filter_cells" name="Scanpy FilterCells" version="@TOOL_VERSION@+galaxy6"> +<tool id="scanpy_filter_cells" name="Scanpy FilterCells" version="@TOOL_VERSION@+galaxy7"> <description>based on counts and numbers of genes expressed</description> <macros> <import>scanpy_macros2.xml</import> @@ -12,8 +12,15 @@ --gene-name '${gene_name}' #end if #if $parameters - #set pars = ' '.join(["--param 'c:{name}' {min} {max}".format(**$p) for $p in $parameters]) - ${pars} +#for $p in $parameters + #set $min = $p.min + #set $max = $p.max + #if $p.name.startswith('pct_') + #set $min = float($min) / 100 + #set $max = float($max) / 100 + #end if + --param 'c:$p.name' $min $max +#end for #end if #if $categories #set cats = ' '.join(["--category 'c:{name}' '{negate}{values}'".format(**$c) for $c in $categories]) @@ -35,26 +42,27 @@ <param name="gene_name" type="text" optional="true" label="Name of the column in `anndata.var` that contains gene name" help="Used for flagging mitochondria genes (starting with 'MT-'). Leave empty if gene table already has a boolean column called 'mito' that flags MT genes"/> - <repeat name="parameters" title="Parameters used to filter cells" min="1"> + <repeat name="parameters" title="Parameters to select cells to keep" min="1"> <param name="name" type="text" value="n_genes" label="Name of parameter to filter on" help="for example n_genes or n_counts"> <option value="n_genes">n_genes</option> <option value="n_counts">n_counts</option> - <option value="pct_counts_mito">pct_counts_mito (only usable if MT genes are flagged)</option> + <option value="pct_counts_mito">pct_counts_mito (only usable if MT genes are flagged or has been pre-calculated)</option> </param> - <param name="min" type="float" value="0" min="0" label="Min value"/> - <param name="max" type="float" value="1e9" label="Max value"/> + <param name="min" type="float" value="0" min="0" label="Min value" help="Cells with value below min will be discarded."/> + <param name="max" type="float" value="1e9" label="Max value" help="Cells with value above max will be discarded."/> </repeat> - <repeat name="categories" title="Categories used to filter cells" min="0"> + <repeat name="categories" title="Categories to select cells to keep (unless negate is checked)" min="0"> <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/> - <param name="values" type="text" value="" label="Comma-separated list of categories"/> + <param name="values" type="text" value="" label="Comma-separated list of categories" help="Cells with these values in this categorical variable will be kept."/> <param name="negate" type="boolean" truevalue="!" falsevalue="" checked="false" label="Apply as negative filter" help="If enabled, specified categories will be removed rather than retained."/> </repeat> - <repeat name="subsets" title="Subsets used to filter cells" min="0"> + <repeat name="subsets" title="Subsets to select cells to keep" min="0"> <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/> <param name="subset" type="data" format="tabular" label="List of values to keep" help="A one-column headerless text file is required"/> </repeat> + <param name="force_recalc" label="Force recalculation of QC vars" type="boolean" truevalue="--force-recalc" falsevalue="" help="If set, it will recalculate pcts and other existing QC vars, overwriting existing ones."/> <expand macro="export_mtx_params"/> </inputs>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scanpy-filter-genes.xml.bak Tue Nov 26 05:55:39 2019 -0500 @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<tool id="scanpy_filter_genes" name="Scanpy FilterGenes" version="@TOOL_VERSION@+galaxy3"> + <description>based on counts and numbers of cells expressed</description> + <macros> + <import>scanpy_macros2.xml</import> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ +ln -s '${input_obj_file}' input.h5 && +PYTHONIOENCODING=utf-8 scanpy-filter-genes +#if $parameters + #set pars = ' '.join(['--param g:{name} {min} {max}'.format(**$p) for $p in $parameters]) + ${pars} +#end if +#if $categories + #set cats = ' '.join(['--category g:{name} {negate}{values}'.format(**$c) for $c in $categories]) + ${cats} +#end if +#if $subsets + #set subs = ' '.join(['--subset g:{name} {subset}'.format(**$s) for $s in $subsets]) + ${subs} +#end if + @INPUT_OPTS@ + @OUTPUT_OPTS@ + @EXPORT_MTX_OPTS@ +]]></command> + + <inputs> + <expand macro="input_object_params"/> + <expand macro="output_object_params"/> + + <repeat name="parameters" title="Parameters used to filter genes" min="1"> + <param name="name" type="text" value="n_cells" label="Name of parameter to filter on" help="for example n_genes or n_counts"> + <option value="n_cells">n_cells</option> + <option value="n_counts">n_counts</option> + </param> + <param name="min" type="float" min="0" value="0" label="Min value"/> + <param name="max" type="float" min="0" value="1e9" label="Max value"/> + </repeat> + + <repeat name="categories" title="Categories used to filter genes" min="0"> + <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/> + <param name="values" type="text" value="" label="Comma-separated list of categories"/> + <param name="negate" type="boolean" truevalue="!" falsevalue="" checked="false" label="Apply as negative filter" help="If enabled, specified categories will be removed rather than retained."/> + </repeat> + + <repeat name="subsets" title="Subsets used to filter genes" min="0"> + <param name="name" type="text" value="" label="Name of the categorical variable to filter on"/> + <param name="subset" type="data" format="tabular" label="List of values to keep" help="A one-column headerless text file is required"/> + </repeat> + <expand macro="export_mtx_params"/> + </inputs> + + <outputs> + <data name="output_h5" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: Filtered genes"/> + <expand macro="export_mtx_outputs"/> + </outputs> + + <tests> + <test> + <param name="input_obj_file" value="filter_cells.h5"/> + <param name="input_format" value="anndata"/> + <param name="output_format" value="anndata"/> + <repeat name="parameters"> + <param name="name" value="n_cells"/> + <param name="min" value="3"/> + <param name="max" value="1e9"/> + </repeat> + <repeat name="parameters"> + <param name="name" value="n_counts"/> + <param name="min" value="0"/> + <param name="max" value="1e9"/> + </repeat> + <output name="output_h5" file="filter_genes.h5" ftype="h5" compare="sim_size"/> + </test> + </tests> + + <help><![CDATA[ +===================================================================== +Filter genes based on arbitrary attributes (`scanpy.pp.filter_genes`) +===================================================================== + +Keep genes that have at least `min_counts` counts or are expressed in at +least `min_cells` cells or have at most `max_counts` counts or are expressed +in at most `max_cells` cells. Other gene attributes can be used for filtering +too if available. + + +@HELP@ + +@VERSION_HISTORY@ +]]></help> + <expand macro="citations"/> +</tool>