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>
Binary file static/images/example_sccaf_workflow.png has changed