view mda_heatmap_gen.xml @ 34:58437af2d675 draft

Uploaded
author insilico-bob
date Thu, 08 Feb 2018 14:45:46 -0500
parents 0097750ad7ad
children 6ad3c487987d
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8" ?>
<tool id="mda_heatmap_gen" name="NG-CHM Generator" version="2.3">
   <requirements>
     <requirement type="package" version="3.4.1">r-base</requirement> 
   </requirements>
   <description>Create Clustered Heat Maps</description>
   <command interpreter="bash" detect_errors="aggressive">$__tool_directory__/heatmap.sh  "standard" "Heat_Map_$hmname" "$hmdesc" '$inputmatrix' ${d_rows.rowOrderMethod} ${d_rows.rowDistanceMeasure} ${d_rows.rowAgglomerationMethod} ${d_cols.columnOrderMethod} ${d_cols.columnDistanceMeasure} ${d_cols.columnAgglomerationMethod} $summarymethod '$__tool_directory__;$__tool_data_path__/' 0 0 labels labels 'None'
    #for $op in $operations
       ${op.class_name}
       ${op.repeatinput.file_name}
       ${op.cat}
      #end for
 	'$output' 
 </command>
	<stdio>
      <exit_code range="1:" level="fatal" />
	</stdio>
  <inputs>
    <param name="inputmatrix" type="data" format="Tabular" label="Input Data Matrix" help="Tab delimited text file with row labels, column labels, and data."  />
    <param name="hmname" size="40" type="text" value="Heat_Map_name"  label="Heat Map Name" help="Short Name for heat map (no spaces)."/>
           <sanitizer>
              <valid>
                <add preset="string.printable"/>
<!--            <add value="string.letters"/>
                <add value="string.digits"/>
                <add value="-"/>
                <add value="_"/>
