comparison hicFindTADs.xml @ 18:d404277cc87a draft

"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hicexplorer commit 2a0943e78bdc8ebb13f181399206a9eea37ed78f"
author iuc
date Tue, 16 Mar 2021 14:59:18 +0000
parents 1d9b575fe97d
children 5746d61f0a91
comparison
equal deleted inserted replaced
17:78fb5e286609 18:d404277cc87a
1 <tool id="hicexplorer_hicfindtads" name="@BINARY@" version="@WRAPPER_VERSION@.0"> 1 <tool id="hicexplorer_hicfindtads" name="@BINARY@" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@">
2 <description>identify TAD boundaries by computing the degree of separation of each Hi-C matrix bin</description> 2 <description>identify TAD boundaries by computing the degree of separation of each Hi-C matrix bin</description>
3 <macros> 3 <macros>
4 <token name="@BINARY@">hicFindTADs</token> 4 <token name="@BINARY@">hicFindTADs</token>
5 <import>macros.xml</import> 5 <import>macros.xml</import>
6 </macros> 6 </macros>
11 #if $precomputedZscore_conditional.precomputedZscore_selector == 'precomputed': 11 #if $precomputedZscore_conditional.precomputedZscore_selector == 'precomputed':
12 ln -s '$precomputedZscore_conditional.scoreFile' 'prefix_tad_score.bm' && 12 ln -s '$precomputedZscore_conditional.scoreFile' 'prefix_tad_score.bm' &&
13 ln -s '$precomputedZscore_conditional.zscoreMatrix' 'prefix_zscore_matrix.h5' && 13 ln -s '$precomputedZscore_conditional.zscoreMatrix' 'prefix_zscore_matrix.h5' &&
14 #end if 14 #end if
15 @BINARY@ 15 @BINARY@
16 --matrix 'matrix.$matrix_h5_cooler.ext' 16 --matrix 'matrix.$matrix_h5_cooler.ext'
17 17 --delta $delta
18 --delta $delta 18 #if $minBoundaryDistance:
19 19 --minBoundaryDistance $minBoundaryDistance
20 #if $minBoundaryDistance: 20 #end if
21 --minBoundaryDistance $minBoundaryDistance 21
22 #end if 22 #if $precomputedZscore_conditional.precomputedZscore_selector == 'scratch':
23 23 --minDepth $precomputedZscore_conditional.minDepth
24 #if $precomputedZscore_conditional.precomputedZscore_selector == 'scratch': 24 --maxDepth $precomputedZscore_conditional.maxDepth
25 --minDepth $precomputedZscore_conditional.minDepth 25 --step $precomputedZscore_conditional.step
26 --maxDepth $precomputedZscore_conditional.maxDepth 26 #elif $precomputedZscore_conditional.precomputedZscore_selector == 'precomputed':
27 --step $precomputedZscore_conditional.step 27 --TAD_sep_score_prefix prefix
28 #elif $precomputedZscore_conditional.precomputedZscore_selector == 'precomputed': 28 #end if
29 --TAD_sep_score_prefix prefix 29 #if $multiple_comparison_conditional.multiple_comparison_selector == 'fdr':
30 #end if 30 --correctForMultipleTesting fdr
31 #if $multiple_comparison_conditional.multiple_comparison_selector == 'fdr': 31 --threshold $multiple_comparison_conditional.threshold
32 --correctForMultipleTesting fdr 32 #elif $multiple_comparison_conditional.multiple_comparison_selector == 'bonferroni':
33 --threshold $multiple_comparison_conditional.threshold 33 --correctForMultipleTesting bonferroni
34 #elif $multiple_comparison_conditional.multiple_comparison_selector == 'bonferroni': 34 --threshold $multiple_comparison_conditional.threshold
35 --correctForMultipleTesting bonferroni 35 #else:
36 --threshold $multiple_comparison_conditional.threshold 36 --multipleComparisons None
37 #else: 37 #end if
38 --multipleComparisons None 38
39 #end if 39 --numberOfProcessors @THREADS@
40 40 --outPrefix galaxy_tad_prefix
41 --numberOfProcessors @THREADS@ 41 #if $chromosomes:
42 --outPrefix galaxy_tad_prefix 42 --chromosomes #echo "' '".join([ "'%s'" % $chrom.chromosome for $chrom in $chromosomes ])#
43 #if $chromosomes: 43 #end if
44 --chromosomes #echo "' '".join([ "'%s'" % $chrom.chromosome for $chrom in $chromosomes ])# 44 #if $precomputedZscore_conditional.precomputedZscore_selector == 'scratch':
45 #end if 45 #if $matrix_h5_cooler.ext == 'cool':
46 ]]></command> 46 && mv galaxy_tad_prefix*.cool matrix
47 #elif $matrix_h5_cooler.ext == 'h5':
48 && mv galaxy_tad_prefix*.h5 matrix
49 #end if
50 #end if
51 ]]> </command>
47 <inputs> 52 <inputs>
48 <expand macro='matrix_h5_cooler_macro' /> 53 <expand macro='matrix_h5_cooler_macro' />
49
50 <conditional name='precomputedZscore_conditional'> 54 <conditional name='precomputedZscore_conditional'>
51 <param name='precomputedZscore_selector' type="select" label="Compute from scratch or use precomputed data"> 55 <param name='precomputedZscore_selector' type="select" label="Compute from scratch or use precomputed data">
52 <option value='scratch' selected='True'>From scratch</option> 56 <option value='scratch' selected='True'>From scratch</option>
53 <option value='precomputed'>Precomputed z-score matrix</option> 57 <option value='precomputed'>Precomputed z-score matrix</option>
54 </param> 58 </param>
55 <when value='scratch'> 59 <when value='scratch'>
56 60 <param argument="--minDepth" type="integer" value="5000" label="Minimum window length (in bp) to be considered to the left and to the right of each Hi-C bin." help="This number should be at least 3 times as large as the bin size of the Hi-C matrix." />
57 <param argument="--minDepth" type="integer" value="5000" 61 <param argument="--maxDepth" type="integer" value="10000" label="Maximum window length (in bp) to be considered to the left and to the right of each Hi-C bin." help="This number should around 6-10 times as large as the bin size of the Hi-C matrix." />
58 label="Minimum window length (in bp) to be considered to the left and to the right of each Hi-C bin." 62 <param argument="--step" type="integer" value="10000" label="Step size when moving from minDepth to maxDepth" help="The step size grows exponentially as maxDeph + (step * int(x)**1.5) for x in [0, 1, ...]
59 help="This number should be at least 3 times as large as the bin size of the Hi-C matrix."/>
60 <param argument="--maxDepth" type="integer" value="10000"
61 label="Maximum window length (in bp) to be considered to the left and to the right of each Hi-C bin."
62 help="This number should around 6-10 times as large as the bin size of the Hi-C matrix."/>
63 <param argument="--step" type="integer" value="10000"
64 label="Step size when moving from minDepth to maxDepth"
65 help="The step size grows exponentially as maxDeph + (step * int(x)**1.5) for x in [0, 1, ...]
66 until it reaches maxDepth. For example, selecting step=10,000, minDepth=20,000 63 until it reaches maxDepth. For example, selecting step=10,000, minDepth=20,000
67 and maxDepth=150,000 will compute TAD-scores for window sizes: 64 and maxDepth=150,000 will compute TAD-scores for window sizes:
68 20,000, 30,000, 40,000, 70,000 and 100,000"/> 65 20,000, 30,000, 40,000, 70,000 and 100,000" />
69 </when> 66 </when>
70 <when value='precomputed'> 67 <when value='precomputed'>
71 <param name="scoreFile" type="data" format='bedgraph' label="Precomputed TAD score file (bm)"/> 68 <param name="scoreFile" type="data" format='bedgraph' label="Precomputed TAD score file (bm)" />
72 <param name="zscoreMatrix" type="data" format='h5' label="Precomputed z-score matrix"/> 69 <param name="zscoreMatrix" type="data" format='cool,h5' label="Precomputed z-score matrix" />
73 </when> 70 </when>
74 </conditional> 71 </conditional>
75
76 <conditional name="multiple_comparison_conditional"> 72 <conditional name="multiple_comparison_conditional">
77 <param name="multiple_comparison_selector" type="select" label="Multiple Testing Corrections" > 73 <param name="multiple_comparison_selector" type="select" label="Multiple Testing Corrections">
78 <option value="fdr" selected="True">False discovery rate</option> 74 <option value="fdr" selected="True">False discovery rate</option>
79 <option value="bonferroni">Bonferroni correction</option> 75 <option value="bonferroni">Bonferroni correction</option>
80 <option value="None">No correction</option> 76 <option value="None">No correction</option>
81 </param> 77 </param>
82 <when value="fdr"> 78 <when value="fdr">
83 <param name="threshold" type="float" value="0.01" label="q-value" /> 79 <param argument="--threshold" type="float" value="0.01" label="q-value" />
84 </when> 80 </when>
85 <when value="bonferroni"> 81 <when value="bonferroni">
86 <param name="threshold" type="float" value="0.01" label="p-value" /> 82 <param argument="--threshold" type="float" value="0.01" label="p-value" />
87 </when> 83 </when>
88 <when value="None" /> 84 <when value="None" />
89 </conditional> 85 </conditional>
90 <param argument="--delta" type="float" value="0.001" optional="True" 86 <param argument="--delta" type="float" value="0.001" optional="True" label="Minimum threshold of the difference between the TAD-separation score of a putative boundary and the mean of the TAD-sep. score of surrounding bins." help="The delta value reduces spurious boundaries that are shallow, which usually
91 label="Minimum threshold of the difference between the TAD-separation score of a putative boundary and the mean of the TAD-sep. score of surrounding bins."
92 help="The delta value reduces spurious boundaries that are shallow, which usually
93 occur at the center of large TADs when the TAD-sep. score is flat. Higher 87 occur at the center of large TADs when the TAD-sep. score is flat. Higher
94 delta threshold values produce more conservative boundary estimations. By 88 delta threshold values produce more conservative boundary estimations. By
95 default, multiple delta thresholds are saved for the following delta 89 default, multiple delta thresholds are saved for the following delta
96 values: 0.001, 0.01, 0.03, 0.05, 0.1. Other single or multiple values 90 values: 0.001, 0.01, 0.03, 0.05, 0.1. Other single or multiple values
97 can be given."/> 91 can be given." />
98 92 <param argument="--minBoundaryDistance" type="integer" value="" optional="True" label="Minimum distance between boundaries (in bp)." help="This parameter can be used to reduce spurious boundaries caused by noise. " />
99 <param argument="--minBoundaryDistance" type="integer" value="" optional="True"
100 label="Minimum distance between boundaries (in bp)."
101 help="This parameter can be used to reduce spurious boundaries caused by noise. "/>
102 <repeat name="chromosomes" title="List of chromosomes to be included in the correlation" min="0"> 93 <repeat name="chromosomes" title="List of chromosomes to be included in the correlation" min="0">
103 <param name="chromosome" type="text" label='chromosome (one per field)'> 94 <param name="chromosome" type="text" label='chromosome (one per field)'>
104 <validator type="empty_field" /> 95 <validator type="empty_field" />
105 </param> 96 </param>
106 </repeat> 97 </repeat>
107 </inputs> 98 </inputs>
108 <outputs> 99 <outputs>
109 100 <data name="boundaries" from_work_dir="galaxy_tad_prefix_boundaries.bed" format="bed" label="${tool.name} on ${on_string}: Boundary positions" />
110 <data name="boundaries" from_work_dir="galaxy_tad_prefix_boundaries.bed" format="bed" 101 <data name="score" from_work_dir="galaxy_tad_prefix_score.bedgraph" format="bedgraph" label="${tool.name} on ${on_string}: Matrix with multi-scale TAD scores" />
111 label="${tool.name} on ${on_string}: Boundary positions" /> 102 <data name="domains" from_work_dir="galaxy_tad_prefix_domains.bed" format="bed" label="${tool.name} on ${on_string}: TAD domains" />
112 103 <data name="boundaries_bin" from_work_dir="galaxy_tad_prefix_boundaries.gff" format="gff" label="${tool.name} on ${on_string}: Boundary information plus score" />
113 <data name="score" from_work_dir="galaxy_tad_prefix_score.bedgraph" format="bedgraph" 104 <data name="tad_score" from_work_dir="galaxy_tad_prefix_tad_score.bm" format="bedgraph" label="${tool.name} on ${on_string}: TAD information in bm file">
114 label="${tool.name} on ${on_string}: Matrix with multi-scale TAD scores" />
115 <data name="domains" from_work_dir="galaxy_tad_prefix_domains.bed" format="bed"
116 label="${tool.name} on ${on_string}: TAD domains" />
117 <data name="boundaries_bin" from_work_dir="galaxy_tad_prefix_boundaries.gff"
118 format="gff" label="${tool.name} on ${on_string}: Boundary information plus score" />
119
120 <data name="tad_score" from_work_dir="galaxy_tad_prefix_tad_score.bm"
121 format="bedgraph" label="${tool.name} on ${on_string}: TAD information in bm file" >
122 <filter>precomputedZscore_conditional.precomputedZscore_selector == 'scratch'</filter> 105 <filter>precomputedZscore_conditional.precomputedZscore_selector == 'scratch'</filter>
123
124 </data> 106 </data>
125 107 <data name="matrix_output" from_work_dir="matrix" format="h5" label="${tool.name} z-score matrix on ${on_string}">
126 <data name="matrix_output" from_work_dir="galaxy_tad_prefix_zscore_matrix.h5"
127 format="h5" label="${tool.name} on ${on_string}: Z-score matrix in h5">
128 <filter>precomputedZscore_conditional.precomputedZscore_selector == 'scratch'</filter> 108 <filter>precomputedZscore_conditional.precomputedZscore_selector == 'scratch'</filter>
109 <change_format>
110 <when input="matrix_h5_cooler.ext" value="cool" format="cool" />
111 </change_format>
129 </data> 112 </data>
130 </outputs> 113 </outputs>
131 <tests> 114 <tests>
132 <test> 115 <test>
133 <param name="matrix_h5_cooler" value="small_test_matrix.h5"/> 116 <param name="matrix_h5_cooler" value="small_test_matrix.h5" />
134 <conditional name="precomputedZscore_conditional"> 117 <conditional name="precomputedZscore_conditional">
135 <param name="precomputedZscore_selector" value="scratch"/> 118 <param name="precomputedZscore_selector" value="scratch" />
136 <param name="minDepth" value="15000"/> 119 <param name="minDepth" value="15000" />
137 <param name="maxDepth" value="30000"/> 120 <param name="maxDepth" value="30000" />
138 <param name="step" value="15000"/> 121 <param name="step" value="15000" />
139 </conditional> 122 </conditional>
140
141 <param name="minBoundaryDistance" value="5000" /> 123 <param name="minBoundaryDistance" value="5000" />
142 <conditional name="multiple_comparison_conditional"> 124 <conditional name="multiple_comparison_conditional">
143 <param name="multiple_comparison_selector" value="fdr"/> 125 <param name="multiple_comparison_selector" value="fdr" />
144 <param name="threshold" value="0.8" /> 126 <param name="threshold" value="0.8" />
145 </conditional> 127 </conditional>
146 <output name="boundaries" file="find_TADs/multiFDR_boundaries.bed" ftype="bed" compare="sim_size" delta="35000" /> 128 <output name="boundaries" file="find_TADs/multiFDR_boundaries.bed" ftype="bed" />
147 <output name="boundaries_bin" file="find_TADs/multiFDR_boundaries.gff" ftype="gff" compare="sim_size" delta="35000" /> 129 <output name="boundaries_bin" file="find_TADs/multiFDR_boundaries.gff" ftype="gff" />
148 <output name="domains" file="find_TADs/multiFDR_domains.bed" ftype="bed" compare="sim_size" delta="35000" /> 130 <output name="domains" file="find_TADs/multiFDR_domains.bed" ftype="bed" />
149 <output name="score" file="find_TADs/multiFDR_score.bedgraph" ftype="bedgraph" compare="sim_size" delta="35000" /> 131 <output name="score" ftype="bedgraph">
150 <output name="tad_score" file="find_TADs/multiFDR_tad_score.bm" ftype="bedgraph" compare="sim_size" delta="35000" /> 132 <assert_contents>
133 <has_n_lines n="24097" />
134 <has_n_columns n="4" />
135 <has_text text="chr2LHet" />
136 <has_text text="chrYHet" />
137 <has_text text="chrX" />
138 </assert_contents>
139 </output>
140 <output name="tad_score" file="find_TADs/multiFDR_tad_score.bm" ftype="bedgraph" />
151 <output name="matrix_output" ftype="h5"> 141 <output name="matrix_output" ftype="h5">
152 <assert_contents> 142 <assert_contents>
153 <has_h5_keys keys='intervals,matrix'/> 143 <has_h5_keys keys='intervals,matrix' />
154 </assert_contents> 144 </assert_contents>
155 </output> 145 </output>
156
157 </test> 146 </test>
158 <test> 147 <test>
159 <param name="matrix_h5_cooler" value="small_test_matrix.h5"/> 148 <param name="matrix_h5_cooler" value="small_test_matrix.h5" />
160 <conditional name="precomputedZscore_conditional"> 149 <conditional name="precomputedZscore_conditional">
161 <param name="precomputedZscore_selector" value="precomputed"/> 150 <param name="precomputedZscore_selector" value="precomputed" />
162 <param name="scoreFile" value="find_TADs/multiFDR_tad_score.bm" /> 151 <param name="scoreFile" value="find_TADs/multiFDR_tad_score.bm" />
163 <param name="zscoreMatrix" value="find_TADs/multiFDR_zscore_matrix.h5"/> 152 <param name="zscoreMatrix" value="find_TADs/multiFDR_zscore_matrix.h5" />
164 </conditional> 153 </conditional>
165 <param name="minBoundaryDistance" value="5000" /> 154 <param name="minBoundaryDistance" value="5000" />
166 <conditional name="multiple_comparison_conditional"> 155 <conditional name="multiple_comparison_conditional">
167 <param name="multiple_comparison_selector" value="fdr"/> 156 <param name="multiple_comparison_selector" value="fdr" />
168 <param name="threshold" value="0.1" /> 157 <param name="threshold" value="0.1" />
169 </conditional> 158 </conditional>
170 <output name="boundaries" file="find_TADs/multiFDR_boundaries.bed" ftype="bed" compare="sim_size" delta="35000" /> 159 <output name="boundaries" file="find_TADs/multiFDR_boundaries.bed" ftype="bed" />
171 <output name="boundaries_bin" file="find_TADs/multiFDR_boundaries.gff" ftype="gff" compare="sim_size" delta="35000" /> 160 <output name="boundaries_bin" file="find_TADs/multiFDR_boundaries.gff" ftype="gff" />
172 <output name="domains" file="find_TADs/multiFDR_domains.bed" ftype="bed" compare="sim_size" delta="35000" /> 161 <output name="domains" file="find_TADs/multiFDR_domains.bed" ftype="bed" />
173 <output name="score" file="find_TADs/multiFDR_score.bedgraph" ftype="bedgraph" compare="sim_size" delta="35000" /> 162 <output name="score" ftype="bedgraph">
163 <assert_contents>
164 <has_n_lines n="24097" />
165 <has_n_columns n="4" />
166 <has_text text="chr2LHet" />
167 <has_text text="chrYHet" />
168 </assert_contents>
169 </output>
174 </test> 170 </test>
175 </tests> 171 </tests>
176 <help><![CDATA[ 172 <help><![CDATA[
173
177 Calculate Topologic Associated Domains 174 Calculate Topologic Associated Domains
178 ====================================== 175 ======================================
179 176
180 Toplogical domains (TADs) are large mainly self-interacting domains. Chromatin interactions occur with higher frequency within a TAD as between TADs. More information_. 177 Toplogical domains (TADs) are large mainly self-interacting domains. Chromatin interactions occur with higher frequency within a TAD as between TADs. More information_.
181 178
235 For more information about HiCExplorer please consider our documentation on readthedocs.io_ 232 For more information about HiCExplorer please consider our documentation on readthedocs.io_
236 233
237 .. _readthedocs.io: http://hicexplorer.readthedocs.io/en/latest/index.html 234 .. _readthedocs.io: http://hicexplorer.readthedocs.io/en/latest/index.html
238 .. _Source: https://en.wikipedia.org/wiki/Standard_score#Calculation_from_raw_score 235 .. _Source: https://en.wikipedia.org/wiki/Standard_score#Calculation_from_raw_score
239 .. _information: https://en.wikipedia.org/wiki/Topologically_associating_domain_ 236 .. _information: https://en.wikipedia.org/wiki/Topologically_associating_domain_
240 ]]></help> 237 ]]> </help>
241 <expand macro="citations" /> 238 <expand macro="citations" />
242 </tool> 239 </tool>