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

Changeset 2:ba18139e7400 (2019-11-25)
Previous changeset 1:339d205356c6 (2019-11-20) Next changeset 3:ec4604919de3 (2019-11-26)
Commit message:
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 400799f99ee36ad12b990b1ccabf4be16a26c003
modified:
anndata_operations.xml
scanpy_macros2.xml
removed:
scanpy-filter-genes.xml.bak
b
diff -r 339d205356c6 -r ba18139e7400 anndata_operations.xml
--- a/anndata_operations.xml Wed Nov 20 05:15:30 2019 -0500
+++ b/anndata_operations.xml Mon Nov 25 14:37:55 2019 -0500
b
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<tool id="anndata_ops" name="AnnData Operations" version="0.0.1+galaxy0">
+<tool id="anndata_ops" name="AnnData Operations" version="0.0.1+galaxy1">
   <description>modifies metadata and flags genes</description>
   <macros>
     <import>scanpy_macros2.xml</import>
@@ -53,7 +53,8 @@
 </configfiles>
 
   <inputs>
-    <param name="input_obj_file" argument="input-object-file" type="data" format="h5" label="Input object in hdf5 AnnData format"/>
+    <param name="input_obj_file" argument="input-object-file" type="data" format="h5,h5ad" label="Input object in hdf5 AnnData format"/>
+    <expand macro="output_object_params_no_loom"/>
     <repeat name="modifications" title="Change field names in AnnData observations" min="0">
       <param name="from_obs" type="text" label="Original name" help="Name in observations that you want to change">
         <sanitizer>
@@ -71,7 +72,7 @@
   </inputs>
 
   <outputs>
-    <data name="output" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: anndata with metadata changes."/>
+    <expand macro="output_data_obj_no_loom" description="metadata changes on"/>
   </outputs>
 
   <tests>
@@ -79,7 +80,7 @@
       <param name="input_obj_file" value="find_cluster.h5"/>
       <param name="input_format" value="anndata"/>
       <param name="color_by" value="louvain"/>
-      <output name="output" file="output.h5" ftype="h5" compare="sim_size"/>
+      <output name="output_h5ad" file="output.h5" ftype="h5" compare="sim_size"/>
     </test>
   </tests>
 
b
diff -r 339d205356c6 -r ba18139e7400 scanpy-filter-genes.xml.bak
--- a/scanpy-filter-genes.xml.bak Wed Nov 20 05:15:30 2019 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,94 +0,0 @@
-<?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>
b
diff -r 339d205356c6 -r ba18139e7400 scanpy_macros2.xml
--- a/scanpy_macros2.xml Wed Nov 20 05:15:30 2019 -0500
+++ b/scanpy_macros2.xml Mon Nov 25 14:37:55 2019 -0500
[
@@ -4,6 +4,8 @@
   <token name="@VERSION_HISTORY@"><![CDATA[
 **Version history**
 
+1.4.3+galaxy6: Update to scanpy-scripts 0.2.8 (running scanpy ==1.4.3) and wider compatibility with other Galaxy modules. Bug fixes in filtering and plotting improvements.
+
 1.4.3+galaxy0: Update to scanpy-scripts 0.2.5 (running scanpy ==1.4.3).
 
 1.4.2+galaxy0: Update to scanpy-scripts 0.2.4 (requires scanpy >=1.4.2).
@@ -17,7 +19,11 @@
     --input-format '${input_format}' input.h5
   </token>
   <token name="@OUTPUT_OPTS@">
-    --show-obj stdout --output-format '${output_format}' output.h5
+#if str($output_format).startswith('anndata')
+    --show-obj stdout --output-format anndata output.h5
+#else
+    --show-obj stdout --output-format loom output.h5
+#end if
   </token>
   <token name="@PLOT_OPTS@">
 #if $fig_title
@@ -33,7 +39,7 @@
 
   <xml name="requirements">
     <requirements>
-      <requirement type="package" version="0.2.6">scanpy-scripts</requirement>
+      <requirement type="package" version="0.2.8">scanpy-scripts</requirement>
       <yield/>
     </requirements>
   </xml>
@@ -55,7 +61,7 @@
   </xml>
 
   <xml name="input_object_params">
-    <param name="input_obj_file" argument="input-object-file" type="data" format="h5" label="Input object in hdf5 format"/>
+    <param name="input_obj_file" argument="input-object-file" type="data" format="h5,h5ad" label="Input object in AnnData/Loom format"/>
     <param name="input_format" argument="--input-format" type="select" label="Format of input object">
       <option value="anndata" selected="true">AnnData format hdf5</option>
       <option value="loom">Loom format hdf5</option>
@@ -64,11 +70,44 @@
 
   <xml name="output_object_params">
     <param name="output_format" argument="--output-format" type="select" label="Format of output object">
-      <option value="anndata" selected="true">AnnData format hdf5</option>
-      <option value="loom">Loom format hdf5</option>
+      <option value="anndata_h5ad" selected="true">AnnData format</option>
+      <option value="anndata">AnnData format (h5 for older versions)</option>
+      <option value="loom">Loom format</option>
+      <option value="loom_legacy">Loom format (h5 for older versions)</option>
+    </param>
+  </xml>
+
+  <xml name="output_object_params_no_loom">
+    <param name="output_format" argument="--output-format" type="select" label="Format of output object">
+      <option value="anndata_h5ad" selected="true">AnnData format</option>
+      <option value="anndata">AnnData format (h5 for older versions)</option>
     </param>
   </xml>
 
+  <xml name="output_data_obj_no_loom" token_description="operation">
+    <data name="output_h5ad" format="h5ad" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ AnnData">
+      <filter>output_format == 'anndata_h5ad'</filter>
+    </data>
+    <data name="output_h5" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ AnnData">
+      <filter>output_format == 'anndata'</filter>
+    </data>
+  </xml>
+
+  <xml name="output_data_obj" token_description="operation">
+    <data name="output_h5ad" format="h5ad" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ AnnData">
+      <filter>output_format == 'anndata_h5ad'</filter>
+    </data>
+    <data name="output_h5" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ AnnData">
+      <filter>output_format == 'anndata'</filter>
+    </data>
+    <data name="output_loom_legacy" format="h5" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ Loom">
+      <filter>output_format == 'loom_legacy'</filter>
+    </data>
+    <data name="output_loom" format="loom" from_work_dir="output.h5" label="${tool.name} on ${on_string}: @DESCRIPTION@ Loom">
+      <filter>output_format == 'loom'</filter>
+    </data>
+  </xml>
+
   <xml name="output_plot_params">
     <param name="fig_title" argument="--title" type="text" label="Figure title"/>
     <param name="fig_size" argument="--fig-size" type="text" value="4,4" label="Figure size as 'width,height', e.g, '7,7'"/>