view hicAggregateContacts.xml @ 0:ccd1d3013827 draft

planemo upload for repository https://github.com/maxplanck-ie/HiCExplorer/tree/master/galaxy/wrapper/ commit 0456f085bac2c88b8cbddfcf12b02776d2a0d457
author bgruening
date Wed, 07 Mar 2018 03:37:18 -0500
parents
children ec59bf4c3d06
line wrap: on
line source

<tool id="hicexplorer_hicaggregatecontacts" name="@BINARY@" version="@WRAPPER_VERSION@.0">
    <description>Takes a list of positions in the hic-matrix and makes a pooled image</description>
    <macros>
        <token name="@BINARY@">hicAggregateContacts</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
@BINARY@
    --matrix '$matrix_h5_cooler'
    --BED $BED
    #if $BED2:
        --BED2 $BED2
    #end if

    --range $range_min:$range_max

    --numberOfBins $numberOfBins

    --transform $transform
    --avgType $avgType

    #if $outputs and 'PrefixMatrix' in $outputs:
        --outFilePrefixMatrix 'matrix_values'
    #end if

    #if $outputs and 'ClusterContactPositions' in $outputs:
        --outFilePrefixClusterContactPositions 'contact_positions'
    #end if

    #if $outputs and 'HeatmapFile' in $outputs:
        --diagnosticHeatmapFile 'heatmap'
    #end if

    #if $clustering:
        $clustering
    #end if
    $clusterOnDiagonal

    #if $chromosomes:
        --chromosomes #echo "' '".join([ "'%s'" % $chrom.chromosome for $chrom in $chromosomes ])#
    #end if

    #if $plotType:
        --plotType $plotType
    #end if

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

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

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

    --outFileName plot.$image_file_format
    && mv plot.$image_file_format plot

]]>
    </command>
    <inputs>
        <expand macro='matrix_h5_cooler_macro' />
        <param argument="--BED" type="data" format="bed" label="Interactions between regions in this BED file are plotted."/>
        <param argument="--BED2" type="data" format="bed" optional="true"
            label="Interactions between regions in first and second BED file are plotted."/>

        <expand macro='range' />

        <repeat name="chromosomes" title="List of chromosomes to plot" min="0">
            <param name="chromosome" type="text">
                <validator type="empty_field" />
            </param>
        </repeat>

        <param argument="--numberOfBins" type="integer" optional="true" label="Number of bins to include in the submatrix"
            help=" The bed regions will be centered between - half number of bins
            and the other half number of bins." />

        <param argument="--transform" type="select" label="Type of transformation for the matrix"
            help="If total counts are selected, then the sub-matrix values
            are divided by the total counts for normalization. If
            z-score or obs/exp are selected, then H-C matrix is
            converted into a z-score or observed / expected matrix.">
            <option value="none" selected="true">none</option>
            <option value="total-counts">total-counts</option>
            <option value="z-score">z-score</option>
            <option value="obs/exp">obs/exp</option>
        </param>

        <param argument="--avgType" type="select" label="Type of average to compute final matrix">
            <option value="median" selected="true">median</option>
            <option value="mean">mean</option>
        </param>

        <param name="clustering" type="select" optional="true" label="Number of clusters per chromosome"
            help="When this option is set, then the matrix is split into
                  clusters using the hierarchical clustering algorithm,
                  using 'ward linkage'. --hclust could be very slow if
                  you have >1000 submatrices per chromosome. In those
                  cases, you might prefer --kmeans">
            <option value="--kmeans">kmenas</option>
            <option value="--hclust">hclust (#clusters per chromosome)</option>
        </param>

        <param argument="--clusterOnDiagonal" type="boolean" truevalue="--clusterOnDiagonal" falsevalue=""
            label="Perform clustering on the submatrix diagonal"
            help="Clustering is by default carried out on the whole
                  submatrices. If this parameter is given, the
                  clustering is only carried out based on the submatrix
                  diagonal (representing values at the same distance to each other)" />

        <param argument="--plotType" type="select" optional="true" label="Plot type">
            <option value="2d">2D</option>
            <option value="3d">3D</option>
        </param>
        <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>

        <param name="outputs" type="select" optional="true" multiple="true" label="Optional output files">
            <option value="PrefixMatrix">Save values underlying the final matrix</option>
            <option value="ClusterContactPositions">Save the position of the contacts</option>
            <option value="HeatmapFile">Heatmap file per chromosome</option>
        </param>

    </inputs>
    <outputs>
        <data name="outFileName" from_work_dir="plot" format="png" label="${tool.name} on ${on_string}">
            <change_format>
                <when input="image_file_format" value="svg" format="svg" />
            </change_format>
        </data>
        <collection name="matrix_values" type="list" label="${tool.name} on ${on_string}: Matrix values">
            <discover_datasets pattern="matrix_values_(?P&lt;designation&gt;.*)\..*" directory="./" format="tabular" />
        </collection>
        <collection name="contact_positions" type="list" label="${tool.name} on ${on_string}: Matrix values">
            <discover_datasets pattern="contact_positions_(?P&lt;designation&gt;.*)\..*" directory="./" format="tabular" />
        </collection>
        <collection name="heatmap" type="list" label="${tool.name} on ${on_string}: Matrix values">
            <discover_datasets pattern="heatmap_(?P&lt;designation&gt;.*)\..*" directory="./" format="tabular" />
        </collection>
    </outputs>
    <tests>
        <test>
            <param name="matrix_h5_cooler" value="Li_et_al_2015.h5" ftype="h5"/>
            <param name="BED" value="test_regions.bed" ftype="bed"/>
            <param name="numberOfBins" value="30" />
            <param name="range_max" value="900000" />
            <param name="range_min" value="50000" />
            <param name="image_file_format" value="png" />
            <output name="outFileName" value="hicAggregateContacts_results1.png" compare="sim_size" />
        </test>
    </tests>
    <help><![CDATA[
  --outFilePrefixMatrix OUTFILEPREFIXMATRIX
                        If this option is given, then the values underlying
                        the final matrix will be saved to tab-delimited tables
                        (one per chromosome) using the indicated prefix, for
                        example TSS_to_TSS_chrX.tab. If clustering is
                        performed, then the values are saved including the
                        cluster_id a in TSS_to_TSS_chrX_cluster_1.tab
  --outFilePrefixClusterContactPositions OUTFILEPREFIXCLUSTERCONTACTPOSITIONS
                        If this option is given, then the position of the
                        contacts is saved as (chrom1, start1, end1, chrom2,
                        start2, end2) where chrom_n, start_n, end_n correspond
                        to the pair ofpositions used to compute the submatrix.
                        The data is saved per chromosome and per cluster
                        separatedly (one file each)
  --diagnosticHeatmapFile DIAGNOSTICHEATMAPFILE
                        If given, a heatmap file (per chromosome) is saved.
                        Each row in the heatmap contains thediagonal of each
                        of the submatrices centered on the bed file. This file
                        is useful to get an idea of the values that are used
                        for the aggregate matrix and to determine the fraction
                        of sub-matrices that are aggregated that may have an
                        enrichment at the center.



| For more information about HiCExplorer please consider our documentation on readthedocs.io_

.. _readthedocs.io: http://hicexplorer.readthedocs.io/en/latest/index.html
]]></help>
    <expand macro="citations" />
</tool>