Mercurial > repos > ebi-gxa > scanpy_run_umap
view scanpy-run-umap.xml @ 23:0da35cd42e7c draft
"planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/scanpy commit 9748fb7ca203206ecac97461f60ce75890d00fa4-dirty"
author | ebi-gxa |
---|---|
date | Fri, 15 Oct 2021 15:09:25 +0000 |
parents | 3a7b97ddf3ff |
children | bd4a244faeb8 |
line wrap: on
line source
<?xml version="1.0" encoding="utf-8"?> <tool id="scanpy_run_umap" name="Scanpy RunUMAP" version="@TOOL_VERSION@+galaxy0" profile="@PROFILE@"> <description>visualise cell clusters using UMAP</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-run-umap #set neighbors_key = $use_graph.replace('INPUT_OBJ', $input_obj_file.__getattr__('name')) #set embeddings_tsv='embeddings.tsv' --neighbors-key '${neighbors_key}' #if $key_added #if $neighbors_key #set key_added = $key_added.replace('NEIGHBORS_KEY', $neighbors_key.__str__) #set embeddings_tsv="embeddings_" + $key_added.__str__ + ".tsv" #end if --key-added '${key_added}' #end if #if $embeddings --export-embedding embeddings.tsv #end if #if $settings.default == "false" --n-components ${settings.n_components} --min-dist ${settings.min_dist} --spread ${settings.spread} --alpha ${settings.alpha} --gamma ${settings.gamma} --negative-sample-rate ${settings.negative_sample_rate} --random-state ${settings.random_seed} #if $settings.init_pos --init-pos '${settings.init_pos}' #end if #if $settings.maxiter --maxiter ${settings.maxiter} #end if #end if @INPUT_OPTS@ @OUTPUT_OPTS@ #if $embeddings #if $embeddings_tsv != 'embeddings.tsv' && mv '${embeddings_tsv}' embeddings.tsv #end if #end if ]]></command> <inputs> <expand macro="input_object_params"/> <expand macro="output_object_params"/> <param name="embeddings" type="boolean" checked="true" label="Output embeddings in tsv format"/> <param name="use_graph" argument="--neighbors-key" value="neighbors" type="text" label="Name of the slot that holds the KNN graph"/> <param name="key_added" argument="--key-added" type="text" optional="true" label="Additional suffix to the name of the slot to save the embedding"/> <conditional name="settings"> <param name="default" type="boolean" checked="true" label="Use programme defaults"/> <when value="true"/> <when value="false"> <param name="n_components" argument="--n-components" type="integer" value="2" label="The number of dimensions of the embedding"/> <param name="min_dist" argument="--min-dist" type="float" value="0.5" label="The effective minimum distance between embedded points"/> <param name="spread" argument="--spread" type="float" value="1.0" label="The effective spread of embedded points"/> <param name="alpha" argument="--alpha" type="float" value="1.0" label="Initial learning rate"/> <param name="gamma" argument="--gamma" type="float" value="1.0" label="Weighting applied to negative samples"/> <param name="negative_sample_rate" argument="--negative-sample-rate" type="integer" value="5" label="The ratio of negative to positive edge in optimisation"/> <param name="init_pos" argument="--init-pos" type="text" label="Method to initialise embedding, any key for adata.obsm or choose from the preset methods"> <option value="spectral" selected="true">spectral</option> <option value="paga">paga</option> <option value="random">random</option> </param> <param name="maxiter" argument="--maxiter" type="integer" optional="true" label="Number of iterations of optimisation"/> <param name="random_seed" argument="--random-state" type="integer" value="0" label="Seed for numpy random number generator"/> </when> </conditional> </inputs> <outputs> <expand macro="output_data_obj" description="UMAP object"/> <data name="output_embed" format="tabular" from_work_dir="embeddings.tsv" label="${tool.name} on ${on_string}: UMAP embeddings"> <filter>embeddings</filter> </data> </outputs> <tests> <test> <param name="input_obj_file" value="find_cluster.h5"/> <param name="input_format" value="anndata"/> <param name="output_format" value="anndata"/> <param name="default" value="false"/> <param name="embeddings" value="true"/> <param name="random_seed" value="0"/> <output name="output_h5" file="run_umap.h5" ftype="h5" compare="sim_size"/> <output name="output_embed" file="run_umap.embeddings.tsv" ftype="tabular" compare="sim_size"> <assert_contents> <has_n_columns n="3"/> </assert_contents> </output> </test> </tests> <help><![CDATA[ ========================================================== Embed the neighborhood graph using UMAP (`scanpy.tl.umap`) ========================================================== For making UMAP plots, please use `Scanpy PlotEmbed` with the output of this tool and enter "umap" as the name of the embedding to plot. UMAP (Uniform Manifold Approximation and Projection) is a manifold learning technique suitable for visualizing high-dimensional data. Besides tending to be faster than tSNE, it optimizes the embedding such that it best reflects the topology of the data, which we represent throughout Scanpy using a neighborhood graph. tSNE, by contrast, optimizes the distribution of nearest-neighbor distances in the embedding such that these best match the distribution of distances in the high-dimensional space. We use the implementation of `umap-learn <https://github.com/lmcinnes/umap>`__ (McInnes et al, 2018). For a few comparisons of UMAP with tSNE, see this `preprint <https://doi.org/10.1101/298430>`__. It yields `X_umap`, UMAP coordinates of data. @HELP@ @VERSION_HISTORY@ ]]></help> <expand macro="citations"/> </tool>