Mercurial > repos > ebi-gxa > sccaf_asses
changeset 0:95670267a5b6 draft
planemo upload for repository https://github.com/ebi-gene-expression-group/container-galaxy-sc-tertiary/tree/develop/tools/tertiary-analysis/sccaf commit 68be7a6fdb93e8b59e80e5f16e7fecdaa16f288c
author | ebi-gxa |
---|---|
date | Mon, 14 Oct 2019 08:10:33 -0400 |
parents | |
children | 37a4c22f600b |
files | sccaf_asses.xml sccaf_macros.xml static/images/example_sccaf_workflow.png |
diffstat | 3 files changed, 168 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sccaf_asses.xml Mon Oct 14 08:10:33 2019 -0400 @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="utf-8"?> +<tool id="sccaf_asses" name="SCCAF Assesment" version="@TOOL_VERSION@+galaxy0"> + <description>runs an assesment of an SCCAF optimisation result or an existing clustering.</description> + <macros> + <import>sccaf_macros.xml</import> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ +ln -s ${input_obj_file} input.h5 && + +sccaf-assess -i input.h5 --iterations $iterations --cores \${GALAXY_SLOTS:-1} + -o sccaf_assess.txt +#if $rounds_file + --slot-for-existing-clustering \$( cat $rounds_file ) +#else + --slot-for-existing-clustering $existing_slot +#end if + + +]]></command> + + <inputs> + <expand macro="input_object_params"/> + + <conditional name="slot_source"> + <param type="select" name="source" label="Choose the source of the slot for existing clustering" help="either a round file or an explicit name of a round."> + <option value="explicit" selected="True">Input the desired round directly</option> + <option value="file">Input the desired round through a file</option> + </param> + <when value="explicit"> + <param type="text" value="" name="existing_slot" label="Specific round to asses" help="Write the slot of the AnnData object that you want assessed."/> + </when> + <when value="file"> + <param name="rounds_file" argument="--slot-for-existing-clustering" type="data" format="txt,tsv" label="A file containing a single round to asses in the AnnData file." help="For use with sccaf_distribute_assesment" optional="true"/> + </when> + </conditional> + <param type="integer" value="5" name="iterations" label="Iterations for assesment" help="The number of times that the assesment is internally repeated to achieve a result."/> + + </inputs> + + <outputs> + <data name="output_table" format="txt" from_work_dir="sccaf_assess.txt" label="${tool.name} on ${on_string} assesment accuracy and cross validation."/> + <data name="output_png" format="png" from_work_dir="roc-curve.png" label="${tool.name} on ${on_string} ROC-Curve"> + <filter>iterations == 1</filter> + </data> + </outputs> + + <tests> + <test> + <param name="input_obj_file" value="find_cluster.h5"/> + <param name="use_tsv" value="true"/> + <param name="input_tsv" value="find_cluster.tsv"/> + <output name="output_png" file="run_sccaf.png" ftype="png"/> + </test> + </tests> + + <help><![CDATA[ +@SCCAF_INTRO@ + +SCCAF Assesment +=============== + +This module is used to independently asses either SCCAF Optimisation rounds +results or just any clustering contained in an AnnData object that contains also +UMAP embeddings (necessary for the plots shown). The main purpose of this +independent assesment module is to distribute assesment runs after an optimisation. + + +]]></help> + <!-- <expand macro="citations"/> --> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sccaf_macros.xml Mon Oct 14 08:10:33 2019 -0400 @@ -0,0 +1,97 @@ +<macros> + <xml name="requirements"> + <requirements> + <requirement type="package" version="@TOOL_VERSION@">sccaf</requirement> + </requirements> + </xml> + <token name="@TOOL_VERSION@">0.0.7</token> + <token name="@SCCAF_INTRO@"> +SCCAF explained +=============== + +Single Cell Clustering Assessment Framework (SCCAF) is a novel method for +automated identification of putative cell types from single cell RNA-seq +(scRNA-seq) data. By iteratively applying clustering and a machine learning +approach to gene expression profiles of a given set of cells, SCCAF +simultaneously identifies distinct cell groups and a weighted list of feature +genes for each group. The feature genes, which are overexpressed in the +particular cell group, jointly discriminate the given cell group from other +cells. Each such group of cells corresponds to a putative cell type or state, +characterised by the feature genes as markers. + </token> + <token name="@HELP@">More information can be found at https://github.com/SCCAF/SCCAF</token> + <token name="@PLOT_OPTS@"> + #if $do_plotting.plot + -P output.png + --projectio $do_plotting.projection + --components $do_plotting.components + #if $do_plotting.color_by + --color-by $do_plotting.color_by + #end if + #if $do_plotting.groups + --group $do_plotting.groups + #end if + #if $do_plotting.use_raw + --use-raw + #end if + #if $do_plotting.palette + --palette $do_plotting.palette + #end if + #if $do_plotting.show_edges + --edges + #end if + #if $do_plotting.show_arrows + --arrows + #end if + #if not $do_plotting.color_order + --no-sort-order + #end if + #if $do_plotting.omit_frame + --frameoff + #end if +#end if + </token> + <xml name="citations"> + <citations> + <citation type="doi"></citation> + <citation type="bibtex"> + @misc{githubsccaf, + author = {Miao, Zhichao}, + year = {2018}, + title = {SCCAF}, + publisher = {GitHub}, + journal = {GitHub repository}, + url = {https://github.com/Functional-Genomics/SCCAF}, + }</citation> + <yield /> + </citations> + </xml> + <xml name="input_object_params"> + <param name="input_obj_file" argument="--input-object-file" type="data" format="h5" label="Input object in AnnData hdf5 format" help="Normally the result of Scanpy (or equivalent), which already has both a visualisation (either tSNE, UMAP or PCA - needed) and clustering (ideally) pre-computed."/> + <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, current support is incomplete</option> + </param> + </xml> + <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, current support is defective</option> + </param> + </xml> + <xml name="output_plot_params"> + <param name="color_by" argument="--color-by" type="text" value="n_genes" label="Color by attributes, comma separated strings"/> + <param name="groups" argument="--groups" type="text" optional="ture" label="Restrict plotting to named groups, comma separated strings"/> + <param name="projection" argument="--projection" type="select" label="Plot projection"> + <option value="2d" selected="true">2D</option> + <option value="3d">3D</option> + </param> + <param name="components" argument="--components" type="text" value="1,2" label="Components to plot, comma separated integers"/> + <param name="palette" argument="--palette" type="text" optional="true" label="Palette"/> + <param name="use_raw" argument="--use-raw" type="boolean" checked="false" label="Use raw attributes if present"/> + <param name="show_edges" argument="--edges" type="boolean" checked="false" label="Show edges"/> + <param name="show_arrows" argument="--arrows" type="boolean" checked="false" label="Show arrows"/> + <param name="color_order" argument="--no-sort-order" type="boolean" checked="true" label="Element with high color-by value plot on top"/> + <param name="omit_frame" argument="--frameoff" type="boolean" checked="false" label="Show frame"/> + </xml> +</macros>