view fcs_gate_trans/FCSGateTrans.xml @ 0:78b8ab344edd draft

Uploaded
author immport-devteam
date Mon, 27 Feb 2017 12:51:24 -0500
parents
children
line wrap: on
line source

<tool id="fcs_gate_trans_convert" name="Automated gating, Transformation and Conversion of FCS to Text" version="1.0">
  <description>using FlowDensity and the FCSTrans tranformation.</description>
  <requirements>
    <requirement type="package" version="3.3.0">r</requirement>
    <requirement type="package" version="1.38.2">bioconductor-flowcore</requirement>
    <requirement type="package" version="1.6.0">bioconductor-flowdensity</requirement>
  </requirements>
  <stdio>
    <exit_code range="2:" level="fatal" description="See stderr for more details." />
  </stdio>
  <command><![CDATA[
      Rscript --slave --vanilla $__tool_directory__/FCSGateTrans.R --args "${input}" "${output}" $comp "${fcsout}" "${graph}" "${report}" "${transform.trans_method}"
    #if $transform.trans_method == "arcsinh"
      $transform.scaling_factor
    #end if
  ]]>
  </command>
  <inputs>
    <param format="fcs" name="input" type="data" label="FCS file"/>
    <param name="comp" type="boolean" checked="false" truevalue="TRUE" falsevalue="FALSE" label="Compensate?"/>
    <conditional name="transform">
      <param name="trans_method" type="select" label="Transformation using:" help="by default, FCSTrans">
        <option value="logicle">FCSTrans</option>
        <option value="arcsinh">arcsinh</option>
        <option value="None">no transformation please.</option>
      </param>
      <when value="arcsinh">
        <param name="scaling_factor" type="integer" min="1" max="200" value="150" label="Scaling factor b for arcsinh transform:" help="The default value is 150 for standard FCM data. The recommended value for cyTOF data is 5.">
        </param>
      </when>
    </conditional>
    <param name="gate" type="select" label="Automatically gate debris?">
      <option value="FALSE">No, thank you</option>
      <option value="TRUE">Yes, please</option>
    </param>
    <param name="format" type="select" label="Output FCS3.0?">
      <option value="FALSE">No, thank you</option>
      <option value="TRUE">Yes, please</option>
    </param>
  </inputs>
  <outputs>
    <data format="flowtext" name="output" label="FCSGateTrans on ${input.name}"/>
    <data format="fcs" name="fcsout" label="FCSGateTrans in FCS3.0 format on ${input.name}">
      <filter>format=="TRUE"</filter>
    </data>
    <data format="pdf" name="graph" label="Graphs of automated gating on ${input.name}">
      <filter>gate=="TRUE"</filter>
    </data>
    <data format="txt" name="report" label="Report of automated gating on ${input.name}">
      <filter>gate=="TRUE"</filter>
    </data>
  </outputs>
  <tests>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="FALSE"/>
      <param name="gate" value="FALSE"/>
      <param name="format" value="FALSE"/>
      <param name="trans_method" value="logicle"/>
      <output name="output" file="nocomp.flowtext"/>
    </test>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="FALSE"/>
      <param name="gate" value="FALSE"/>
      <param name="format" value="FALSE"/>
      <param name="trans_method" value="None"/>
      <output name="output" file="notrans.flowtext"/>
    </test>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="FALSE"/>
      <param name="gate" value="FALSE"/>
      <param name="format" value="FALSE"/>
      <param name="trans_method" value="arcsinh"/>
      <param name="scaling_factor" value="150"/>
      <output name="output" file="arcsinh150.flowtext"/>
    </test>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="TRUE"/>
      <param name="gate" value="FALSE"/>
      <param name="format" value="FALSE"/>
      <param name="trans_method" value="logicle"/>
      <output name="output" file="withcomp.flowtext"/>
    </test>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="TRUE"/>
      <param name="gate" value="TRUE"/>
      <param name="format" value="FALSE"/>
      <param name="trans_method" value="logicle"/>
      <output name="output" file="withcomp.flowtext"/>
      <output name="graph" file="graph.pdf" compare="sim_size"/>
      <output name="report" file="report.txt"/>
    </test>
    <test>
      <param name="input" value="testfcs1.fcs"/>
      <param name="comp" value="TRUE"/>
      <param name="gate" value="TRUE"/>
      <param name="format" value="TRUE"/>
      <param name="trans_method" value="logicle"/>
      <output name="output" file="withcomp.flowtext"/>
      <output name="fcsout" file="comp_gated.fcs" compare="sim_size"/>
      <output name="graph" file="graph.pdf" compare="sim_size"/>
      <output name="report" file="report.txt"/>
    </test>
  </tests>
  <help><![CDATA[
   This tool allows automated gating of debris using flowDensity and conversion of FCS files to text using the FCSTrans transformation.

-----

**Input files**

This tool uses FCS files as input and files are processed serially. Users choose to automatically gate cellular debris, and/or compensate the data.

**Output files**

Output is tab-separated text containing transformed fluorescence intensity values for each marker.
If the option is selected, a FCS file (format FCS3.0) is generated.

**Gating output**

Automatically gated output includes a summary of data pre- and post-gating as well as density scatter plots pre- and post- gating for each marker pair.

-----

Compensation will be implemented according to the spillover matrix included in the FCS files (if available).

-----

**Automated Gating**

Automated gating is implemented with flowDensity. Cellular debris removal uses gate coordinates calculated based on the density of the forward scatter channel only. The calculated gate is vertical and located at the largest value of either the 0.1 quantile of the FSC density or the lowest density between the first and second density peaks. Cells smaller than the threshold are removed.

.. class:: warningmark

Users should verify whether data benefit from being gated. We recommend evaluating the number of events and scatter plots pre- and post-gating.

-----

**Example**

*Output text file*::

   Forward Scatter Side Scatter Marker1 Marker2 Marker3 Marker4
   449             157          551     129     169     292
   894             1023	        199     277     320     227
   262             73           437     69      0       146
   340             115          509     268     0       74

*Gating summary*::

   =========================
   ==    BEFORE GATING    ==
   =========================
       events parameters
       203584         13
           FSC-A FSC-H SSC-A  SSC-H APC-A APC-H7-A FITC-A PerCP-Cy5-5-A V450-A V500-A   PE-A PE-Cy7-A  Time
   Min.        0    78     0    0.0     0      0.0      0             0      0      0    0.0        0     0
   1st Qu.   869   769   544  514.0   940      0.0   1023           826    978   1104  358.8      913  4182
   Median   1234  1081   754  704.0  1750     31.0   1247          1614   1971   1505 1612.0     1791  8392
   Mean     1304  1108  1002  863.6  1629    812.8   1329          1597   1694   1765 1376.0     1813  8536
   3rd Qu.  1675  1474  1240 1087.0  2326   1573.0   1629          2565   2326   2640 2261.0     2782 12760
   Max.     4095  4061  4095 4012.0  4096   4086.0   4094          4022   4091   4096 4093.0     4096 17740

   =========================
   ==    AFTER  GATING    ==
   =========================
       events parameters
       171547         13
           FSC-A FSC-H  SSC-A  SSC-H APC-A APC-H7-A FITC-A PerCP-Cy5-5-A V450-A V500-A PE-A PE-Cy7-A  Time
   Min.      403   219    1.0    4.0     0      0.0      0             0      0      0    0        0     0
   1st Qu.   949   849  599.0  565.0   979      0.0   1063           943   1203   1119  444     1060  4182
   Median   1348  1170  782.0  730.0  1809      0.0   1258          1717   2082   1493 1785     1883  8358
   Mean     1353  1177  989.2  885.9  1642    779.4   1330          1678   1778   1753 1458     1873  8504
   3rd Qu.  1670  1475 1204.0 1076.0  2322   1559.0   1591          2623   2345   2630 2289     2808 12700
   Max.     2953  2406 4055.0 3329.0  4069   4080.0   3498          3868   3612   4076 4093     3764 17730

*Gating plots*:

.. image:: static/images/flowdensity.png
  ]]>
  </help>
  <citations>
    <citation type="doi">10.1002/cyto.a.22037</citation>
    <citation type="doi">10.1093/bioinformatics/btu677</citation>
    <citation type="doi">10.1186/1471-2105-10-106</citation>
  </citations>
</tool>