changeset 13:c18040b6e8b9 draft

"planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit 1a5dd14c3697516bc55950bd6e46c978af7c19cf"
author eschen42
date Thu, 24 Oct 2019 10:21:23 -0400
parents 38f509903a0b
children 87ec0d3c2266
files w4mclassfilter.xml w4mclassfilter_wrapper.R
diffstat 2 files changed, 58 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/w4mclassfilter.xml	Tue Oct 01 16:57:58 2019 -0400
+++ b/w4mclassfilter.xml	Thu Oct 24 10:21:23 2019 -0400
@@ -1,10 +1,10 @@
-<tool id="w4mclassfilter" name="W4m Data Subset" version="0.98.13">
+<tool id="w4mclassfilter" name="W4m Data Subset" version="0.98.14">
     <description>Filter W4m data by values or metadata</description>
     <!-- Here is the hyphenation standard that I *try* to apply consistently in my documentation: http://www.sandranoonan.com/dont-let-hyphenation-drive-crazy/ -->
     <requirements>
         <requirement type="package" version="3.6.1">r-base</requirement>
         <requirement type="package" version="1.1_5">r-batch</requirement>
-        <requirement type="package" version="0.98.13">w4mclassfilter</requirement>
+        <requirement type="package" version="0.98.14">w4mclassfilter</requirement>
     </requirements>
     <command detect_errors="aggressive"><![CDATA[
     unset R_HOME;
@@ -23,16 +23,18 @@
     dataMatrix_out        '$dataMatrix_out'
     sampleMetadata_out    '$sampleMetadata_out'
     variableMetadata_out  '$variableMetadata_out'
+    order_vrbl            '$order_vrbl'
+    order_smpl            '$order_smpl'
     ]]></command>
     <inputs>
         <param name="dataMatrix_in" format="tabular" label="Data matrix file" type="data"
-            help="variables &#10006; samples" />
+            help="data matrix, with sample names in first row and feature names in first column" />
         <param name="sampleMetadata_in" format="tabular" label="Sample metadata file" type="data"
-            help="sample metadata, one row per sample" />
+            help="sample metadata, with one row per sample" />
         <param name="variableMetadata_in" format="tabular" label="Variable metadata file" type="data"
-            help="variable metadata, one row per variable" />
+            help="variable metadata, with one row per feature" />
         <param name="classnameColumn" label="Column that names the sample-class" type="text" value = "class"
-            help="name of the column in sample metadata that has the values to be tested against the 'Names of sample-classes' input parameter - defaults to 'class'">
+            help="name of the column in sample metadata that has the values to be tested against the 'Names of sample-classes' input parameter">
             <sanitizer>
                 <valid initial="string.letters">
                     <add preset="string.digits"/>
@@ -42,7 +44,7 @@
             </sanitizer>
         </param>
         <param name="sampleclassNames" label="Names of sample-classes" type="text" value = ""
-            help="comma-separated names (or regular expressions to match names) of sample-classes to filter in or out; defaults to no names">
+            help="comma-separated names (or regular expressions to match names) of sample-classes to filter in or out (Leave empty to match no names.)">
             <sanitizer>
                 <valid initial="string.letters">
                     <add preset="string.digits"/>
@@ -69,17 +71,17 @@
             </sanitizer>
         </param>
         <param name="wildcards" label="Use 'wild cards' or 'regular expressions'" type="select"
-            help="'wild-cards' (the default) - use '*' and '?' to match class names; 'regular-expressions' - use regular expressions to match class names">
+            help="'wild-cards' - use '*' and '?' to match class names; &#160;&#160; 'regular-expressions' - use regular expressions to match class names">
             <option value="TRUE" selected="true">wild-cards</option>
             <option value="FALSE">regular-expressions</option>
         </param>
         <param name="inclusive" label="Exclude/include named classes" type="select"
-            help="'filter-out' (the default) - exclude only the named sample-classes; 'filter-in' - include only the named sample-classes">
+            help="'filter-out' - exclude only the named sample-classes; &#160;&#160;  'filter-in' - include only the named sample-classes">
             <option value="TRUE">filter-in</option>
             <option value="FALSE" selected="true">filter-out</option>
         </param>
         <param name="variableRangeFilter" label="Variable-range filters" type="text" value = ""
-            help="comma-separated filters, each specified as 'variableMetadataColumnName:min:max'; default is no filters.    (See help below.)">
+            help="comma-separated filters, each specified as 'variableMetadataColumnName:min:max' (leave empty for no filtering, as described in help below.)">
             <sanitizer>
                 <valid initial="string.letters">
                     <add preset="string.digits"/>
@@ -91,17 +93,37 @@
             </sanitizer>
         </param>
         <param name="transformation" label="Data-transformation" type="select"
-            help="'none' (the default) - do not transform data; 'log2' - log base 2 of data; 'log10' - log base 10 of data; in all cases, negative and missing values are imputed to zero">
+            help="'none' - do not transform data; &#160;&#160;  'log2' - log base 2 of data; &#160;&#160;  'log10' - log base 10 of data; &#160;&#160;  in all cases, negative and missing values are imputed to zero">
             <option value="none" selected="true">none</option>
             <option value="log2">log2</option>
             <option value="log10">log10</option>
         </param>
         <param name="imputation" label="Imputation of missing values" type="select"
