view scHicClusterCompartments.xml @ 2:54b6cef88a7f draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/schicexplorer commit d350f8e73ae518245a21f9720f8282f06eb9cc5d
author iuc
date Fri, 14 Apr 2023 14:25:07 +0000
parents 0bc84d7d94d4
children
line wrap: on
line source

<tool id="schicexplorer_schicclustercompartments" name="@BINARY@" version="@TOOL_VERSION@.1" profile="@PROFILE@">
    <description>clusters single-cell Hi-C interaction matrices with A/B compartments dimension reduction</description>
    <macros>
        <token name="@BINARY@">scHicClusterCompartments</token>
        <import>macros.xml</import>
    </macros>
    <expand macro="requirements" />
    <command detect_errors="exit_code"><![CDATA[
        @BINARY@

        --matrix '$matrix_scooler'

        --numberOfClusters $numberOfClusters

        --clusterMethod $clusterMethod_selector

        #if $chromosomes:
            #set $chromosome = ' '.join([ '\'%s\'' % $chrom for $chrom in str($chromosomes).split(' ') ])
            --chromosomes $chromosome
        #end if

        #if $norm:
            $norm
        #end if
        #if $binarization:
            $binarization
        #end if

        #if $extra_track_conditional.extra_track_selection == 'gene_density':
            --extraTrack '$extra_track_conditional.extraTrack'
        #elif $extra_track_conditional.extra_track_selection == 'histon_mark':
            --histonMarkType '$extra_track_conditional.histonMarkType'
        #end if

        --outFileName cluster_list.txt

        --threads @THREADS@



    ]]></command>
    <inputs>
        
        <expand macro="matrix_scooler_macro"/>
        <param name="clusterMethod_selector" type="select" label="Cluster method:">
                <option value="kmeans" selected="True">K-means</option>
                <option value="spectral" >Spectral clustering</option>
        </param>
        <param name="numberOfClusters" type="integer" value="7"  label="Number of clusters" help='How many clusters should be computed by kmeans or spectral clustering' />   

        <param name='norm' type='boolean' truevalue='--norm' label='Use different expected value computation'/>
        <param name='binarization' type='boolean' truevalue='--binarization' label='Convert positive values to 1 and all negative to -1.'/>
        

        <param name='chromosomes' type='text' label='List of chromosomes to consider' help='Please separate the chromosomes by space'/>
        <conditional name="extra_track_conditional">
            <param name='extra_track_selection' label='Extra track type' type='select'>
                <option value='' selected='true'>No track</option>
                <option value='gene_density'>Gene density</option>
                <option value='histon_mark'>Histone mark coverage</option>
            </param>
            <when value='gene_density' >
                <param name='extraTrack' type='data' format='bed' label='Correlate PCA with e.g. gene density or histone marks to flip sign'/>
            </when>
            <when value='histon_mark'>
                <param name='histonMarkType' type='data' format='bed' label='Correlate PCA with e.g. gene density or histone marks to flip sign'/>
            </when>
            <when value='' />
        </conditional>
    </inputs>
    <outputs>
        <data name="outFileName" from_work_dir="cluster_list.txt" format="txt" label="${tool.name} on ${on_string}: Cluster results"/>
    </outputs>
    <tests>
        <test>
            <param name='matrix_scooler' value='test_matrix.scool' />
            <param name='clusterMethod_selector' value='kmeans' />
            <param name='numberOfClusters' value='3' />
            <output name="outFileName" file="scHicClusterCompartments/cluster_kmeans.txt" ftype="txt" compare="sim_size" delta="4000"/>
        </test>
        <test>
            <param name='matrix_scooler' value='test_matrix.scool' />
            <param name='clusterMethod_selector' value='spectral' />
            <param name='numberOfClusters' value='3' />
            <output name="outFileName" file="scHicClusterCompartments/cluster_spectral.txt" ftype="txt" compare="sim_size" delta="4000"/>
        </test>
        <test>
            <param name='matrix_scooler' value='test_matrix.scool' />
            <param name='clusterMethod_selector' value='kmeans' />
            <param name='numberOfClusters' value='3' />
            <param name='binarization' value='True'/>
            <param name='norm' value='True'/>
            <conditional name="extra_track_conditional">
                <param name="extra_track_selection" value="histon_mark"/>
                <param name="histonMarkType" value="scHicClusterCompartments/mm9_H3K36me3.bed.gz" />
            </conditional>
            <output name="outFileName" file="scHicClusterCompartments/cluster_kmeans_binarization_norm_histone_track.txt" ftype="txt" compare="sim_size" delta="4000"/>
        </test>
       <test>
            <param name='matrix_scooler' value='test_matrix.scool' />
            <param name='clusterMethod_selector' value='kmeans' />
            <param name='numberOfClusters' value='3' />
            <param name='binarization' value='True'/>
            <param name='norm' value='True'/>
            <conditional name="extra_track_conditional">
                <param name="extra_track_selection" value="gene_density"/>
                <param name="extraTrack" value="scHicClusterCompartments/mm9_gene.bed.gz" />
            </conditional>
            <output name="outFileName" file="scHicClusterCompartments/cluster_spectral_binarization_norm_gene_track.txt" ftype="txt" compare="sim_size" delta="4000"/>
        </test>
    </tests>
    <help><![CDATA[

Clustering with dimension reduction via A/B compartments
========================================================

scHicClusterCompartments uses kmeans or spectral clustering to associate each cell to a cluster and therefore to its cell cycle. 
The clustering is applied on dimension reduced data based on the A/B compartments track. This approach reduces the number of dimensions from samples * (number of bins)^2 to samples * (number of bins). 
Please consider also the other clustering and dimension reduction approaches of the scHicExplorer suite such as `scHicCluster`, `scHicClusterMinHash` and `scHicClusterSVL`. They can give you better results, 
can be faster or less memory demanding.

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

.. _readthedocs.io: http://schicexplorer.readthedocs.io/
]]></help>
    <expand macro="citations" />

</tool>