view 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 source

<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>