Mercurial > repos > iuc > anndata2ri
view anndata2ri.xml @ 0:ac675f28acfc draft default tip
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/anndata2ri/ commit f2b398613762cdee5f89fb43382df2bf7321ccde
| author | iuc |
|---|---|
| date | Thu, 13 Feb 2025 10:38:32 +0000 |
| parents | |
| children |
line wrap: on
line source
<tool id="anndata2ri" name="anndata2ri" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="23.0"> <description> Convert between Anndata and SingCellExperiment objects </description> <macros> <token name="@TOOL_VERSION@">1.3.2</token> <token name="@VERSION_SUFFIX@">0</token> </macros> <xrefs> <xref type="bio.tools">anndata2ri</xref> </xrefs> <requirements> <requirement type="package" version="@TOOL_VERSION@">anndata2ri</requirement> <requirement type="package" version="0.10.9">anndata</requirement> <requirement type="package" version="1.24.0">bioconductor-singlecellexperiment</requirement> </requirements> <command detect_errors="exit_code"><![CDATA[ python '$script_file' '$conversion.direction' ]]></command> <configfiles> <configfile name="script_file"><![CDATA[ import sys import anndata as ad import anndata2ri import rpy2.robjects as ro from rpy2.rlike.container import OrdDict ro.r('suppressPackageStartupMessages(library(SingleCellExperiment))') def convert_orddict_to_dict(uns): if isinstance(uns, OrdDict): return {k: convert_orddict_to_dict(v) for k, v in uns.items()} elif isinstance(uns, list): return [convert_orddict_to_dict(v) for v in uns] elif isinstance(uns, tuple): return tuple(convert_orddict_to_dict(v) for v in uns) elif isinstance(uns, dict): return {k: convert_orddict_to_dict(v) for k, v in uns.items()} else: return uns if sys.argv[1] == 'sce2anndata': sce = ro.r('readRDS')('$conversion.input_object') with ro.conversion.localconverter(ro.default_converter + anndata2ri.converter): adata = ro.conversion.rpy2py(sce) adata.uns = convert_orddict_to_dict(adata.uns) adata.obs.index = adata.obs.index.astype(str) adata.var.index = adata.var.index.astype(str) adata.write('outfile.h5ad', compression='gzip') elif sys.argv[1] == 'anndata2sce': adata = ad.read_h5ad('$conversion.input_object') with ro.conversion.localconverter(ro.default_converter + anndata2ri.converter): sce = ro.conversion.py2rpy(adata) ro.r('saveRDS')(sce, 'outfile.rds') ]]></configfile> </configfiles> <inputs> <conditional name="conversion" > <param name="direction" type="select" label="Convert From / To" > <option value="sce2anndata" >SingleCellexperiment to AnnData</option> <option value="anndata2sce" >AnnData to SingleCellexperiment</option> </param> <when value="sce2anndata"> <param name="input_object" type="data" format="rdata.sce,rds" label="SingCellExperiment object to convert" /> </when> <when value="anndata2sce" > <param name="input_object" type="data" format="h5ad,h5" label="Anndata object to convert"/> </when> </conditional> </inputs> <outputs> <data name="output_anndata" format="h5ad" from_work_dir="outfile.h5ad" label="${tool.name} on ${on_string}: Anndata object"> <filter>conversion['direction'] == 'sce2anndata'</filter> </data> <data name="output_sce" format="rdata.sce" from_work_dir="outfile.rds" label="${tool.name} on ${on_string}: SingleCellExperiment object"> <filter>conversion['direction'] == 'anndata2sce'</filter> </data> </outputs> <tests> <test expect_num_outputs="1"> <param name="direction" value="sce2anndata"/> <param name="input_object" value="krumsiek11.rds"/> <output name="output_anndata" file="krumsiek11.h5ad" ftype="h5ad" compare="sim_size"> <assert_contents> <has_h5_keys keys="obs/cell_type"/> <has_h5_keys keys="uns/highlights"/> <has_h5_keys keys="uns/iroot"/> </assert_contents> </output> </test> <test expect_num_outputs="1"> <param name="direction" value="anndata2sce"/> <param name="input_object" value="krumsiek11.h5ad"/> <output name="output_sce" file="krumsiek11.rds" ftype="rdata.sce" compare="sim_size"/> </test> </tests> <help><![CDATA[ anndata2ri ========== Convert between Anndata and SingleCellExperiment objects. For conversion of further single-cell file formats, consider using **SCEasy Converter** tool. ]]></help> <citations> <citation type="bibtex"> @unpublished{anndata2ri, author = {Theis Lab}, title = {Convert between AnnData and SingleCellExperiment }, url = {https://github.com/theislab/anndata2ri} } </citation> </citations> </tool>
