view column_regex_substitution.xml @ 0:12b740c4cbc1 draft default tip

planemo upload for repository https://github.com/blankenberg/tools-blankenberg/tree/master/tools/column_regex_substitution commit 78936dc6be1747303d4cbfd80d09e4cfd1cbf292
author blankenberg
date Fri, 07 Sep 2018 10:29:30 -0400
parents
children
line wrap: on
line source

<tool id="column_regex_substitution" name="Column substitution" version="0.0.1">
    <description>by regular expressions</description>
    <requirements>
        <requirement type="package" version="2.7">python</requirement>
    </requirements>
    <stdio>
        <exit_code range="1:" />
        <exit_code range=":-1" />
    </stdio>
    <version_command>python column_regex_substitution.py --version</version_command>
    <command><![CDATA[
        #import pipes
        python '$__tool_directory__/column_regex_substitution.py'
        --input '${input_tabular}'
        --pattern ${pipes.quote( str( $pattern ).replace('\\','\\\\').decode( 'string_escape' ) ) or '""'}
        --replacement ${ pipes.quote( str( $replacement ).replace('\\','\\\\').decode( 'string_escape' ) ) or '""' }
        --columns '${ $columns or "" }'
        --output '${outfile}'
        #if $input_tabular.metadata.delimiter:
            --delimiter ${ pipes.quote( str( $input_tabular.unsanitized.metadata.delimiter ) ) }
        #end if
        --column_offset '-1'
    ]]>
    </command>
    <inputs>
        <param name="input_tabular" type="data" format="txt" label="File to perform substitution on" />
        <param name="pattern" type="text" label="Pattern to Match">
            <sanitizer sanitize="False" />
        </param>
        <param name="replacement" type="text" label="Replacement">
            <sanitizer sanitize="False" />
        </param>
        <param name="columns" label="Columns for substitution" type="data_column" data_ref="input_tabular" optional="True" multiple="True" help="Selecting no columns will target all columns"/>
    </inputs>
    <outputs>
        <data name="outfile" format_source="input_tabular" />
    </outputs>
    <tests>
        <test>
            <param name="input_tabular" ftype="tabular" value="column_regex_substitution_in.tabular"/>
            <param name="pattern" value="^$"/>
            <param name="replacement" value="."/>
            <param name="columns" value="1"/>
            <output name="outfile" ftype="tabular" file="column_regex_substitution_out.tabular" />
        </test>
    </tests>
    <help><![CDATA[
**What it does**

Use regular expressions (regex) to substitute field values. Datasets that do not have a metadata delimiter value will be treated as a single column per row.

This tool makes use of Python's `re.sub functionality <https://docs.python.org/2/library/re.html#re.sub>`_.

]]>
    </help>
<citations></citations>
</tool>