view pipe-t.xml @ 0:185ba61836ab draft

planemo upload for repository https://github.com/igg-molecular-biology-lab/pipe-t.git commit 04049039da97e1c9a8048e732afca48f2741cadf
author davidecangelosi
date Thu, 02 May 2019 04:49:04 -0400
parents
children ecd0a79e8130
line wrap: on
line source

<?xml version="1.0"?>
<tool id="pipe-t" name="PIPE-T" version="1.0" hidden="false">
<description>A tool for analyzing RTqPCR expression data </description>
<requirements>
  <requirement type="package" version="3.5.0">r-base</requirement>
  <requirement type="package" version="7.2.0">libgcc</requirement>
  <requirement type="package" version="1.36.0">bioconductor-htqpcr</requirement>
  <requirement type="package" version="3.8.0">bioconductor-rankprod</requirement>
  <requirement type="package" version="1.56.0">bioconductor-impute</requirement>
<requirement type="package" version="1.11.0">r-bbmisc</requirement>
<requirement type="package" version="1.8.4">r-psych</requirement>
<requirement type="package" version="1.8_1">r-zoo</requirement>
<requirement type="package" version="2.10.0">bioconductor-nondetects</requirement>
<requirement type="package" version="4.1_1">r-hmisc</requirement>
</requirements>
<stdio>
   <exit_code range="1:" />
</stdio>
<command>
    <![CDATA[
    #for $input in $dp.list_files
    ln -sf '$input' '$__tool_directory__/Symlink/${input.element_identifier}';
    #end for

    #if str( $dn.condNorm.normMethod ) == "deltaCt":
      #if str( $df.condImpute.format ) == "mestdagh" or str( $df.condImpute.format ) == "mean" or str( $df.condImpute.format ) == "median" or str( $df.condImpute.format ) == "nondetects" or str( $df.condImpute.format ) == "cubic": 
          #if str( $de.condDEA.method ) == "ttest":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $de.condDEA.alternative $de.condDEA.paired $de.condDEA.replicates $de.condDEA.sort $de.condDEA.stringent $de.condDEA.padjust $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "rp":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "none":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
      #end if

      #if str( $df.condImpute.format ) == "knn":
          #if str( $de.condDEA.method ) == "ttest":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $de.condDEA.alternative $de.condDEA.paired $de.condDEA.replicates $de.condDEA.sort $de.condDEA.stringent $de.condDEA.padjust $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "rp":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
           #if str( $de.condDEA.method ) == "none":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod "$dn.condNorm.normalizers" $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
      #end if
    #else
      #if str( $df.condImpute.format ) == "mestdagh" or str( $df.condImpute.format ) == "mean" or str( $df.condImpute.format ) == "median" or str( $df.condImpute.format ) == "nondetects" or str( $df.condImpute.format ) == "cubic":
          #if str( $de.condDEA.method ) == "ttest":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $de.condDEA.alternative $de.condDEA.paired $de.condDEA.replicates $de.condDEA.sort $de.condDEA.stringent $de.condDEA.padjust $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "rp":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "none":
              Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
      #end if

      #if str( $df.condImpute.format ) == "knn":
          #if str( $de.condDEA.method ) == "ttest":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $de.condDEA.alternative $de.condDEA.paired $de.condDEA.replicates $de.condDEA.sort $de.condDEA.stringent $de.condDEA.padjust $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "rp":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
          #if str( $de.condDEA.method ) == "none":
                Rscript $__tool_directory__/pipe-t.R $dp.files "$dp.formatFile" $dp.n $galaxy_output1 "$__tool_directory__/Symlink" $dc.Ctmin $dc.Ctmax $dc.flag $galaxy_output2 $dn.condNorm.normMethod $galaxy_output3 $galaxy_output4 $df.percent $galaxy_output5 $df.condImpute.format $df.condImpute.k $df.condImpute.maxp $galaxy_output6 $de.condDEA.method $galaxy_output7 "$df.filtname";
          #end if
      #end if
    #end if
]]>
</command>
<inputs>
<section name="dp" title="File uploading and parsing" expanded="true">
  <param name="list_files" type="data_collection" collection_type="list" value="" label="Select a collection list of TaqMan
  Low Density Array files in the history tab" help="Collection should be of category List. "/>
 	<param name="files" type="data" format="txt" label="Select one of the files in the history tab" help="File should contains only the fields: sampleName and Treatment." />
  <param name="formatFile" type="select"  label="Select one of the file formats from the list below." help="">
      <option value="EDS" selected="true">EDS</option>
      <option value="plain">Plain</option>
      <option value="SDS" >SDS</option>
      <option value="LightCycler" >LightCycler</option>
      <option value="CFX">CFX</option>
      <option value="OpenArray" >OpenArray</option>
      <option value="BioMark" >BioMark</option>
    </param>
    <param name="n" type="integer" min="1" max="1000" value="384" label="Type the number of transcripts in your file" />
