Repository 'scanpy_filter_genes'
hg clone https://toolshed.g2.bx.psu.edu/repos/ebi-gxa/scanpy_filter_genes

Changeset 9:4bc377096eea (2019-11-26)
Previous changeset 8:88bccd53d18a (2019-11-25) Next changeset 10:6d571e4e5839 (2020-02-19)
Commit message:
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 367d978e52fac9467a804009c5013f53c06765f0
modified:
scanpy-filter-genes.xml
added:
scanpy-filter-genes.xml.bak
b
diff -r 88bccd53d18a -r 4bc377096eea scanpy-filter-genes.xml
--- a/scanpy-filter-genes.xml Mon Nov 25 14:38:14 2019 -0500
+++ b/scanpy-filter-genes.xml Tue Nov 26 05:52:26 2019 -0500
[
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<tool id="scanpy_filter_genes" name="Scanpy FilterGenes" version="@TOOL_VERSION@+galaxy6">
+<tool id="scanpy_filter_genes" name="Scanpy FilterGenes" version="@TOOL_VERSION@+galaxy7">
   <description>based on counts and numbers of cells expressed</description>
   <macros>
     <import>scanpy_macros2.xml</import>
@@ -9,8 +9,15 @@
 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}
+#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 'g:$p.name' $min $max
+#end for
 #end if
 #if $categories
     #set cats = ' '.join(["--category 'g:{name}' '{negate}{values}'".format(**$c) for $c in $categories])
@@ -20,6 +27,7 @@
     #set subs = ' '.join(["--subset 'g:{name}' '{subset}'".format(**$s) for $s in $subsets])
     ${subs}
 #end if
+$force_recalc
     @INPUT_OPTS@
     @OUTPUT_OPTS@
     @EXPORT_MTX_OPTS@
@@ -29,25 +37,26 @@
     <expand macro="input_object_params"/>
     <expand macro="output_object_params"/>
 
-    <repeat name="parameters" title="Parameters used to filter genes" min="1">
+    <repeat name="parameters" title="Parameters to select genes to keep" 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"/>
+      <param name="min" type="float" min="0" value="0" label="Min value" help="Genes with value below min will be discarded."/>
+      <param name="max" type="float" min="0" value="1e9" label="Max value" help="Genes with value above max will be discarded."/>
     </repeat>
 
-    <repeat name="categories" title="Categories used to filter genes" min="0">
+    <repeat name="categories" title="Categories to select genes 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="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">
+    <repeat name="subsets" title="Subsets to select genes 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>
 
b
diff -r 88bccd53d18a -r 4bc377096eea scanpy-filter-genes.xml.bak
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/scanpy-filter-genes.xml.bak Tue Nov 26 05:52:26 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>