Repository 'scanpy_filter'
hg clone https://toolshed.g2.bx.psu.edu/repos/iuc/scanpy_filter

Changeset 21:5b3c1679d29b (2025-01-09)
Previous changeset 20:64388be6d510 (2024-10-18)
Commit message:
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scanpy/ commit 637a6ebb9ca7f745c83146151cb1655cc902afc6
modified:
filter.xml
b
diff -r 64388be6d510 -r 5b3c1679d29b filter.xml
--- a/filter.xml Fri Oct 18 10:35:58 2024 +0000
+++ b/filter.xml Thu Jan 09 15:54:14 2025 +0000
[
b'@@ -1,4 +1,4 @@\n-<tool id="scanpy_filter" name="Scanpy filter" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="@PROFILE@">\n+<tool id="scanpy_filter" name="Scanpy filter" version="@TOOL_VERSION@+galaxy3" profile="@PROFILE@">\n     <description>mark and subsample</description>\n     <macros>\n         <import>macros.xml</import>\n@@ -49,6 +49,58 @@\n \n @CMD_ANNDATA_WRITE_OUTPUTS@\n \n+#else if $method.method == \'filter_any\'\n+    #if $method.filter.filter == \'key\'\n+        #if $method.var_obs == \'var\'\n+filtered = adata.var[\'$method.filter.key\']\n+        #else if $method.var_obs == \'obs\'\n+filtered = adata.obs[\'$method.filter.key\']\n+        #end if\n+\n+        #if $method.filter.filter_key.type == \'number\'\n+            #if $method.filter.filter_key.filter == \'equal\'\n+filtered = filtered == $method.filter.filter_key.value\n+            #else if $method.filter.filter_key.filter == \'equal\'\n+filtered = filtered != $method.filter.filter_key.value\n+            #else if $method.filter.filter_key.filter == \'less\'\n+filtered = filtered < $method.filter.filter_key.value\n+            #else if $method.filter.filter_key.filter == \'less_or_equal\'\n+filtered = filtered <= $method.filter.filter_key.value\n+            #else if $method.filter.filter_key.filter == \'greater\'\n+filtered = filtered > $method.filter.filter_key.value\n+            #else if $method.filter.filter_key.filter == \'greater_or_equal\'\n+filtered = filtered >= $method.filter.filter_key.value\n+            #end if\n+        #else if $method.filter.filter_key.type == \'text\'\n+            #if $method.filter.filter_key.filter == \'equal\'\n+filtered = filtered == \'$method.filter.filter_key.value\'\n+            #else\n+filtered = filtered != \'$method.filter.filter_key.value\'\n+            #end if\n+        #else if $method.filter.filter_key.type == \'boolean\'\n+filtered = filtered == $method.filter.filter_key.value\n+        #end if\n+\n+    #else if $method.filter.filter == \'index\'\n+        #if str($method.filter.index.format) == \'file\'\n+with open(\'$method.filter.index.file\', \'r\') as filter_f:\n+    filters = [str(x.strip()) for x in filter_f.readlines()]\n+filtered = filters\n+        #else\n+            #set $filters = [str(x.strip()) for x in $method.filter.index.text.split(\',\')]\n+filtered = $filters\n+        #end if\n+    #end if\n+print(filtered)\n+\n+    #if $method.var_obs == \'var\'\n+adata = adata[:,filtered]\n+    #else if $method.var_obs == \'obs\'\n+adata = adata[filtered, :]\n+    #end if\n+\n+@CMD_ANNDATA_WRITE_OUTPUTS@\n+\n #else if $method.method == \'tl.filter_rank_genes_groups\'\n sc.tl.filter_rank_genes_groups(\n     adata,\n@@ -218,6 +270,7 @@\n             <param argument="method" type="select" label="Method used for filtering">\n                 <option value="pp.filter_cells">Filter cell outliers based on counts and numbers of genes expressed, using \'pp.filter_cells\'</option>\n                 <option value="pp.filter_genes">Filter genes based on number of cells or counts, using \'pp.filter_genes\'</option>\n+                <option value="filter_any">Filter on any column of observations or variables</option>\n                 <option value="tl.filter_rank_genes_groups">Filters out genes based on fold change and fraction of genes expressing the gene within and outside the groupby categories, using \'tl.filter_rank_genes_groups\'</option>\n                 <option value="pp.highly_variable_genes">Annotate (and filter) highly variable genes, using \'pp.highly_variable_genes\'</option>\n                 <option value="pp.subsample">Subsample to a fraction of the number of observations, using \'pp.subsample\'</option>\n@@ -234,16 +287,16 @@\n                         <option value="max_genes">Maximum number of genes expressed</option>\n                     </param>\n                     <when value="min_counts">\n-                        <param argument="min_counts" type="integer" min="0" value="" label="Minimum number of counts required for a cell to pass filtering"/>\n+                        <param argument="min_counts" type="i'..b'     <output name="anndata_out" ftype="h5ad">\n+                <assert_contents>\n+                    <has_h5_keys keys="obs/cell_type"/>\n+                    <has_h5_keys keys="uns/highlights"/>\n+                    <has_h5_keys keys="uns/iroot"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+        <test expect_num_outputs="1">\n+            <!-- test 5 -->\n+            <param name="adata" value="krumsiek11.h5ad"/>\n+            <conditional name="method">\n+                <param name="method" value="filter_any"/>\n+                <param name="var_obs" value="obs"/>\n+                <conditional name="filter">\n+                    <param name="filter" value="key"/>\n+                    <param name="key" value="cell_type"/>\n+                    <conditional name="filter_key">\n+                        <param name="type" value="text"/>\n+                        <param name="filter" value="equal"/>\n+                        <param name="value" value="progenitor"/>\n+                    </conditional>\n+                </conditional>\n+            </conditional>\n+            <assert_stdout>\n+                <has_text_matching expression="320 \xc3\x97 11"/>\n+            </assert_stdout>\n+            <output name="anndata_out" ftype="h5ad">\n+                <assert_contents>\n+                    <has_h5_keys keys="obs/cell_type"/>\n+                    <has_h5_keys keys="uns/highlights"/>\n+                    <has_h5_keys keys="uns/iroot"/>\n+                </assert_contents>\n+            </output>\n+        </test>\n+\n+        <!--  test 6 -->\n         <!-- Fails to write to anndata after tl.filter_rank_genes_groups\n              Issue has been reported here: https://github.com/scverse/anndata/issues/726\n              The current fix is: del adata.uns[\'rank_genes_groups_filtered\']  -->\n@@ -511,7 +673,7 @@\n             </output>\n         </test>\n \n-        <!-- test 5 -->\n+        <!-- test 7 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="blobs.h5ad"/>\n             <conditional name="method">\n@@ -539,7 +701,7 @@\n             </output>\n         </test>\n \n-        <!-- test 6 -->\n+        <!-- test 8 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="krumsiek11.h5ad"/>\n             <conditional name="method">\n@@ -570,7 +732,7 @@\n             </output>\n         </test>\n \n-        <!-- test 7 -->\n+        <!-- test 9 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="krumsiek11.h5ad"/>\n             <conditional name="method">\n@@ -600,8 +762,8 @@\n             </output>\n         </test>\n \n-        <!-- test 8 -->\n-        <test expect_num_outputs="2">    \n+        <!-- test 10 -->\n+        <test expect_num_outputs="2">\n             <param name="adata" value="krumsiek11.h5ad"/>\n             <conditional name="method">\n                 <param name="method" value="pp.subsample"/>\n@@ -630,7 +792,7 @@\n             </output>\n         </test>\n \n-        <!-- test 9 -->\n+        <!-- test 11 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="random-randint.h5ad"/>\n             <conditional name="method">\n@@ -657,7 +819,7 @@\n             </output>\n         </test>\n \n-        <!-- test 10 -->\n+        <!-- test 12 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="random-randint.h5ad"/>\n             <conditional name="method">\n@@ -686,7 +848,7 @@\n             </output>\n         </test>\n \n-        <!-- test 10 -->\n+        <!-- test 13 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="cosg.rank_genes_groups.newton-cg.pbmc68k_highly_reduced_1.h5ad"/>\n             <conditional name="method">\n@@ -716,7 +878,7 @@\n             </output>\n         </test>\n \n-        <!-- test 11 -->\n+        <!-- test 14 -->\n         <test expect_num_outputs="2">\n             <param name="adata" value="krumsiek11.h5ad"/>\n             <conditional name="method">\n'