Mercurial > repos > md-anderson-bioinformatics > matrix_manipulation
diff Matrix_Manipulation.xml @ 1:f1bcd79cd923 draft default tip
Uploaded
author | insilico-bob |
---|---|
date | Tue, 27 Nov 2018 14:20:40 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Matrix_Manipulation.xml Tue Nov 27 14:20:40 2018 -0500 @@ -0,0 +1,406 @@ +<?xml version='1.1' encoding='utf-8'?> +<tool id="Matrix_Manipulation" name="Matrix Manipulation" version="1.2.4"> + <description> Data manipulation before heatmap creation</description> + + <command interpreter="bash" detect_errors="aggressive"> + $__tool_directory__/Matrix_Manipulation.sh '$__tool_directory__' '${manipulation.option}' '$p_input' '$output_file' + '${manipulation.extra.choice}' '${manipulation.extra.thresh}' '${manipulation.extra.axis}' + '${manipulation.extra.transpose}' '${manipulation.extra.input2}' '${manipulation.extra.offsetvalue}' '${manipulation.extra.scalevalue}' + + </command> + + <inputs> + <param name="p_input" type="data" format="tabular" label="Input Matrix" /> + <conditional name="manipulation"> + <param name="option" type="select" label="Choose Manipulation Method"> + <option value="Matrix_Validations">Missing or Invalid Data</option> + <option value="Matrix_Filters">Filter Data</option> + <option value="Matrix_Transformations">Transform Data</option> + <option value="Matrix_Multiply">Multiply or Correlate Matrices</option> + <!-- <option value="Matrix_Statistics">View metadata about Heat Map Matrix</option> --> + <!-- <option value="Split_ExcelTabs_IntoFiles">Split Excel tabs into separate tab delimited files</option> --> + </param> + + + <when value="Matrix_Validations"> + <conditional name="extra"> + <param name="choice" type="select" label="Replace Invalid Value with:"> + <option value="Mean">Mean</option> + <option value="Zero">Zero</option> + </param> + <when value="Mean"> + <param name="axis" type="select" label="Choose Axis:"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="Zero"> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + </conditional> + </when> + + + + <when value="Matrix_Filters"> + <conditional name="extra"> + <param name="choice" type="select" label="Filter Criteria:"> + <option value="LowerLimit">Remove row/column if any cell is less than threshold value</option> + <option value="UpperLimit">Remove row/column if any cell is greater than threshold value</option> + <option value="NANlimit">Remove row/column if number of invalid cells exceeds threshold value </option> + <option value="NANpercent">Remove row/column if invalid cells exceeds threshold percent</option> + <!-- <option value="VarianceValue">Remove row/column if Variance is below threshold value</option> --> + <option value="VarianceCount">Remove row/column if Variance is not in top row/column count</option> + <option value="VariancePercent">Remove row/column if Variance is not in top percent</option> + <!-- <option value="MADcount">Remove row/column if Median Absolute Deviation (MAD) is not in top row/column count</option> + <option value="MADpercent">Remove row/column if Median Absolute Deviation (MAD) is not in top percent</option> --> + <!-- <option value="Covariance">Remove row/column if covariance exceeds threshold value</option> + <option value="Median">Remove row/column if Median is less than threshold value</option> + <option value="MADvalue">Remove row/column if Median Absolute Deviation (MAD) is below threshold value</option> + <option value="Mean">Remove row/column if Mean is less than threshold value</option> + <option value="Quantile">Remove row/column if less than Quantile_Cutoff</option> + <option value="GeneList">Keep only these genes</option> + <option value="Histogram">View filter histogram</option> + --> + </param> + <when value="LowerLimit"> + <param name="thresh" type="float" size="5" value="0.01" label="Absolute minimum value" help="Lowest value allowed or row/col removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="UpperLimit"> + <param name="thresh" type="float" size="5" value="0.9" label="Absolute maximum value" help="Highest value allowed or row/col removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="NANlimit"> + <param name="thresh" type="integer" size="5" value="50" label="Maximum number NANs" help="More NANs per row/col removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="NANpercent"> + <param name="thresh" type="integer" size="5" value="20" label="Percent maximum" help="Above percent rows/cols removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="VariancePercent"> + <param name="thresh" type="integer" size="5" value="90" label="Percentile minimum" help="Below percentile rows/cols removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="VarianceCount"> + <param name="thresh" type="integer" size="5" value="10" label="Number minimum" help="Below threshold rows/cols removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="MADpercent"> + <param name="thresh" type="integer" size="5" value="90" label="Percentile minimum" help="Below percentile rows/cols removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="MADcount"> + <param name="thresh" type="integer" size="5" value="10" label="Number minimum" help="Below threshold rows/cols removed."/> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + </conditional> + </when> + + + + <when value="Matrix_Transformations"> + <conditional name="extra"> + <param name="choice" type="select" label="Choose Normalization Method"> + <option value="ln_normalization">Log2 Normalization</option> + <option value="log_normalization">Log10 Normalization</option> + <option value="mean_center_normalization">Mean Centered Normalization</option> + <option value="median_center_normalization">Median Centered Normalization</option> + <option value="z_score_normalization">Z-Score Normalization</option> + <option value="add_offset">Add Offset Value</option> + <option value="scale">Scale by Multiple</option> + <option value="divide_by_sum">Divide by Sum</option> + <option value="transpose">Matrix Transpose</option> + </param> + <when value="add_offset"> + <param name="offsetvalue" type="text" size="10" value="0.0" label="Matrix Values offset" help="Add value to each Matrix element."/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="scale"> + <param name="scalevalue" type="text" size="10" value="1.0" label="Matrix Value scaling" help="multiply value with each Matrix element."/> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="ln_normalization"> + <param name="offsetvalue" type="text" size="10" value="0.0" label="Matrix Values offset" help="Calculate log2 for each Matrix element then add offset."/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="log_normalization"> + <param name="offsetvalue" type="text" size="10" value="0.0" label="Matrix Values offset" help="Calculate log10 for each Matrix element then add offset."/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="z_score_normalization"> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="mean_center_normalization"> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="median_center_normalization"> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="transpose"> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="text" size="10" hidden="true" value="neither"/> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + <when value="divide_by_sum"> + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="axis" type="select" label="Choose Axis"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + </conditional> + </when> + + + + <when value="Matrix_Multiply"> + <conditional name="extra"> + <param name="choice" type="select" label="Choose composition type"> + <option value="MatrixMultiply">Matrix Multiplication</option> + <option value="Corr2Matrices">Correlate two matrices</option> + <option value="Corr1Matrix">Correlate one matrix with itself</option> + </param> + <when value="MatrixMultiply"> + <param name="transpose" type="select" label="transpose matrix?"> + <option value="y">Transpose matrix</option> + <option value="n" selected="true">Do Not transpose matrix</option> + </param> + <param name="input2" type="data" format="tabular" label="Second Input Matrix size NxP" /> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + </when> + <when value="Corr2Matrices"> + <param name="transpose" type="select" label="transpose matrix?"> + <option value="y">Transpose matrix</option> + <option value="n" selected="true">Do Not transpose matrix</option> + </param> + <param name="input2" type="data" format="tabular" label="Second Input Matrix size NxP" /> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + </when> + <when value="Corr1Matrix"> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="thresh" type="float" size="4" value=".05" hidden="true" /> + <param name="axis" type="text" size="10" hidden="true" value="Row"/> + </when> + </conditional> + </when> + + + + <when value="Matrix_Statistics"> + <conditional name="extra"> + <param name="choice" type="select" label="Choose Metric to Filter By"> + <option value="Histogram">Plot info about either matrix row/column</option> + </param> + <when value = "Histogram"> + <param name="thresh" type="float" size="4" value=".05" label="Filter Threshold (Value above/below row/column will be Removed)" /> + <param name="axis" type="select" label="Choose axis to Filter on (Rows or Columns)"> + <option value="Row">Row</option> + <option value="Column">Column</option> + </param> + + <param name="offsetvalue" type="text" size="10" hidden="true" value="0"/> + <param name="scalevalue" type="text" size="10" hidden="true" value="1.0"/> + <param name="transpose" type="text" size="10" hidden="true" value="n" /> + <param name="input2" type="data" hidden="true" value="$input1" /> + </when> + </conditional> + </when> + + + + + + + + + <!-- <when value="Split_ExcelTabs_IntoFiles"> + <description>into separate tab delimited files</description> + + <param name="input" type="data" format="txt" label="Input Excel.xls or Excel.xlsx file"> </param> + + <conditional name="extra"> + <param name="choice" type="select" label="Select tab" help="Select tab position or name"> + <option value="tab_number">Tab number</option> + </param> + + '$extra.tabname' + <option value="tab_name">Tab name</option> + <option value="all">All tabs in file</option> + <option value="1">First tab only</option> + </param> + <when value="tab_name"> + <param name="tabname" type="text" size="20" value="" label="Tab Name" help="Spreadsheet Tab Name"> + </param> + </when> + + <when value="tab_number"> + <param name="tabnumber" type="text" size="2" value="1" label="Tab position" help="Integer Tab position from left"> + </param> + </when> + </conditional> + + <outputs> + <data name="output_file" format="tabular" label="Output File Name" help="Name based on Input file name and tab name"/> + </outputs> + </when> --> + + + + </conditional> + </inputs> + <outputs> + <data name="output_file" format="tabular" /> + </outputs> + </tool> \ No newline at end of file