/tools/filters/cutWrapper.xml
https://bitbucket.org/cistrome/cistrome-harvard/ · XML · 213 lines · 172 code · 41 blank · 0 comment · 0 complexity · 0616787d9708a434a1eaa5fc1c957082 MD5 · raw file
- <tool id="Cut1" name="Cut" version="1.0.2">
- <description>columns from a table</description>
- <command interpreter="perl">cutWrapper.pl $input "$columnList" $delimiter $out_file1</command>
- <inputs>
- <param name="columnList" size="10" type="text" value="c1,c2" label="Cut columns"/>
- <param name="delimiter" type="select" label="Delimited by">
- <option value="T">Tab</option>
- <option value="Sp">Whitespace</option>
- <option value="Dt">Dot</option>
- <option value="C">Comma</option>
- <option value="D">Dash</option>
- <option value="U">Underscore</option>
- <option value="P">Pipe</option>
- </param>
- <param format="txt" name="input" type="data" label="From"/>
- </inputs>
- <outputs>
- <data format="tabular" name="out_file1" >
- <actions>
- <conditional name="delimiter">
- <when value="T">
- <conditional name="input">
- <when datatype_isinstance="interval">
- <action type="format" default="tabular">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- chromCol is 1-->
-
- <filter type="insert_column" column="0" value="interval"/>
-
- <filter type="insert_column" ref="columnList" /> <!-- startCol -->
-
- <filter type="insert_column" ref="columnList" /> <!-- endCol -->
-
- <filter type="multiple_splitter" column="1" separator=","/>
- <filter type="column_strip" column="1"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="1" name="lower" />
- <filter type="param_value" column="1" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="1" strip="c"/> <!-- get rid of c's -->
- <filter type="boolean" column="1" cast="int" />
-
- <filter type="multiple_splitter" column="2" separator=","/>
- <filter type="column_strip" column="2"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="2" name="lower" />
- <filter type="param_value" column="2" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="2" strip="c"/> <!-- get rid of c's -->
- <filter type="boolean" column="2" cast="int" />
-
- <filter type="multiple_splitter" column="3" separator=","/>
- <filter type="column_strip" column="3"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="3" name="lower" />
- <filter type="param_value" column="3" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="3" strip="c"/> <!-- get rid of c's -->
- <filter type="boolean" column="3" cast="int" />
-
- <filter type="metadata_value" ref="input" name="chromCol" column="1" />
- <filter type="metadata_value" ref="input" name="startCol" column="2" />
- <filter type="metadata_value" ref="input" name="endCol" column="3" />
-
- </option>
- </action>
-
- <conditional name="out_file1">
- <when datatype_isinstance="interval">
- <action type="metadata" name="chromCol">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- chromCol is 0-->
- <filter type="multiple_splitter" column="0" separator=","/>
- <filter type="column_strip" column="0"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="0" name="lower" />
- <filter type="param_value" column="0" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="0" strip="c"/> <!-- get rid of c's -->
- <filter type="insert_column" value="1" iterate="True" column="0"/>
- <filter type="boolean" column="1" cast="int" />
- <filter type="metadata_value" ref="input" name="chromCol" column="1" />
- </option>
- </action>
-
- <action type="metadata" name="startCol">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- startCol is 0-->
- <filter type="multiple_splitter" column="0" separator=","/>
- <filter type="column_strip" column="0"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="0" name="lower" />
- <filter type="param_value" column="0" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="0" strip="c"/> <!-- get rid of c's -->
- <filter type="insert_column" value="1" iterate="True" column="0"/>
- <filter type="boolean" column="1" cast="int" />
- <filter type="metadata_value" ref="input" name="startCol" column="1" />
- </option>
- </action>
-
- <action type="metadata" name="endCol">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- endCol is 0-->
- <filter type="multiple_splitter" column="0" separator=","/>
- <filter type="column_strip" column="0"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="0" name="lower" />
- <filter type="param_value" column="0" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="0" strip="c"/> <!-- get rid of c's -->
- <filter type="insert_column" value="1" iterate="True" column="0"/>
- <filter type="boolean" column="1" cast="int" />
- <filter type="metadata_value" ref="input" name="endCol" column="1" />
- </option>
- </action>
-
- <action type="metadata" name="nameCol" default="0">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- nameCol is 0-->
- <filter type="multiple_splitter" column="0" separator=","/>
- <filter type="column_strip" column="0"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="0" name="lower" />
- <filter type="param_value" column="0" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="0" strip="c"/> <!-- get rid of c's -->
- <filter type="insert_column" value="1" iterate="True" column="0"/>
- <filter type="boolean" column="1" cast="int" />
- <filter type="metadata_value" ref="input" name="nameCol" column="1" />
- </option>
- </action>
-
- <action type="metadata" name="strandCol" default="0">
- <option type="from_param" name="columnList" column="0" offset="0"> <!-- strandCol is 0-->
- <filter type="multiple_splitter" column="0" separator=","/>
- <filter type="column_strip" column="0"/> <!-- get rid of all external whitespace -->
- <filter type="string_function" column="0" name="lower" />
- <filter type="param_value" column="0" value="^c\d{1,}$" compare="re_search" keep="True"/>
- <filter type="column_strip" column="0" strip="c"/> <!-- get rid of c's -->
- <filter type="insert_column" value="1" iterate="True" column="0"/>
- <filter type="boolean" column="1" cast="int" />
- <filter type="metadata_value" ref="input" name="strandCol" column="1" />
- </option>
- </action>
- </when>
- </conditional>
-
- </when>
- </conditional>
- </when>
- </conditional>
- </actions>
- </data>
- </outputs>
- <tests>
- <test>
- <param name="columnList" value="c1,c4,c2,c3"/>
- <param name="delimiter" value="T"/>
- <param name="input" value="1.bed"/>
- <output name="out_file1" file="eq-cut.dat"/>
- </test>
- <test>
- <param name="columnList" value="c1,c4,c2-c3" />
- <param name="delimiter" value="T" />
- <param name="input" value="1.bed" />
- <output name="out_file1" file="eq-cut.dat" />
- </test>
- </tests>
- <help>
-
- .. class:: warningmark
-
- **WARNING: This tool breaks column assignments.** To re-establish column assignments run the tools and click on the pencil icon in the latest history item.
-
- .. class:: infomark
-
- The output of this tool is always in tabular format (e.g., if your original delimiters are commas, they will be replaced with tabs). For example:
-
- Cutting columns 1 and 3 from::
-
- apple,is,good
- windows,is,bad
-
- will give::
-
- apple good
- windows bad
-
- -----
-
- **What it does**
-
- This tool selects (cuts out) specified columns from the dataset.
-
- - Columns are specified as **c1**, **c2**, and so on. Column count begins with **1**
- - Columns can be specified in any order (e.g., **c2,c1,c6**)
- - If you specify more columns than actually present - empty spaces will be filled with dots
-
- -----
-
- **Example**
-
- Input dataset (six columns: c1, c2, c3, c4, c5, and c6)::
-
- chr1 10 1000 gene1 0 +
- chr2 100 1500 gene2 0 +
-
- **cut** on columns "**c1,c4,c6**" will return::
-
- chr1 gene1 +
- chr2 gene2 +
-
- **cut** on columns "**c6,c5,c4,c1**" will return::
-
- + 0 gene1 chr1
- + 0 gene2 chr2
-
- **cut** on columns "**c1-c3**" will return::
-
- chr1 10 1000
- chr2 100 1500
-
-
- **cut** on columns "**c8,c7,c4**" will return::
-
- . . gene1
- . . gene2
-
-
- </help>
- </tool>