view hicPlotMatrix.xml @ 2:2c0069f645bc draft

planemo upload for repository https://github.com/maxplanck-ie/HiCExplorer/tree/master/galaxy/wrapper/ commit 4d61b6bf2fed275ab38c226d0c4390b095a38251
author bgruening
date Thu, 02 Nov 2017 11:09:46 -0400
parents a9050bffb50c
children fd5e51d2b558
line wrap: on
line source

<tool id="hicexplorer_hicplotmatrix" name="@BINARY@" version="@WRAPPER_VERSION@.0">
    <description>Plots a HiC matrix heatmap</description>
    <macros>
        <token name="@BINARY@">hicPlotMatrix</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
        ln -s '$matrix' input_matrix.h5 &&

        @BINARY@

            --matrix input_matrix.h5

            #if $title and $title is not None:
                --title '$title'
            #end if

            #if $scoreName and $scoreName is not None:
                --scoreName '$scoreName'
            #end if


            --outFileName plot.$image_file_format

            $perChromosome
            $clearMaskedBins

            --whatToShow '$whatToShow.whatToShow_select'


            ## special: --chromosomeOrder is optional, but if given needs at least one argument
            #set chroms = '" "'.join([ str($var.chromosome) for $var in $chromosomeOrder ])
            #if chroms:
                --chromosomeOrder '$chroms'
            #end if

            #if $region:
                --region '$region'
            #end if

            #if $region2:
                --region2 '$region2'
            #end if
            $log1p
            $log

            #if $colormap:
                --colorMap $colormap
            #end if

            #if $vMin:
                --vMin $vMin
            #end if

            #if $vMax:
                --vMax $vMax
            #end if

            #if $whatToShow.whatToShow_select != 'heatmap':
                #if $whatToShow.zMax:
                    --zMax $whatToShow.zMax
                #end if
            #end if
        && mv plot.$image_file_format plot
]]>
    </command>
    <inputs>
        <param argument="--matrix" type="data" format="h5" label="Hi-C matrix to plot"/>
        <param argument="--title" type="text" optional="true" label="Plot title"/>
        <param argument="--scoreName" type="text" optional="true" label="Score name"/>
        <param argument="--perChromosome" type="boolean" truevalue="--perChromosome" falsevalue="" checked="false"
            label="Plot per chromosome"
            help="Instead of plotting the whole matrix each chromosome is plotted next to the other. This parameter is not compatible with --region" />
        <param argument="--clearMaskedBins" type="boolean" truevalue="--clearMaskedBins" falsevalue="" checked="false"
            label="Remove masked bins from the matrix"  />

        <conditional name="whatToShow">
            <param argument="--whatToShow" name="whatToShow_select" type="select" label="Show heatmap/3D">
                <option value="both">Show both</option>
                <option value="heatmap" selected="true">Only heatmap</option>
                <option value="3D">Only 3D</option>
            </param>
            <when value="both">
                <expand macro="zMax" />
            </when>
            <when value="3D">
                <expand macro="zMax" />
            </when>
            <when value="heatmap"/>
        </conditional>

        <repeat name="chromosomeOrder" min="0" title="Chromosomes to include (and order to plot in):"
            help="This option overrides --region and --region2" >
            <param name="chromosome" type="text" >
                <validator type="empty_field" />
            </param>
        </repeat>

        <param argument="--region" type="text" optional="True" label="Plot only this region"
            help="The format is chr:start-end The plotted region contains the main diagonal and is symmetric unless  --region2 is given"/>
        <param argument="--region2" type="text" optional="True" label="Region two to plot"
            help="If given then only the region defined by --region and --region2 is plotted. The format is the same as --region"/>
        <param argument="--log1p" type="boolean" truevalue="--log1p" falsevalue="" checked="false" label="Plot the log1p of the matrix values."/>
        <param argument="--log" type="boolean" truevalue="--log" falsevalue="" checked="false" label="Plot the *MINUS* log of the matrix values."/>

        <expand macro="colormap" />

        <param argument="--vMin" type="float" optional="true" label="vMin"/>
        <param argument="--vMax" type="float" optional="true" label="vMax"/>
        <param name="image_file_format" type="select" label="Image output format">
            <option value="png" selected="True">png</option>
            <option value="svg">svg</option>
        </param>
    </inputs>
    <outputs>
        <data format="png" name="outFileName" from_work_dir="plot" label="${tool.name} on ${on_string}">
            <change_format>
                <when input="image_file_format" value="svg" format="svg" />
            </change_format>
        </data>
    </outputs>
    <tests>
        <test>
            <param name="matrix" ftype="h5" value="Li_et_al_2015.h5"/>
            <param name="region" value="chrX:3000000-3500000"/>
            <param name="region2" value="chrX:3100000-3600000"/>
            <param name="log1p" value="True"/>
            <param name="clearMaskedBins" value="True"/>
            <param name="whatToShow_select" value="heatmap"/>
            <param name="image_file_format" value="png" />
            <output name="outFileName" file="master_matrix_plot.png" ftype="png" compare="sim_size"/>
        </test>
    </tests>
    <help><![CDATA[

**What it does**

Plots a Hi-C matrix heatmap.

]]></help>
    <expand macro="citations" />
</tool>