-            help="'zero' (the default) - replace missing values with zero; 'center' - replace missing values with feature-median; 'none' - perform no imputation">
+            help="'zero' - replace missing values with zero; &#160;&#160;  'center' - replace missing values with feature-median; &#160;&#160;  'none' - perform no imputation">
             <option value="zero" selected="true">zero</option>
             <option value="center">center</option>
             <option value="none">none</option>
         </param>
+        <param name="order_smpl" label="Column that specifies order for samples" type="text" value = "sampleMetadata"
+            help="name of the column in sample metadata that is used to sort samples">
+            <sanitizer>
+                <valid initial="string.letters">
+                    <add preset="string.digits"/>
+                    <add value="&#46;"    /> <!-- dot, period -->
+                    <add value="&#95;"    /> <!-- underscore -->
+                </valid>
+            </sanitizer>
+        </param>
+        <param name="order_vrbl" label="Column that specifies order for features" type="text" value = "variableMetadata"
+            help="name of the column in variable metadata that is used to sort features">
+            <sanitizer>
+                <valid initial="string.letters">
+                    <add preset="string.digits"/>
+                    <add value="&#46;"    /> <!-- dot, period -->
+                    <add value="&#95;"    /> <!-- underscore -->
+                </valid>
+            </sanitizer>
+        </param>
     </inputs>
     <outputs>
         <data name="dataMatrix_out" format="tabular" label="${dataMatrix_in.name}.subset" ></data>
@@ -552,7 +574,7 @@
 
 **Tool updates**
 
-See the **NEWS** section at the bottom of this page
+See https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper#news
 
 ---------------------------------------------------
 
@@ -599,7 +621,8 @@
 - Samples that are missing from either sampleMetadata or dataMatrix are eliminated.
 - Features that are missing from either variableMetadata or dataMatrix are eliminated.
 - Features and samples that have zero variance are eliminated.
-- Samples and features are sorted alphabetically in rows and columns of dataMatrix and in rows of variableMetadata and sampleMetadata.
+- Samples and features have consistent order in `variableMetadata`, `sampleMetadata`, and `dataMatrix`.
+  (The column for sorting `variableMetadata` or `sampleMetadata` may be specified.)
 - The names of the first columns of variableMetadata and sampleMetadata are set respectively to "variableMetadata" and "sampleMetadata".
 - If desired, the values in the dataMatrix may be log-transformed.
 - If desired, each missing value in dataMatrix is replaced with zero or the median value observed for the corresponding feature.
@@ -638,7 +661,7 @@
 ----------
 
 Data matrix file
-	| variable x sample **dataMatrix** (tabular separated values) file of the numeric data matrix, with . as decimal, and NA for missing values; the table must not contain metadata apart from row and column names; the row and column names must be identical, respectively, to the rownames of the sample metadata file and variable metadata file
+	| feature x sample **dataMatrix** (tabular separated values) file of the numeric data matrix, with period-character ('.') as decimal, and 'NA' for missing values; the table must not contain metadata apart from the required row and column names; the row and column names must be identical (with regard to both content or order) to the respective rownames of the sample metadata file and variable metadata file
 	|
 
 Sample metadata file
@@ -683,6 +706,13 @@
 	| '``center``' - For each feature, negative and missing values are imputed to the median of other values.
 	|
 
+Column that specifies order for samples (default = 'sampleMetadata')
+	| name of the column in **sampleMetadata** that is used to sort samples; only letters, digits, periods, and underscores are permitted.
+	|
+
+Column that specifies order for features (default = 'variableMetadata')
+	| name of the column in **variableMetadata** that is used to sort features; only letters, digits, periods, and underscores are permitted.
+	|
 
 ------------
 Output files
@@ -833,6 +863,10 @@
 +---------------------------------------------+-------------------------------+
 | Missing-value imputation                    | center                        |
 +---------------------------------------------+-------------------------------+
+| Sample-sort column                          | sampleMetadata                |
++---------------------------------------------+-------------------------------+
+| Feature-sort column                         | variableMetadata              |
++---------------------------------------------+-------------------------------+
 
 **Expected outputs**
 
@@ -872,6 +906,10 @@
 +---------------------------------------------+-----------------------------------+
 | Missing-value imputation                    | zero                              |
 +---------------------------------------------+-----------------------------------+
+| Sample-sort column                          | sampleMetadata                    |
++---------------------------------------------+-----------------------------------+
+| Feature-sort column                         | variableMetadata                  |
++---------------------------------------------+-----------------------------------+
 
 **Expected outputs**
 
--- a/w4mclassfilter_wrapper.R	Tue Oct 01 16:57:58 2019 -0400
+++ b/w4mclassfilter_wrapper.R	Thu Oct 24 10:21:23 2019 -0400
@@ -104,6 +104,9 @@
 classnameColumn <- as.character(argVc["classnameColumn"])
 samplenameColumn <- as.character(argVc["samplenameColumn"])
 
+order_smpl <- as.character(argVc["order_smpl"])
+order_vrbl <- as.character(argVc["order_vrbl"])
+
 variable_range_filter <- as.character(argVc["variable_range_filter"])
 variable_range_filter <- strsplit(x = variable_range_filter, split = ",", fixed = TRUE)[[1]]
 
@@ -160,6 +163,8 @@
 , include               = inclusive
 , class_column          = classnameColumn
 , samplename_column     = samplenameColumn
+, order_vrbl            = order_vrbl
+, order_smpl            = order_smpl
 , variable_range_filter = variable_range_filter
 , failure_action        = my_print
 , data_imputation       = my_transformation_and_imputation