Mercurial > repos > ebi-gxa > sccaf_asses_merger
changeset 0:933fad89b50a 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:11:06 -0400 |
parents | |
children | 99d15ded4d5f |
files | sccaf_asses_merger.xml sccaf_macros.xml static/images/example_sccaf_workflow.png |
diffstat | 3 files changed, 152 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sccaf_asses_merger.xml Mon Oct 14 08:11:06 2019 -0400 @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<tool id="sccaf_asses_merger" name="SCCAF Assesment Merger" version="@TOOL_VERSION@+galaxy0"> + <description>brings together distributed assesments.</description> + <macros> + <import>sccaf_macros.xml</import> + </macros> + <expand macro="requirements"/> + <command detect_errors="exit_code"><![CDATA[ + +mkdir -p asses_results; +#for $assesment in $assesments: + ln -s '$assesment' asses_results/sccaf_assess_${assesments.index($assesment)}.txt; +#end for + +touch rounds.txt; +#for $round_file in $round_files + cat '$round_file' >> rounds.txt; +#end for + +sccaf-assess-merger -i asses_results -r rounds.txt -o report_merge.pdf + +]]></command> + + <inputs> + <param type="data" name="assesments" label="Assesment results" format="txt" multiple="true" help="A collection of results of SCCAF Assesment for the same or different rounds of the Run SCCAF optimisation process." /> + <param type="data" name="round_files" label="Files containing names of rounds executed, produced by run-scaff" format="txt" multiple="true" help="Round files collection from Run SCCAF."/> + </inputs> + + <outputs> + <data name="accuracy_plot" format="pdf" from_work_dir="report_merge.pdf" label="${tool.name} on ${on_string} assesment report pdf"/> + </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="accuracy_plot" file="report_merge.pdf" ftype="pdf"/> + </test> + </tests> + + <help><![CDATA[ +@SCCAF_INTRO@ + +The main tool in the SCCAF suite is Run SCCAF. The purpose of this tool is to +merge multiple runs of SCCAF Assesment and produce a single plot that compares +Test accuracy and Cross Validations, towards deciding on the best solution +provided by the optimisation process. + +To produce the required Round files collection, RUN SCCAF needs to be run in +optimisation mode and enable the `Produce parameter walk for asessment distribution` +option. +]]></help> + <!-- <expand macro="citations"/> --> +</tool>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sccaf_macros.xml Mon Oct 14 08:11:06 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>