</section>
<section name="dc" title="Ct filtering and categorization" expanded="true">
  <param name="Ctmin" type="integer" min="0" max="40" value="14" label="Set up a minimum Ct value"
 help="Any Ct below your selected value will be labelled as Unreliable." />
  <param name="Ctmax" type="integer" min="0" max="40" value="32" label="Set up a maximum Ct value"
 help="Any Ct above your selected value will be labelled as Unreliable."/>
  <param name="flag" type="select" label="Select TRUE if you want that PIPE-T assigns category 'Unreliable' on the basis of FAILURE flag" help="Data in qPCRset objects will have feature categories (Unreliable, Undetermined) assigned to them based on different Ct criteria.">
      <option value="TRUE">TRUE</option>
      <option value="FALSE">FALSE</option>
  </param>
</section>
<section name="dn" title="Normalization" expanded="true">
  <conditional name="condNorm">
    <param name="normMethod" type="select" label="Select one of the normalization methods from the list below." help="Normalization is important to reduce technical variability from the data.">
      <option value="globalmean" selected="true">Global mean</option>
      <option value="deltaCt">DeltaCt method (housekeeping genes)</option>
      <option value="geometric.mean">Modified global mean</option>
      <option value="quantile">Quantile</option>
      <option value="norm.rankinvariant">Rank invariant</option>
      <option value="scale.rankinvariant">Scale rank invariant</option>
    </param>
    <when value="deltaCt">
      <param name="normalizers" type="text" label="Type a comma separated list of housekeeping transcript identifiers that will be used as normalizers." value="U6 snRNA-001973">
      	  </param>
    </when>
  </conditional>
</section>
<section name="df" title="Transcript filtering and imputation" expanded="true">
  <param name="percent" type="integer" min="0" max="100" value="0" label="Set up a percentage of NAs."
 help="miRs\genes with more than the specified percentage of NAs across samples will be removed." />
<param name="filtname" type="text" label="Type a comma separeted list of transcript identifiers to filter out" help="transcript identifiers specified in the List will be removed." value="U6 snRNA-001973,hsa-miR-520a">
    </param>
  <conditional name="condImpute">
    <param name="format" type="select"  label="Select one of the imputation methods from the list below." help="">
      <option value="mestdagh" selected="true">Mestdagh</option>
      <option value="knn">K-Nearest Neighbour</option>
      <option value="mean">Mean</option>
      <option value="median">Median</option>
      <option value="cubic">Cubic Spline</option>
      <option value="nondetects">Non-detects</option>
    </param>
    <when value="knn">
      <param name="k" type="integer" min="1" max="100" value="10" label="Type a number of neighbors to use by the KNN imputation method" />
      <param name="maxp" type="integer" min="1" max="2000" value="1500" label="Type the maximum number of imputed transcript by  KNN method." help="Larger numbers are divided by two-means clustering (recursively)
      prior to imputation. "/>
    </when>
  </conditional>
  </section>
  <section name="de" title="Differential expression analysis" expanded="true">
    <conditional name="condDEA">
      <param name="method" type="select"  label="Select one of the methods from the list below or NONE.">
        <option value="ttest" selected="true">T-test and fold change</option>
        <option value="rp">Rank Product (Only for unpaired data)</option>
        <option value="none">NONE</option>
      </param>
      <when value="ttest">
        <param name="alternative" type="select"  label="Select one of the types of alternative hypothesis to assess significance.">
          <option value="two.sided" selected="true">Two sided</option>
          <option value="greater">Greater</option>
          <option value="less">Lower</option>
        </param>
        <param name="paired" type="select" label="Select TRUE if you want a paired analysis?" help="Pairing of samples will follow the order of the sampleNames in the input file">
            <option value="TRUE" >TRUE</option>
            <option value="FALSE" selected="true">FALSE</option>
        </param>
        <param name="replicates" type="select" label="Select TRUE if you have replicated miR\gene in your data" help="If replicated miRs\genes are present in the data, the statistics will be calculated once for each replicated miR\gene, rather than the separately.">
            <option value="TRUE" selected="true">TRUE</option>
            <option value="FALSE" >FALSE</option>
        </param>
        <param name="sort" type="select" label="Select TRUE if you want the output to be sorted by increasing order of p-value?" help="">
            <option value="TRUE" selected="true">TRUE</option>
            <option value="FALSE" >FALSE</option>
        </param>
        <param name="stringent" type="select" label="Select TRUE to admit more stringent analysis." help=" If stringent is TRUE any unreliable or undetermined measurements among technical and
