comparison w4mclassfilter.xml @ 6:38ccf6722d54 draft

planemo upload for repository https://github.com/HegemanLab/w4mclassfilter_galaxy_wrapper/tree/master commit a06ae79d25b31d02217b934b9cd61a5aba3f640f
author eschen42
date Mon, 15 Jan 2018 14:06:39 -0500
parents 2cdf7d5982c8
children 582a8a42a93b
comparison
equal deleted inserted replaced
5:2cdf7d5982c8 6:38ccf6722d54
1 <tool id="w4mclassfilter" name="Sample_Subset" version="0.98.3"> 1 <tool id="w4mclassfilter" name="Sample_Subset" version="0.98.6">
2 <description>Filter W4M data by sample class</description> 2 <description>Filter W4M data by sample class</description>
3 3
4 <requirements> 4 <requirements>
5 <requirement type="package" version="3.3.2">r-base</requirement> 5 <!-- <requirement type="package" version="6.2">readline</requirement> -->
6 <requirement type="package" version="3.4.1">r-base</requirement>
6 <requirement type="package" version="1.1_4">r-batch</requirement> 7 <requirement type="package" version="1.1_4">r-batch</requirement>
7 <requirement type="package" version="0.98.3">w4mclassfilter</requirement> 8 <requirement type="package" version="0.98.6">w4mclassfilter</requirement>
8 </requirements> 9 </requirements>
9 10
10 <stdio> 11 <stdio>
11 <exit_code range="1:" level="fatal" /> 12 <exit_code range="1:" level="fatal" />
12 </stdio> 13 </stdio>
20 sampleclassNames '$sampleclassNames' 21 sampleclassNames '$sampleclassNames'
21 inclusive '$inclusive' 22 inclusive '$inclusive'
22 wildcards '$wildcards' 23 wildcards '$wildcards'
23 classnameColumn '$classnameColumn' 24 classnameColumn '$classnameColumn'
24 samplenameColumn '$samplenameColumn' 25 samplenameColumn '$samplenameColumn'
26 variable_range_filter '$variableRangeFilter'
25 dataMatrix_out '$dataMatrix_out' 27 dataMatrix_out '$dataMatrix_out'
26 sampleMetadata_out '$sampleMetadata_out' 28 sampleMetadata_out '$sampleMetadata_out'
27 variableMetadata_out '$variableMetadata_out' 29 variableMetadata_out '$variableMetadata_out'
28 ]]></command> 30 ]]></command>
29 31
54 <add value="&#123;" /> <!-- l-cube, left-curly-bracket --> 56 <add value="&#123;" /> <!-- l-cube, left-curly-bracket -->
55 <add value="&#124;" /> <!-- pipe --> 57 <add value="&#124;" /> <!-- pipe -->
56 <add value="&#125;" /> <!-- r-cube, right-curly-bracket --> 58 <add value="&#125;" /> <!-- r-cube, right-curly-bracket -->
57 </valid> 59 </valid>
58 </sanitizer> 60 </sanitizer>
59
60 </param> 61 </param>
62
61 <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 comma-less regular expressions to match class names"> 63 <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 comma-less regular expressions to match class names">
62 <option value="TRUE" selected="true">wild-cards</option> 64 <option value="TRUE" selected="true">wild-cards</option>
63 <option value="FALSE">regular-expressions</option> 65 <option value="FALSE">regular-expressions</option>
64 </param> 66 </param>
65 <param name="inclusive" label="Include named classes" type="select" help="filter-in - include only the named sample classes; filter-out (the default) - exclude only the named sample classes"> 67 <param name="inclusive" label="Include named classes" type="select" help="filter-in - include only the named sample classes; filter-out (the default) - exclude only the named sample classes">
66 <option value="TRUE">filter-in</option> 68 <option value="TRUE">filter-in</option>
67 <option value="FALSE" selected="true">filter-out</option> 69 <option value="FALSE" selected="true">filter-out</option>
68 </param> 70 </param>
71
72 <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.)">
73 <sanitizer>
74 <valid initial="string.letters">
75 <add preset="string.digits"/>
76 <add value="&#44;" /> <!-- comma -->
77 <add value="&#58;" /> <!-- colon -->
78 <add value="&#46;" /> <!-- dot, period -->
79 </valid>
80 </sanitizer>
81 </param>
82
69 </inputs> 83 </inputs>
70 <outputs> 84 <outputs>
71 <data name="dataMatrix_out" label="${tool.name}_${dataMatrix_in.name}" format="tabular" ></data> 85 <data name="dataMatrix_out" label="${tool.name}_${dataMatrix_in.name}" format="tabular" ></data>
72 <data name="sampleMetadata_out" label="${tool.name}_${sampleMetadata_in.name}" format="tabular" ></data> 86 <data name="sampleMetadata_out" label="${tool.name}_${sampleMetadata_in.name}" format="tabular" ></data>
73 <data name="variableMetadata_out" label="${tool.name}_${variableMetadata_in.name}" format="tabular" ></data> 87 <data name="variableMetadata_out" label="${tool.name}_${variableMetadata_in.name}" format="tabular" ></data>
74 </outputs> 88 </outputs>
75 89
76 <tests> 90 <tests>
91 <test>
92 <param name="dataMatrix_in" value="input_dataMatrix.tsv"/>
93 <param name="sampleMetadata_in" value="input_sampleMetadata.tsv"/>
94 <param name="variableMetadata_in" value="input_variableMetadata.tsv"/>
95 <param name="classnameColumn" value="class"/>
96 <param name="sampleclassNames" value=""/>
97 <param name="wildcards" value="FALSE"/>
98 <param name="samplenameColumn" value="sampleMetadata"/>
99 <param name="inclusive" value="filter-out"/>
100 <param name="variableRangeFilter" value="FEATMAX:2e6:,mz:200:,rt::800"/>
101 <output name="sampleMetadata_out">
102 <assert_contents>
103 <has_text text="HU_028" />
104 <has_text text="HU_051" />
105 <has_text text="HU_060" />
106 <has_text text="HU_110" />
107 <has_text text="HU_149" />
108 <has_text text="HU_152" />
109 <has_text text="HU_175" />
110 <has_text text="HU_178" />
111 <has_text text="HU_185" />
112 <not_has_text text="HU_204" />
113 <has_text text="HU_208" />
114 <has_text text="HU_017" />
115 <has_text text="HU_034" />
116 <has_text text="HU_078" />
117 <has_text text="HU_091" />
118 <has_text text="HU_093" />
119 <has_text text="HU_099" />
120 <has_text text="HU_130" />
121 <has_text text="HU_134" />
122 <has_text text="HU_138" />
123 </assert_contents>
124 </output>
125 <output name="variableMetadata_out">
126 <assert_contents>
127 <has_text text="HMDB00191" />
128 <has_text text="HMDB00208" />
129 <not_has_text text="HMDB00251" />
130 <not_has_text text="HMDB00299" />
131 <not_has_text text="HMDB00512" />
132 <not_has_text text="HMDB00518" />
133 <not_has_text text="HMDB00715" />
134 <not_has_text text="HMDB00822" />
135 <has_text text="HMDB01032" />
136 <has_text text="HMDB01101.1" />
137 <not_has_text text="HMDB03193" />
138 <not_has_text text="HMDB04824" />
139 <not_has_text text="HMDB10348" />
140 <has_text text="HMDB13189" />
141 <not_has_text text="HMDB59717" />
142 </assert_contents>
143 </output>
144 </test>
77 <test> 145 <test>
78 <param name="dataMatrix_in" value="input_dataMatrix.tsv"/> 146 <param name="dataMatrix_in" value="input_dataMatrix.tsv"/>
79 <param name="sampleMetadata_in" value="input_sampleMetadata.tsv"/> 147 <param name="sampleMetadata_in" value="input_sampleMetadata.tsv"/>
80 <param name="variableMetadata_in" value="input_variableMetadata.tsv"/> 148 <param name="variableMetadata_in" value="input_variableMetadata.tsv"/>
81 <param name="classnameColumn" value="gender"/> 149 <param name="classnameColumn" value="gender"/>
434 Include named classes (default = '``filter-out``') 502 Include named classes (default = '``filter-out``')
435 | '``filter-in``' - include only the named sample classes 503 | '``filter-in``' - include only the named sample classes
436 | '``filter-out``' - exclude only the named sample classes 504 | '``filter-out``' - exclude only the named sample classes
437 | 505 |
438 506
507 Variable-range filters (default = no filters)
508 | comma-separated names of variable-range filters (see 'Variable-range filters' below)
509 |
510
439 511
440 512
441 ------------ 513 ------------
442 Output files 514 Output files
443 ------------ 515 ------------
510 - '``^[A-Z][0-9]*``' - MATCHES '``**^A** B0123$``' - first character is a letter, '``*``' can specify zero characters, and end of line did not need to be matched. 582 - '``^[A-Z][0-9]*``' - MATCHES '``**^A** B0123$``' - first character is a letter, '``*``' can specify zero characters, and end of line did not need to be matched.
511 - '``^[A-Z][A-Z][0-9]``' - MATCHES '``**^AB0** 123$``' - first two characters are letters aind the third is a digit. 583 - '``^[A-Z][A-Z][0-9]``' - MATCHES '``**^AB0** 123$``' - first two characters are letters aind the third is a digit.
512 - '``^[A-Z][A-Z]*[0-9][0-9]$``' - NO MATCH - the name does not end with the pattern '``[A-Z][0-9][0-9]$``', i.e., it ends with four digits, not two. 584 - '``^[A-Z][A-Z]*[0-9][0-9]$``' - NO MATCH - the name does not end with the pattern '``[A-Z][0-9][0-9]$``', i.e., it ends with four digits, not two.
513 - '``^[A-Z][0-9]*$``' - NO MATCH - the pattern specifies that second character and all those that follow, if present, must be digits. 585 - '``^[A-Z][0-9]*$``' - NO MATCH - the pattern specifies that second character and all those that follow, if present, must be digits.
514 586
515 587 ----------------------
516 --------------- 588 Variable-range filters
517 Working example 589 ----------------------
518 --------------- 590
591 An array of range-specification strings may be supplied in the `variableRangeFilter`
592 argument. If supplied, only features having numerical values in the specified column
593 of `variableMetadata` that fall within the specified ranges will be retained
594 in the output. Each range is a string of three colon-separated values (e.g., "mz:200:800") in the
595 following order:
596
597 - the **name of a column of `variableMetadata`** which must have numerical data (e.g., "mz");
598 - the **minimum allowed value** in that column for the feature to be retained (e.g., 200);
599 - the **maximum allowed value** (e.g., 800).
600
601 Note for the range specification strings:
602
603 - **If the "maximum" is less than the "minimum", then the range is exclusive** (e.g., "mz:800:200" means retain only features whose mz is NOT in the range 200-800)
604 - **If the name supplied in the first field is 'FEATMAX',** then the string is defining the minimum (and possibly, though less useful, maximum) intensity for each feature in the dataMatrix. For example, "FEATMAX:1e6:" would specify that any feature would be excluded if no sample had an intensity for that feature greater than 1000000.
605
606 - Note, however, that when the "maximum" is greater than the "minimum" for the FEATMAX range specification, then the specification is ignored.
607
608 -----------------------------------------------------------------------------
609
610 ----------------
611 WORKING EXAMPLES
612 ----------------
519 613
520 .. class:: infomark 614 .. class:: infomark
521 615
522 **Input files** 616 -----------
523 617 Input Files
524 +-------------------+--------------------------------------------------------------------------------------------------------------+ 618 -----------
525 | Input File | Download from URL | 619
526 +===================+==============================================================================================================+ 620 +------------------------------------------------------------------------------------------------------------------------+
527 | Data matrix | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/input_dataMatrix.tsv | 621 | Input File URL |
528 +-------------------+--------------------------------------------------------------------------------------------------------------+ 622 +========================================================================================================================+
529 | Sample metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/input_sampleMetadata.tsv | 623 | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/input_dataMatrix.tsv |
530 +-------------------+--------------------------------------------------------------------------------------------------------------+ 624 +------------------------------------------------------------------------------------------------------------------------+
531 | Variable metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/input_variableMetadata.tsv | 625 | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/input_sampleMetadata.tsv |
532 +-------------------+--------------------------------------------------------------------------------------------------------------+ 626 +------------------------------------------------------------------------------------------------------------------------+
627 | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/input_variableMetadata.tsv |
628 +------------------------------------------------------------------------------------------------------------------------+
533 629
534 .. class:: infomark 630 .. class:: infomark
535 631
536 **Other input parameters** 632 -------------------------------
633 Running Without Range-Filtering
634 -------------------------------
635
636 This example retains only samples whose 'gender' attribute is 'M'.
637
638 **Input parameters**
537 639
538 +------------------------------------+-----------------+ 640 +------------------------------------+-----------------+
539 | Input Parameter | Value | 641 | Input Parameter | Value |
540 +====================================+=================+ 642 +====================================+=================+
541 | Names of sample classes | M | 643 | Names of sample classes | M |
545 | Column that names the sample-class | gender | 647 | Column that names the sample-class | gender |
546 +------------------------------------+-----------------+ 648 +------------------------------------+-----------------+
547 | Column that names the sample | sampleMetadata | 649 | Column that names the sample | sampleMetadata |
548 +------------------------------------+-----------------+ 650 +------------------------------------+-----------------+
549 651
652 **Expected outputs**
653
654 +-------------------+---------------------------------------------------------------------------------------------------------------------------+
655 | Expected Output | Download from URL |
656 +===================+===========================================================================================================================+
657 | Data matrix | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/expected_dataMatrix.tsv |
658 +-------------------+---------------------------------------------------------------------------------------------------------------------------+
659 | Sample metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/expected_sampleMetadata.tsv |
660 +-------------------+---------------------------------------------------------------------------------------------------------------------------+
661 | Variable metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/expected_variableMetadata.tsv |
662 +-------------------+---------------------------------------------------------------------------------------------------------------------------+
663
550 .. class:: infomark 664 .. class:: infomark
551 665
666 ----------------------------
667 Running With Range-Filtering
668 ----------------------------
669
670 This example retains only features whose mz is greater than 200, whose rt is less than 800, and whose maximum intensity across all samples is 2,000,000.
671 This example retains all samples (except those having zero variance for all feature), although it would be possible to filter on samples as well.
672
673 **Input parameters**
674
675 +------------------------------------+-------------------------------+
676 | Input Parameter | Value |
677 +====================================+===============================+
678 | Names of sample classes | (Leave this field empty.) |
679 +------------------------------------+-------------------------------+
680 | Include named classes | filter-out |
681 +------------------------------------+-------------------------------+
682 | Column that names the sample-class | class |
683 +------------------------------------+-------------------------------+
684 | Column that names the sample | sampleMetadata |
685 +------------------------------------+-------------------------------+
686 | Variable range-filters | FEATMAX:2e6:,mz:200:,rt::800 |
687 +------------------------------------+-------------------------------+
688
552 **Expected outputs** 689 **Expected outputs**
553 690
554 +-------------------+-----------------------------------------------------------------------------------------------------------------+ 691 +-------------------+------------------------------------------------------------------------------------------------------------------------------+
555 | Expected Output | Download from URL | 692 | Expected Output | Download from URL |
556 +===================+=================================================================================================================+ 693 +===================+==============================================================================================================================+
557 | Data matrix | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/expected_dataMatrix.tsv | 694 | Data matrix | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/rangefilter_dataMatrix.tsv |
558 +-------------------+-----------------------------------------------------------------------------------------------------------------+ 695 +-------------------+------------------------------------------------------------------------------------------------------------------------------+
559 | Sample metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/expected_sampleMetadata.tsv | 696 | Sample metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/rangefilter_sampleMetadata.tsv |
560 +-------------------+-----------------------------------------------------------------------------------------------------------------+ 697 +-------------------+------------------------------------------------------------------------------------------------------------------------------+
561 | Variable metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter/master/tests/testthat/expected_variableMetadata.tsv | 698 | Variable metadata | https://raw.githubusercontent.com/HegemanLab/w4mclassfilter_galaxy_wrapper/master/test-data/rangefilter_variableMetadata.tsv |
562 +-------------------+-----------------------------------------------------------------------------------------------------------------+ 699 +-------------------+------------------------------------------------------------------------------------------------------------------------------+
563
564 700
565 ----------------------------------------------------------------------------- 701 -----------------------------------------------------------------------------
566 702
567 ---- 703 ----
568 NEWS 704 NEWS
569 ---- 705 ----
570 706
571 CHANGES IN VERSION 0.98.3 707 Changes in version 0.98.6
572 ========================= 708 =========================
573 709
574 INTERNAL MODIFICATIONS 710 New features
711
712 * Added support for filtering out features whose attributes fall outside specified ranges.
713 For more detail, see "Variable-range filters" above.
714
715 Internal modifications
716
717 * Now uses w4mclassfilter R package v0.98.6.
718 * Now sorts sample names and feature names in output files because some statistical tools expect the same order in `dataMatrix` row and column names as in the corresponding metadata files.
719
720 Changes in version 0.98.3
721 =========================
722
723 Internal modifications
575 724
576 * Improved input handling. 725 * Improved input handling.
577 * Now uses w4mclassfilter R package v0.98.3, although that version has no functional implications for this tool. 726 * Now uses w4mclassfilter R package v0.98.3, although that version has no functional implications for this tool.
578 * Improved reference-list. 727 * Improved reference-list.
579 728
580 CHANGES IN VERSION 0.98.2 729 Changes in version 0.98.2
581 ========================= 730 =========================
582 731
583 NEW FEATURES 732 New features
584 733
585 * Added support for R-flavored regular expression pattern-matching when selecting names of sample-classes. 734 * Added support for R-flavored regular expression pattern-matching when selecting names of sample-classes.
586 * Empty classes argument or zero-length class_column result in no samples filtered out. 735 * Empty classes argument or zero-length class_column result in no samples filtered out.
587 736
588 INTERNAL MODIFICATIONS 737 Internal modifications
589 738
590 * Support and tests for new features. 739 * Support and tests for new features.
591 740
592 741 Changes in version 0.98.1
593 CHANGES IN VERSION 0.98.1
594 ========================= 742 =========================
595 743
596 NEW FEATURES
597
598 First release - Wrap the w4mclassfilter R package that implements filtering of W4M data matrix, variable metadata, and sample metadata by class of sample. 744 First release - Wrap the w4mclassfilter R package that implements filtering of W4M data matrix, variable metadata, and sample metadata by class of sample.
599 745
600 *dataMatrix* *is* modified by the tool, so it *does* appear as an output file 746 New features
601 *sampleMetadata* *is* modified by the tool, so it *does* appear as an output file 747
602 *variableMetadata* *is* modified by the tool, so it *does* appear as an output file 748 * *dataMatrix* *is* modified by the tool, so it *does* appear as an output file
603 749 * *sampleMetadata* *is* modified by the tool, so it *does* appear as an output file
604 INTERNAL MODIFICATIONS 750 * *variableMetadata* *is* modified by the tool, so it *does* appear as an output file
605 751
606 none 752 Internal modifications
753
754 * N/A
607 755
608 ]]></help> 756 ]]></help>
609 <citations> 757 <citations>
610 <!-- Giacomoni_2014 W4M 2.5 --> 758 <!-- Giacomoni_2014 W4M 2.5 -->
611 <citation type="doi">10.1093/bioinformatics/btu813</citation> 759 <citation type="doi">10.1093/bioinformatics/btu813</citation>