diff metacyto_autocluster.xml @ 0:c744db871f90 draft default tip

"planemo upload for repository https://github.com/AstraZeneca-Omics/immport-galaxy-tools/tree/master/flowtools/metacyto_autocluster commit 3cc1083d473530ed4f7439d590568baa51a46857"
author azomics
date Tue, 27 Jul 2021 23:00:49 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/metacyto_autocluster.xml	Tue Jul 27 23:00:49 2021 +0000
@@ -0,0 +1,155 @@
+<tool id="metacyto_autocluster" name="Autoclustering analysis" version="1.0+galaxy0" profile="18.01">
+  <description>using MetaCyto</description>
+  <requirements>
+    <!-- <requirement type="package" version="1.42.0">bioconductor-flowcore</requirement> -->
+    <!-- flowcore is already a dependency of MetaCyto -->
+    <requirement type="package" version="1.4.0">bioconductor-metacyto</requirement>
+  </requirements>
+  <stdio>
+    <exit_code range="1:9" />
+    <exit_code range="10" level="fatal" description="Please provide valid input FCS files." />
+    <exit_code range="11" level="fatal" description="Please provide FCS files pre-processed for MetaCyto." />
+    <exit_code range="12" level="fatal" description="Pre-processing summary doesn't match the set of FCS files." />
+    <exit_code range="13" level="fatal" description="The pre-processing summary is in the wrong format." />
+    <exit_code range="14" level="fatal" description="Please provide a cluster definition" />
+    <exit_code range="15:" />
+  </stdio>
+  <command><![CDATA[
+    Rscript --slave --vanilla '$__tool_directory__/metacyto_autocluster.R' '${summary}' '${clr_option.clustering}' '${quantile}' '${min_event}' '${ex_param}' 'fcs_stats' '${cluster_list}'
+  #if $more_cluster_def.more_def == "TRUE"
+    '${more_cluster_def.first_def}'
+    #for $r in $more_cluster_def.cl_df
+      '${r.cluster_def}'
+    #end for
+  #end if
+  'PARAM'
+  #if $clr_option.clustering == "FlowSOM"
+    '${clr_option.mcluster}' '${clr_option.xdim}' '${clr_option.ydim}' '${clr_option.seed}'
+  #end if
+  'FCS_FILES'
+  #for $f in $group
+    '${f}' '${f.name}'
+  #end for
+  '${unused}'
+  ]]>
+  </command>
+  <inputs>
+    <param format="metacyto_summary.txt" name="summary" type="data" label="MetaCyto preprocessing summary"/>
+    <param format="fcs" name="group" type="data_collection" collection_type="list" label="FCS files Collection pre-processed for MetaCyto"/>
+    <conditional name="clr_option">
+      <param name="clustering" type="select" label="Clustering algorithm to use:">
+        <option value="FlowSOM">FlowSOM</option>
+        <option value="flowHC">flowHC</option>
+      </param>
+      <when value="FlowSOM">
+        <param name="mcluster" type="integer" value="40" label="Number of expected metaclusters" help="MetaCyto authors recommend using 40, FlowSOM default is 10." />
+        <param name="xdim" type="integer" value="10" label="Grid size, width"/>
+        <param name="ydim" type="integer" value="10" label="Grid size, height"  help="By default, the grid size is 10x10. The grid size specifies the number of clusters." />
+        <param name="seed" type="integer" value="42" label="Seed"  help="Let's be geeks, default is set to 42." />
+      </when>
+    </conditional>
+    <param name="quantile" type="float" value="0.95" min="0.5" max="1" label="Quantile threshold" help="Minimum percent of cells in a cluster expressing more or less than the cutoff value of a marker. The default value is 0.95"/>
+    <param name="min_event" type="float" value="0.05" min="0" max="0.5" label="Minimum percent of cells in the positive and negative region after bisection" help="The default value is 0.05. Keep this factor small to avoid bisecting uni-mode distributions."/>
+    <param name="ex_param" type="text" label="Markers to exclude from clustering analysis:" help="By default FSC, SSC, Time and Cell Length channels are excluded. Providing markers to exclude overrides the default setting. i.e.:FSC,SSC,CD88"/>
+    <conditional name="more_cluster_def">
+      <param name="more_def" type="boolean" label="Add cluster definitions?" checked="false" truevalue="TRUE" falsevalue="FALSE" />
+      <when value="TRUE">
+        <param name="first_def" type="text" label="Additional cluster definition:" help="For example: CD3+,CD4-,CD8+,CCR7+"/>
+        <repeat name="cl_df" title="Cluster:">
+          <param name="cluster_def" type="text" label="Additional cluster definition:" help="For example: CD3+,CD4-,CD8+,CCR7+"/>
+        </repeat>
+      </when>
+    </conditional>
+  </inputs>
+  <outputs>
+    <collection type="list" label="${clr_option.clustering} autoClustering analysis on ${on_string}" name="output">
+      <discover_datasets pattern="(?P&lt;name&gt;.*)" directory="fcs_stats" format="metacyto_stats.txt" />
+    </collection>
+    <data format="tabular" name="unused" label="List of clusters not found in all files from ${on_string}"/>
+    <data format="metacyto_clr.txt" name="cluster_list" label="List of clusters from ${clr_option.clustering} autoClustering analysis of ${group.name}"/>
+  </outputs>
+  <tests>
+    <test>
+      <param name="summary" value="preprocess.metacyto_summary.txt"/>
+      <param name="group">
+        <collection type="list">
+          <element name="Group1" value="Group1.fcs"/>
+          <element name="Group2" value="Group2.fcs"/>
+        </collection>
+      </param>
+      <output name="cluster_list" ftype="metacyto_clr.txt">
+        <assert_contents>
+          <has_n_lines n="80" />
+          <has_text text="CD16-" />
+        </assert_contents>
+      </output>
+      <output name="unused" ftype="tabular">
+        <assert_contents>
+          <has_n_lines n="81" />
+          <has_text text="CD19-" />
+        </assert_contents>
+      </output>
+    </test>
+  </tests>
+  <help><![CDATA[
+This tool uses MetaCyto to cluster events automatically from several sets of FCS files.
+---------------------------------------------------------------------------------------
+
+**Input files**
+
+This tool requires the pre-processing summary generated for MetaCyto as well as the pre-processed FCS files.
+
+**Parameters**
+
+*Quantile threshold*
+
+This value represents the minimum proportion of events in a cluster that should express more (or less) than the cutoff value for a given marker. With a value of 0.8, a cluster will be labeled Marker1+ if over 80% of cells in the cluster express Marker1 at a higher level than a cutoff value determined by the clustering analysis.
+
+*Minimum Number of events*
+
+This value represents the minimum proportion of cells in each region after bisection. Keep this factor small to avoid bisecting uni-mode distributions.
+
+*Markers to exclude*
+
+Please provide a comma-separated list of the markers that should be excluded from the clustering analysis. By default, FSC, SSC, Time and Cell Length channels are excluded, but providing a list of markers overrides the default settings.
+
+*Additional cluster definitions*
+
+Please provide additional gate definitions as comma-separated lists of marker names, for instance "CD3+, CD4+, CD25+, Foxp3+".
+
+*FlowSOM - Number of meta-clusters*
+
+Please indicate the exact number of meta-clusters expected.
+
+*FlowSOM - Grid dimension*
+
+Please indicate the dimension of the grid for establishing the SOM. The dimension of the grid defines the number of clusters (height x width = cluster)
+
+*FlowSOM - Seed*
+
+Please indicate a random number to use as seed. To make your analysis reproducible, use the same seed.
+
+**Output**
+
+This tool generates a list of clusters identified, including optionally provided cluster definitions, as well as a table of the MFI for each marker in each cluster in each file, and proportion of each cluster in each file. A list of unused cluster definitions, if any, is also generated.
+-----
+
+**Example**
+
+*Input* - Pre-Processing Summary Table::
+   study_id antibodies                  filenames
+   group1   Marker1|Marker2|Marker3|... file1.fcs
+   group2   Marker1|Marker2|Marker3|... file2.fcs
+   ...      ...                         ...
+*Output* - Clustering Summary Tables::
+   group_name fcs_files        cluster_id label                      fcs_names        Marker1 Marker2 ... fraction
+   group1     file1_group1.fcs cluster1   Marker1-|Marker2+|Marker3+ file1_group1.fcs 1.9815  0.2024  ... 0.373
+   group1     file2_group1.fcs cluster1   Marker1-|Marker2+|Marker3+ file2_group1.fcs 2.3739  0.3377  ... 0.26
+   ...        ...              ...        ...                        ...              ...     ...     ... ...
+*Output* - Cluster List::
+   Marker1+|Marker3-
+   Marker1-|Marker2+|Marker3-
+   ...
+  ]]>
+  </help>
+</tool>