biological replicates will result in the final result being Undetermined. If stringent is FALSE result will be OK unless at least half of the Ct values for a given gene are unreliable/undetermined.">
            <option value="TRUE" selected="true">TRUE</option>
            <option value="FALSE" >FALSE</option>
        </param>
        <param name="padjust" type="select"  label="Select one of the methods to adjust pvalues for multiple hypothesis testing">
          <option value="BH" selected="true">Benjamini-Hochberg</option>
          <option value="bonferroni">Bonferroni</option>
        </param>
      </when>
      <when value="rp">
      </when>
    </conditional>
    </section>
</inputs>
<outputs>
  <data format="txt" name="galaxy_output1" label="1_Ct_Raw"/>
  <data format="png" name="galaxy_output2" label="2_Boxplot after data categorization"/>
  <data format="txt" name="galaxy_output3" label="3_Normalized data"/>
  <data format="png" name="galaxy_output4" label="4_ECDF"/>
  <data format="png" name="galaxy_output6" label="5_Boxplot after data normalization"/>
  <data format="txt" name="galaxy_output5" label="6_Imputed data"/>
  <data format="txt" name="galaxy_output7" label="7_Differentially Expressed transcripts"/>
</outputs>

<help>
<![CDATA[
**What it does**
INPUTS: This tool parses a list of RTqPCR file and a file with the groups
OUTPUTS: and returs
1) A txt file with the raw Ct data
2) A PNG file with a boxplot of Ct data after data categorization for each sample
3) A txt file with deltaCt data after data normalization
4) A PNG file with the Empirical cumulative distribution before and after data normalization
5) A PNG file with boxplot of deltaCt data after data normalization
6) A txt file after imputation of missing values
7) A txt file with a number statistics about the significance of each miR\gene
]]>
</help>
<citations>
        <citation type="bibtex">
    @Manual{HTqPCR,
        title = {HTqPCR: Automated analysis of high-throughput qPCR data.},
        author = {Heidi Dvinge, Paul Bertone},
        year = {2009},
        note = {R package version 1.36.0},
        url = {http://bioconductor.org/packages/HTqPCR/},
    }
        </citation>
        <citation type="bibtex">
    @Manual{impute,
        title = {Impute: Imputation for microarray data.},
        author = {Trevor Hastie, Robert Tibshirani, Balasubramanian Narasimhan, Gilbert Chu},
        year = {2018},
        note = {R package version 1.56.0},
        url = {http://bioconductor.org/packages/impute/},
    }
        </citation>
        <citation type="bibtex">
    @Manual{RankProd,
        title = {RankProd:  Rank Product method for identifying differentially expressed
genes with application in meta-analysis.},
        author = {Francesco Del Carratore},
        year = {2018},
        note = {R package version 3.8.0},
        url = {http://bioconductor.org/packages/RankProd/},
    }
        </citation>
    </citations>

</tool>