Mercurial > repos > iuc > hicexplorer_hicconvertformat
comparison hicConvertFormat.xml @ 0:2aad6b74f910 draft default tip
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/hicexplorer commit 9e4e8de0e003fc15f5bae3648232c2a8a57e6391"
| author | iuc |
|---|---|
| date | Mon, 09 Dec 2019 10:20:14 +0000 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:2aad6b74f910 |
|---|---|
| 1 <tool id="hicexplorer_hicconvertformat" name="@BINARY@" version="@WRAPPER_VERSION@.0"> | |
| 2 <description>Convert between different file formats</description> | |
| 3 <macros> | |
| 4 <token name="@BINARY@">hicConvertFormat</token> | |
| 5 <token name="@SINGLE_INPUT@"> | |
| 6 #if $xml_path.inputFormat_selector == 'optionCool': | |
| 7 --matrices 'matrix.cool' | |
| 8 --inputFormat cool | |
| 9 #if $xml_path.correctionName: | |
| 10 --correction_name '$xml_path.correctionName' | |
| 11 #end if | |
| 12 | |
| 13 #if $xml_path.correctionDivision: | |
| 14 --correction_division | |
| 15 #end if | |
| 16 | |
| 17 #if $xml_path.chromosome: | |
| 18 #set $chromosome = ' '.join([ '\'%s\'' % $chrom for $chrom in str($xml_path.chromosome).split(' ') ]) | |
| 19 | |
| 20 --chromosome $chromosome | |
| 21 #end if | |
| 22 | |
| 23 #if $xml_path.loadRawValues: | |
| 24 --load_raw_values | |
| 25 #end if | |
| 26 #end if | |
| 27 #if $xml_path.inputFormat_selector == 'optionH5': | |
| 28 --matrices "matrix.h5" | |
| 29 --inputFormat h5 | |
| 30 | |
| 31 #end if | |
| 32 #if $xml_path.inputFormat_selector == 'optionHomer': | |
| 33 --matrices "matrix.homer" | |
| 34 --inputFormat homer | |
| 35 | |
| 36 #end if | |
| 37 #if $xml_path.inputFormat_selector == 'optionHicpro': | |
| 38 --matrices "matrix.hicpro" | |
| 39 --bedFileHicpro "matrix.bed" | |
| 40 --inputFormat hicpro | |
| 41 #end if | |
| 42 #if $xml_path.inputFormat_selector == 'optionHic': | |
| 43 --matrices "matrix.hic" | |
| 44 #if $xml_path.resolutions: | |
| 45 #set $resolutions = ' '.join([ '"%s"' % $resolution for $resolution in str($xml_path.resolutions).split(" ") ]) | |
| 46 | |
| 47 --resolutions $resolutions | |
| 48 #end if | |
| 49 --inputFormat hic | |
| 50 #end if | |
| 51 </token> | |
| 52 <import>macros.xml</import> | |
| 53 </macros> | |
| 54 | |
| 55 <expand macro="requirements" /> | |
| 56 <command detect_errors="exit_code"><![CDATA[ | |
| 57 | |
| 58 | |
| 59 ## single to single case | |
| 60 | |
| 61 | |
| 62 #if $outputSingleMultiple_conditional.outputSingleMultiple_selector == 'singleMatrix': | |
| 63 #set xml_path = $outputSingleMultiple_conditional.inputFormat_conditional | |
| 64 | |
| 65 #if $xml_path.inputFormat_selector == 'optionCool': | |
| 66 ln -s "$xml_path.matrix_h5_cooler" "matrix.cool" && | |
| 67 | |
| 68 #end if | |
| 69 #if $xml_path.inputFormat_selector == 'optionH5': | |
| 70 ln -s "$xml_path.matrix_h5_cooler" "matrix.h5" && | |
| 71 | |
| 72 #end if | |
| 73 #if $xml_path.inputFormat_selector == 'optionHomer': | |
| 74 ln -s "$xml_path.matrixHomer" "matrix.homer" && | |
| 75 | |
| 76 #end if | |
| 77 | |
| 78 #if $xml_path.inputFormat_selector == 'optionHicpro': | |
| 79 ln -s "$xml_path.matrixHicpro" "matrix.hicpro" && | |
| 80 ln -s "$xml_path.bedHicpro" "matrix.bed" && | |
| 81 #end if | |
| 82 | |
| 83 #if $xml_path.inputFormat_selector == 'optionHic': | |
| 84 ln -s "$xml_path.matrixHic" "matrix.hic" && | |
| 85 #end if | |
| 86 | |
| 87 | |
| 88 | |
| 89 @BINARY@ | |
| 90 @SINGLE_INPUT@ | |
| 91 | |
| 92 | |
| 93 --outputFormat $outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector | |
| 94 --outFileName 'matrix.$outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector' | |
| 95 | |
| 96 #if $outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector == 'ginteractions': | |
| 97 && mv 'matrix.${outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector}.tsv' matrix_out | |
| 98 | |
| 99 #else: | |
| 100 && mv "matrix.$outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector" matrix_out | |
| 101 #end if | |
| 102 #end if | |
| 103 | |
| 104 | |
| 105 ### Set up links to matrices to have correct ending | |
| 106 #if $outputSingleMultiple_conditional.outputSingleMultiple_selector == 'multipleMatrix': | |
| 107 #if $outputSingleMultiple_conditional.resolutionOrManyToOne_conditional.resolutionOrManyToOne_selector == 'resolution_option': | |
| 108 #set xml_path = $outputSingleMultiple_conditional.resolutionOrManyToOne_conditional.inputFormat_conditional | |
| 109 #if $xml_path.inputFormat_selector == 'optionCool': | |
| 110 ln -s "$xml_path.matrix_h5_cooler" "matrix.cool" && | |
| 111 #end if | |
| 112 | |
| 113 #if $xml_path.inputFormat_selector == 'optionH5': | |
| 114 ln -s "$xml_path.matrix_h5_cooler" "matrix.h5" && | |
| 115 | |
| 116 #end if | |
| 117 | |
| 118 #if $xml_path.inputFormat_selector == 'optionHomer': | |
| 119 ln -s "$xml_path.matrix_h5_cooler" "matrix.homer" && | |
| 120 | |
| 121 #end if | |
| 122 | |
| 123 #if $xml_path.inputFormat_selector == 'optionHicpro': | |
| 124 ln -s "$xml_path.matrix_h5_cooler" "matrix.hicpro" && | |
| 125 ln -s "$xml_path.bedHicpro" "matrix.bed" && | |
| 126 | |
| 127 #end if | |
| 128 #if $xml_path.inputFormat_selector == 'optionHic': | |
| 129 ln -s "$xml_path.matrix_h5_cooler" "matrix.hic" && | |
| 130 | |
| 131 #end if | |
| 132 #else: | |
| 133 #set xml_manyToOne = $outputSingleMultiple_conditional.resolutionOrManyToOne_conditional | |
| 134 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionCool': | |
| 135 #for $counter, $m in enumerate($xml_manyToOne.matrix_h5_cooler_multiple): | |
| 136 ln -s '$m' "${counter}_matrix.cool" && | |
| 137 #end for | |
| 138 #set $m = ' '.join([ '"%s_matrix"' % $counter for $counter, $matrix in enumerate($xml_manyToOne.matrix_h5_cooler_multiple) ]) | |
| 139 | |
| 140 #end if | |
| 141 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionH5': | |
| 142 #for $counter, $m in enumerate($xml_manyToOne.matrix_h5_cooler_multiple): | |
| 143 ln -s '$m' "${counter}_matrix.h5" && | |
| 144 #end for | |
| 145 #set $m = ' '.join([ '"%s_matrix"' % $counter for $counter, $matrix in enumerate($xml_manyToOne.matrix_h5_cooler_multiple) ]) | |
| 146 #end if | |
| 147 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionHomer': | |
| 148 #for $counter, $m in enumerate($xml_manyToOne.matrixHomer): | |
| 149 ln -s '$m' "${counter}_matrix.homer" && | |
| 150 #end for | |
| 151 #set $m = ' '.join([ '"%s_matrix.homer"' % $counter for $counter, $matrix in enumerate($xml_manyToOne.matrixHomer) ]) | |
| 152 #end if | |
| 153 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionHicpro': | |
| 154 #for $counter, $m in enumerate($xml_manyToOne.matrixHicpro): | |
| 155 ln -s '$m' "${counter}_matrix.hicpro" && | |
| 156 #end for | |
| 157 #set $m = ' '.join([ '"%s_matrix.hicpro"' % $counter for $counter, $matrix in enumerate($xml_manyToOne.matrixHicpro) ]) | |
| 158 | |
| 159 #for $counter, $bed in enumerate($xml_manyToOne.bedHicpro): | |
| 160 ln -s '$bed' "${counter}_matrix.bed" && | |
| 161 #end for | |
| 162 #set $bed = ' '.join([ '"%s_matrix.bed"' % $counter for $counter, $matrix in enumerate($xml_manyToOne.bedHicpro) ]) | |
| 163 --bedFileHicpro '$bed' | |
| 164 #end if | |
| 165 #end if | |
| 166 | |
| 167 | |
| 168 @BINARY@ | |
| 169 --outputFormat mcool | |
| 170 | |
| 171 #if $outputSingleMultiple_conditional.resolutionOrManyToOne_conditional.resolutionOrManyToOne_selector == 'resolution_option': | |
| 172 #set $resolutions = ' '.join([ '"%s"' % $resolution for $resolution in str($outputSingleMultiple_conditional.resolutionOrManyToOne_conditional.resolutions).split(" ") ]) | |
| 173 | |
| 174 --resolutions $resolutions | |
| 175 #if $xml_path.inputFormat_selector == 'optionCool': | |
| 176 --matrices "matrix.cool" | |
| 177 --inputFormat cool | |
| 178 #end if | |
| 179 #if $xml_path.inputFormat_selector == 'optionH5': | |
| 180 --matrices "matrix.h5" | |
| 181 --inputFormat h5 | |
| 182 | |
| 183 #end if | |
| 184 #if $xml_path.inputFormat_selector == 'optionHomer': | |
| 185 --matrices "matrix.homer" | |
| 186 --inputFormat homer | |
| 187 | |
| 188 #end if | |
| 189 #if $xml_path.inputFormat_selector == 'optionHicpro': | |
| 190 --matrices "matrix.hicpro" | |
| 191 --bedFileHicpro "matrix.bed" | |
| 192 --inputFormat hicpro | |
| 193 #end if | |
| 194 #if $xml_path.inputFormat_selector == 'optionHic': | |
| 195 --matrices "matrix.hic" | |
| 196 --inputFormat hic | |
| 197 #end if | |
| 198 #end if | |
| 199 | |
| 200 #if $outputSingleMultiple_conditional.resolutionOrManyToOne_conditional.resolutionOrManyToOne_selector == 'manyToOne_option': | |
| 201 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionCool': | |
| 202 --inputFormat cool | |
| 203 #end if | |
| 204 | |
| 205 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionH5': | |
| 206 --inputFormat h5 | |
| 207 #end if | |
| 208 | |
| 209 | |
| 210 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionHomer': | |
| 211 --inputFormat homer | |
| 212 #end if | |
| 213 | |
| 214 #if $xml_manyToOne.inputFormat_conditional.inputFormat_selector == 'optionHicpro': | |
| 215 --inputFormat hicpro | |
| 216 --bedFileHicpro '$bed' | |
| 217 #end if | |
| 218 | |
| 219 --matrices $m | |
| 220 #end if | |
| 221 --outFileName matrix.mcool | |
| 222 && mv matrix.mcool matrix_out | |
| 223 | |
| 224 #end if | |
| 225 | |
| 226 | |
| 227 ]]> | |
| 228 </command> | |
| 229 <inputs> | |
| 230 | |
| 231 <conditional name="outputSingleMultiple_conditional"> | |
| 232 <param name="outputSingleMultiple_selector" type="select" label="Choose output matrix type"> | |
| 233 <option value="singleMatrix" selected="True">single matrix</option> | |
| 234 <option value="multipleMatrix">multiple matrix</option> | |
| 235 </param> | |
| 236 <when value='singleMatrix'> | |
| 237 <expand macro='convertFormat_single_macro' /> | |
| 238 <expand macro='convertFormat_single_output_macro' /> | |
| 239 </when> | |
| 240 <when value='multipleMatrix'> | |
| 241 <conditional name="resolutionOrManyToOne_conditional"> | |
| 242 <param name="resolutionOrManyToOne_selector" type="select" label="Choose input file type"> | |
| 243 <option value='resolution_option' >Create out of one matrix a multi matrix with diffrerent resolutions</option> | |
| 244 <option value='manyToOne_option'>Create out of n matrices one multi matrix </option> | |
| 245 </param> | |
| 246 <when value='resolution_option'> | |
| 247 <param name='resolutions' type='text' label='To be stored resolutions'/> | |
| 248 <expand macro='convertFormat_single_macro' /> | |
| 249 </when> | |
| 250 <when value='manyToOne_option'> | |
| 251 <expand macro='convertFormat_multiple_macro' /> | |
| 252 </when> | |
| 253 </conditional> | |
| 254 <param name='storeAppliedCorrection' type="boolean" truevalue="yes" falsevalue="" label='Store applied correction factors in column count'/> | |
| 255 <param name='enforceInteger' type="boolean" truevalue="yes" falsevalue="" label='Enforce integer for count column'/> | |
| 256 </when> | |
| 257 </conditional> | |
| 258 </inputs> | |
| 259 <outputs> | |
| 260 | |
| 261 <data name='output_converted_matrix' from_work_dir='matrix_out' format='cool' label='Converted matrix'> | |
| 262 <filter>outputSingleMultiple_conditional.outputSingleMultiple_selector == 'singleMatrix'</filter> | |
| 263 <change_format> | |
| 264 <when input="outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector" value="h5" format="h5" /> | |
| 265 <when input="outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector" value="homer" format="zip" /> | |
| 266 <when input="outputSingleMultiple_conditional.outputFormat_conditional.outputFormat_selector" value="ginteractions" format="tsv" /> | |
| 267 </change_format> | |
| 268 </data> | |
| 269 <data name='output_converted_matrix_multi' from_work_dir='matrix_out' format='mcool' label='Converted matrix mcool'> | |
| 270 <filter>outputSingleMultiple_conditional.outputSingleMultiple_selector == 'multipleMatrix'</filter> | |
| 271 </data> | |
| 272 </outputs> | |
| 273 <tests> | |
| 274 <test> | |
| 275 <conditional name='outputSingleMultiple_conditional'> | |
| 276 <param name='outputSingleMultiple_selector' value='singleMatrix'/> | |
| 277 <conditional name='inputFormat_conditional'> | |
| 278 <param name='inputFormat_selector' value='optionCool'/> | |
| 279 <param name='matrix_h5_cooler' value='small_test_matrix.cool'/> | |
| 280 </conditional> | |
| 281 | |
| 282 <conditional name='outputFormat_conditional'> | |
| 283 <param name='outputFormat_selector' value='h5'/> | |
| 284 </conditional> | |
| 285 </conditional> | |
| 286 <output name="output_converted_matrix" ftype="h5"> | |
| 287 <assert_contents> | |
| 288 <has_h5_keys keys='intervals,matrix,nan_bins'/> | |
| 289 </assert_contents> | |
| 290 </output> | |
| 291 </test> | |
| 292 <test> | |
| 293 <conditional name='outputSingleMultiple_conditional'> | |
| 294 <param name='outputSingleMultiple_selector' value='singleMatrix'/> | |
| 295 <conditional name='inputFormat_conditional'> | |
| 296 <param name='inputFormat_selector' value='optionH5'/> | |
| 297 <param name='matrix_h5_cooler' value='small_test_matrix.h5'/> | |
| 298 </conditional> | |
| 299 | |
| 300 <conditional name='outputFormat_conditional'> | |
| 301 <param name='outputFormat_selector' value='cool'/> | |
| 302 </conditional> | |
| 303 </conditional> | |
| 304 <output name="output_converted_matrix" ftype="cool"> | |
| 305 <assert_contents> | |
| 306 <has_h5_keys keys='bins,chroms,indexes,pixels'/> | |
| 307 </assert_contents> | |
| 308 </output> | |
| 309 </test> | |
| 310 <test> | |
| 311 <conditional name='outputSingleMultiple_conditional'> | |
| 312 <param name='outputSingleMultiple_selector' value='singleMatrix'/> | |
| 313 <conditional name='inputFormat_conditional'> | |
| 314 <param name='inputFormat_selector' value='optionCool'/> | |
| 315 <param name='matrix_h5_cooler' value='hicConvertFormat/small_test_matrix_chr4.cool'/> | |
| 316 </conditional> | |
| 317 | |
| 318 <conditional name='outputFormat_conditional'> | |
| 319 <param name='outputFormat_selector' value='homer'/> | |
| 320 </conditional> | |
| 321 </conditional> | |
| 322 <output name="output_converted_matrix" file="hicConvertFormat/small_test_matrix_chr4.homer" ftype="zip" compare="sim_size" delta="40000"/> | |
| 323 </test> | |
| 324 <test> | |
| 325 <conditional name='outputSingleMultiple_conditional'> | |
| 326 <param name='outputSingleMultiple_selector' value='singleMatrix'/> | |
| 327 <conditional name='inputFormat_conditional'> | |
| 328 <param name='inputFormat_selector' value='optionCool'/> | |
| 329 <param name='matrix_h5_cooler' value='hicConvertFormat/small_test_matrix_chr4.cool'/> | |
| 330 </conditional> | |
| 331 | |
| 332 <conditional name='outputFormat_conditional'> | |
| 333 <param name='outputFormat_selector' value='ginteractions'/> | |
| 334 </conditional> | |
| 335 </conditional> | |
| 336 <output name="output_converted_matrix" file="hicConvertFormat/small_test_matrix_chr4.ginteractions.tsv" ftype="tsv" compare="sim_size" delta="40000"/> | |
| 337 | |
| 338 </test> | |
| 339 <test> | |
| 340 <conditional name='outputSingleMultiple_conditional'> | |
| 341 <param name='outputSingleMultiple_selector' value='multipleMatrix'/> | |
| 342 <conditional name='resolutionOrManyToOne_conditional'> | |
| 343 <param name='resolutionOrManyToOne_selector' value='resolution_option'/> | |
| 344 <param name='resolutions' value='5000 10000 20000'/> | |
| 345 <conditional name='inputFormat_conditional'> | |
| 346 <param name='inputFormat_selector' value='optionH5'/> | |
| 347 <param name='matrix_h5_cooler' value='small_test_matrix.h5'/> | |
| 348 </conditional> | |
| 349 </conditional> | |
| 350 </conditional> | |
| 351 <output name="output_converted_matrix" ftype="cool"> | |
| 352 <assert_contents> | |
| 353 <has_h5_keys keys='resolutions'/> | |
| 354 </assert_contents> | |
| 355 </output> | |
| 356 </test> | |
| 357 </tests> | |
| 358 <help><![CDATA[ | |
| 359 Converting between different Hi-C interaction formats | |
| 360 ===================================================== | |
| 361 | |
| 362 Conversion of Hi-C matrices of different file formats. We support the conversion of hic to cool format via hic2cool, | |
| 363 and homer, HicPro, h5 and cool format to h5, cool, homer or ginteractions format. Moreover, hicConvertFormat accepts multiple input files | |
| 364 from one format with different resolutions and creates a mcool file. Each original file is stored under the path e.g. ::/resolutions/10000. | |
| 365 A batch computation is possible, the number of input files and output files needs to match, all input files need to be of the same format type and | |
| 366 all output files too. | |
| 367 For input and output of cooler files special options are available, for all other formats they will be ignored. | |
| 368 HiCPro file format needs an additional bed file as input. | |
| 369 | |
| 370 | For more information about HiCExplorer please consider our documentation on readthedocs.io_ | |
| 371 | |
| 372 .. _readthedocs.io: http://hicexplorer.readthedocs.io/en/latest/index.html | |
| 373 ]]></help> | |
| 374 <expand macro="citations" /> | |
| 375 </tool> |
