diff import.xml @ 0:69e2275406fd draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/anndata/ commit 2e16aca90c4fc6f13bd024eed43bc4adbf5967da
author iuc
date Wed, 10 Apr 2019 03:23:36 -0400
parents
children e175d4067b00
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/import.xml	Wed Apr 10 03:23:36 2019 -0400
@@ -0,0 +1,244 @@
+<tool id="anndata_import" name="Import AnnData" version="@VERSION@+@GALAXY_VERSION@">
+    <description>from different format</description>
+    <macros>
+        <import>macros.xml</import>
+        <xml name="params_10x">
+            <param name="barcodes" type="data" format="tabular,txt" label="Barcodes"/>
+            <param name="var_names" type="select" label="Variables index">
+                <option value="gene_symbols">gene_symbols</option>
+                <option value="gene_ids">gene_ids</option>
+            </param>
+            <param name="make_unique" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Make the variable index unique by appending '-1', '-2'?"/>
+            <param name="gex_only" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Keep only 'Gene Expression' data and ignore other feature types?"/>
+        </xml>
+    </macros>
+    <expand macro="requirements">
+
+    </expand>
+    <expand macro="version_command"/>
+    <command detect_errors="exit_code"><![CDATA[
+#if $in.adata_format == 'mtx'
+mkdir mtx
+    #if $in.tenx.use == 'legacy_10x'
+&& cp '$in.matrix' 'mtx/matrix.mtx'
+&& cp '$in.tenx.genes' 'mtx/genes.tsv'
+&& cp '$in.tenx.barcodes' 'mtx/barcodes.tsv'
+    #else if $in.tenx.use == 'v3_10x'
+&& cp '$in.matrix' 'mtx/matrix.mtx'
+&& gzip 'mtx/matrix.mtx'
+&& cp '$in.tenx.features' 'mtx/features.tsv'
+&& gzip 'mtx/features.tsv'
+&& cp '$in.tenx.barcodes' 'mtx/barcodes.tsv'
+&& gzip 'mtx/barcodes.tsv'
+    #end if
+&&
+#else if $in.adata_format == 'umi_tools'
+gzip '$in.input'
+&&
+#end if
+
+@CMD@
+
+#if $in.adata_format == 'mtx'
+&& rm -rf mtx
+#end if
+      ]]></command>
+    <configfiles>
+        <configfile name="script_file"><![CDATA[
+@CMD_imports@
+#if $in.adata_format == 'loom'
+adata = ad.read_loom(
+    '$in.input',
+    sparse=$in.sparse,
+    cleanup=$in.cleanup,
+    X_name='$in.x_name',
+    obs_names='$in.obs_names',
+    var_names='$in.var_names')
+
+#else if $in.adata_format == 'tabular'
+    #set delimiter=$in.input.metadata.delimiter
+    #if $delimiter != ','
+        #set delimiter='\\t'
+    #end if
+adata = ad.read_csv(
+    '$in.input',
+    delimiter='$delimiter',
+    first_column_names=$in.first_column_names)
+
+#else if $in.adata_format == 'mtx'
+    #if $in.tenx.use == 'no'
+adata = ad.read_mtx(filename='$in.matrix')
+    #else
+import scanpy as sc
+adata = sc.read_10x_mtx(
+    'mtx',
+    var_names='$in.tenx.var_names',
+    make_unique=$in.tenx.make_unique,
+    cache=False,
+    gex_only=$in.tenx.gex_only)
+    #end if
+
+#else if $in.adata_format == 'umi_tools'
+adata = ad.read_umi_tools('${in.input}.gz')
+
+#end if
+
+adata.write('anndata.h5ad')
+]]></configfile>
+    </configfiles>
+    <inputs>
+        <conditional name="in">
+            <param name="adata_format" type="select" label="Format for the annotated data matrix">
+                <option value="loom">Loom</option>
+                <option value="tabular">Tabular, CSV, TSV</option>
+                <option value="mtx">Matrix Market (mtx), from Cell ranger or not</option>
+                <option value="umi_tools">UMI tools</option>
+            </param>
+            <when value="loom">
+                <param name="input" type="data" format="loom" label="Annotated data matrix"/>
+                <param name="sparse" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Is the data matrix to read sparse?"/>
+                <param name="cleanup" type="boolean" truevalue="True" falsevalue="False" checked="false" label="Cleanup?"/>
+                <param name="x_name" type="text" value="spliced" label="X_name"/>
+                <param name="obs_names" type="text" value="CellID" label="obs_names"/>
+                <param name="var_names" type="text" value="Gene" label="var_names"/>
+            </when>
+            <when value="tabular">
+                <param name="input" type="data" format="tabular,csv,tsv" label="Annotated data matrix"/>
+                <param name="first_column_names" type="boolean" truevalue="True" falsevalue="False" checked="true" label="Does the first column store the row names?"/>
+            </when>
+            <when value="mtx">
+                <param name="matrix" type="data" format="mtx" label="Matrix"/>
+                <conditional name="tenx">
+                    <param name="use" type="select" label="Use 10x Genomics formatted mtx">
+                        <option value="no">No</option>
+                        <option value="legacy_10x">Output from Cell Ranger v2 or earlier versions</option>
+                        <option value="v3_10x">Output from Cell Ranger v3 or later versions</option>
+                    </param>
+                    <when value="no"/>
+                    <when value="legacy_10x">
+                        <param name="genes" type="data" format="tabular" label="Genes"/>
+                        <expand macro="params_10x"/>
+                    </when>
+                    <when value="v3_10x">
+                        <param name="features" type="data" format="tabular" label="Features"/>
+                        <expand macro="params_10x"/>
+                    </when>
+                </conditional>
+            </when>
+            <when value="umi_tools">
+                <param name="input" type="data" format="tabular" label="condensed count matrix from UMI tools"/>
+            </when>
+        </conditional>
+    </inputs>
+    <outputs>
+        <data name="anndata" format="h5ad" from_work_dir="anndata.h5ad" label="${tool.name} on ${on_string}"/>
+    </outputs>
+    <tests>
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="loom"/>
+                <param name="input" value="krumsiek11.loom" />
+                <param name="sparse" value="True"/>
+                <param name="cleanup" value="False"/>
+                <param name="x_name"  value="spliced"/>
+                <param name="obs_names" value="CellID" />
+                <param name="var_names" value="Gene"/>
+            </conditional>
+            <assert_stdout>
+                <has_text_matching expression="ad.read_loom"/>
+                <has_text_matching expression="sparse=True"/>
+                <has_text_matching expression="cleanup=False"/>
+                <has_text_matching expression="X_name='spliced'"/>
+                <has_text_matching expression="obs_names='CellID'"/>
+                <has_text_matching expression="var_names='Gene'"/>
+            </assert_stdout>
+            <output name="anndata" value="import.loom.krumsiek11.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="tabular"/>
+                <param name="input" value="adata.csv"/>
+                <param name="first_column_names" value="true"/>
+            </conditional>
+            <assert_stdout>
+                <has_text_matching expression="ad.read_csv"/>
+                <has_text_matching expression="delimiter=','"/>
+                <has_text_matching expression="first_column_names=True"/>
+            </assert_stdout>
+            <output name="anndata" value="import.csv.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="tabular"/>
+                <param name="input" value="adata.tsv"/>
+                <param name="first_column_names" value="true"/>
+            </conditional>
+            <assert_stdout>
+                <has_text_matching expression="ad.read_csv"/>
+                <has_text_matching expression="delimiter='\\t'"/>
+                <has_text_matching expression="first_column_names=True"/>
+            </assert_stdout>
+            <output name="anndata" value="import.tsv.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+        <!--<test>
+            <conditional name="in">
+                <param name="adata_format" value="mtx"/>
+                <param name="matrix" value="matrix_10x_v1.2.0.mtx"/>
+                <conditional name="tenx">
+                    <param name="use" value="no"/>
+                </conditional>
+                </conditional>
+            <output name="anndata" value="import.mtx.no_10x.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="mtx"/>
+                <param name="matrix" value="matrix_10x_v1.2.0.mtx"/>
+                <conditional name="tenx">
+                    <param name="use" value="legacy_10x"/>
+                    <param name="genes" value="genes_10x_v1.2.0.tsv"/>
+                    <param name="barcodes" value="barcodes_10x_v1.2.0.tsv"/>
+                    <param name="var_names" value="gene_symbols"/>
+                    <param name="make_unique" value="true"/>
+                    <param name="gex_only" value="true"/>
+                </conditional>
+            </conditional>
+            <output name="anndata" value="import.mtx.legacy_10x.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="mtx"/>
+                <param name="matrix" value="matrix_10x_v3.0.0.mtx"/>
+                <conditional name="tenx">
+                    <param name="use" value="v3_10x"/>
+                    <param name="features" value="features_10x_v3.0.0.tsv"/>
+                    <param name="barcodes" value="barcodes_10x_v3.0.0.tsv"/>
+                    <param name="var_names" value="gene_symbols"/>
+                    <param name="make_unique" value="true"/>
+                    <param name="gex_only" value="true"/>
+                </conditional>
+            </conditional>
+            <output name="anndata" value="import.mtx.v3_10x.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>!-->
+        <test>
+            <conditional name="in">
+                <param name="adata_format" value="umi_tools"/>
+                <param name="input" value="umi_tools.tsv"/>
+            </conditional>
+            <output name="anndata" value="import.umi_tools.h5ad" ftype="h5ad" compare="sim_size"/>
+        </test>
+    </tests>
+    <help><![CDATA[
+**What it does**
+
+This tool creates an AnnData dataset from several input types:
+
+- Loom (`read_loom method <https://anndata.readthedocs.io/en/latest/anndata.read_loom.html>`__) 
+- Tabular (`read_csv method <https://anndata.readthedocs.io/en/latest/anndata.read_csv.html>`__) 
+- Matrix Market (mtx), from Cell ranger or not (`read_mtx method <https://anndata.readthedocs.io/en/latest/anndata.read_mtx.html>`__) 
+- UMI tools (`read_umi_tools method <https://anndata.readthedocs.io/en/latest/anndata.read_umi_tools.html>`__) 
+
+@HELP@
+    ]]></help>
+    <expand macro="citations"/>
+</tool>