-->
            	<remove value="&quot;"/>
            	<remove value="&apos;"/>
                <remove value=" "/> 
              </valid>
           </sanitizer>
    <param name="hmdesc" size="100" optional="true" type="text" value="Heat_Map_description" label="Heat Map Description" help="Longer description of the heat map contents."/>
           <sanitizer>
              <valid>
                <add preset="string.printable"/>
                <add value="string.letters"/>
                <add value="string.digits"/>
                <add value="-"/>
                <add value="_"/>
            	<remove value="&quot;"/>
            	<remove value="&apos;"/>
                <remove value=" "/> 
              </valid>
           </sanitizer>
    <param name="summarymethod" 	type="select"  label="Data Summarization Method" help="For large matrices, the selected method is used to aggregate data values in the summary view.">
		<option value="average">Average</option>
		<option value="sample">Sample</option>
		<option value="mode">Mode</option>
    </param>
    <conditional name="d_rows">
	<param name="rowOrderMethod" type="select" label="Row ordering method" help="Determine if rows should be clustered, randomized, or remain as is.">
		<option value="Hierarchical">Hierarchical Clustering</option>
		<option value="Original">Original Order</option>	    
		<option value="Random">Random</option>	    
	</param>
        <when value="Hierarchical">
			<param name="rowDistanceMeasure" type="select"  label="Row Distance Metric" help="For clustering, select the method of determining distance between rows">
				<option value="euclidean">Euclidean</option>
				<option value="binary">Binary</option>
				<option value="manhattan">Manhattan</option>
				<option value="maximum">Maximum</option>
				<option value="canberra">Canberra</option>	    
				<option value="minkowski">Minkowski</option>	    
				<option value="correlation">Correlation</option>	    
			</param>
			<param name="rowAgglomerationMethod" type="select"  label="Row Clustering Method" help="For clustering, select algorithm for building clusters.">
				<option value="average">Average Linkage</option>
				<option value="complete">Complete Linkage</option>
				<option value="single">Single Linkage</option>
				<option value="ward" selected="true">Ward</option>
				<option value="mcquitty">Mcquitty</option>	    
				<option value="median">Median</option>	    
				<option value="centroid">Centroid</option>	    
			</param>
        </when>
        <when value="Original">
		    <param name="rowDistanceMeasure" type="text" size="0"   hidden="true"  value="n/a"/>
		    <param name="rowAgglomerationMethod" type="text" size="0"  hidden="true"   value="n/a"/>
        </when>
        <when value="Random">
		    <param name="rowDistanceMeasure" type="text" size="0" hidden="true"    value="n/a"/>
		    <param name="rowAgglomerationMethod" type="text" size="0" hidden="true"    value="n/a"/>
        </when>
    </conditional>
	<conditional name="d_cols">
	<param name="columnOrderMethod" type="select" label="Column ordering method" help="Determine if columns should be clustered, randomized, or remain as is.">
		<option value="Hierarchical">Hierarchical Clustering</option>
		<option value="Original">Original Order</option>	    
		<option value="Random">Random</option>	    
	</param>
        <when value="Hierarchical">
			<param name="columnDistanceMeasure" type="select"  label="Column Distance Metric" help="For clustering, select the method of determining distance between columns">
				<option value="euclidean">Euclidean</option>
				<option value="binary">Binary</option>
				<option value="manhattan">Manhattan</option>
				<option value="maximum">Maximum</option>
				<option value="canberra">Canberra</option>	    
				<option value="minkowski">Minkowski</option>	    
				<option value="correlation">Correlation</option>	    
			</param>
			<param name="columnAgglomerationMethod" type="select"  label="Column Clustering Method" help="For clustering, select algorithm for building clusters.">
				<option value="average">Average Linkage</option>
				<option value="complete">Complete Linkage</option>
				<option value="single">Single Linkage</option>
				<option value="ward" selected="true">Ward</option>
				<option value="mcquitty">Mcquitty</option>	    
				<option value="median">Median</option>	    
				<option value="centroid">Centroid</option>	    
			</param>
        </when>
        <when value="Original">
		    <param name="columnDistanceMeasure" type="text" size="0" hidden="true"    value="n/a"/>
		    <param name="columnAgglomerationMethod" type="text" size="0"   hidden="true"  value="n/a"/>
        </when>
        <when value="Random">
		    <param name="columnDistanceMeasure" type="text" size="0"  hidden="true"   value="n/a"/>
		    <param name="columnAgglomerationMethod" type="text" size="0" hidden="true"    value="n/a"/>
        </when>
    </conditional>
    <repeat name="operations" title="Covariate Bars">
        <param name="class_name" size="25" type="text" value="" label="Covariate Name" help="Covariate heat map display label.">
           <sanitizer>
              <valid>
                <add preset="string.printable"/>
            	<remove value="&quot;"/>
            	<remove value="&apos;"/>
                <remove value=" "/> 
              </valid>
           </sanitizer>
        </param>
        <param name="repeatinput" type="data" format="Tabular" label="Covariate File" help="Tab delimited text file with row or column label and covariate value on each line."/>
	<param name="cat" type="select" label="Axis Covariate Type" help="Identify the covariate as belonging to rows or columns and containing categorical or continuous values.">
	  <option value="row_categorical" >Row Categorical</option>
	  <option value="row_continuous" >Row Continuous</option>
	  <option value="column_categorical" >Column Categorical</option>
	  <option value="column_continuous" >Column Continuous</option>
	</param>
    </repeat>       
  </inputs>
  <outputs>
    <data name="output" label='Heat_Map_$hmname' format="ngchm"/>
  </outputs>
 <tests>
    <test>
      <param name="inputmatrix" value="400x400.txt" />
      <param name="hmname" value="testRun" />
      <param name="$hmdesc" value="validateTool" />
      <param name="summarymethod" value="Average" />
      <param name="rowOrderMethod" value="Hierarchical" />
      <param name="rowDistanceMeasure" value="Manhattan" />
      <param name="rowAgglomerationMethod" value="Ward" />
      <param name="columnOrderMethod" value="Hierarchical" />
      <param name="columnDistanceMeasure" value="Manhattan" />
      <param name="columnAgglomerationMethod" value="Ward" />
      <output name="output" file="Galaxy400x400-noCovariates.ngchm" lines_diff="10" />     

    </test>
<!--   galaxy/test-data/    dir where the input and output file that should match tool output will be copied -->
  </tests>
 </tool>