From 73069e4c58d83d498066013a15f8ad2d4f34e720 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 8 Sep 2026 09:08:17 +0200 Subject: [PATCH 01/35] Add Docker container requirement for deepTools Updated requirements to include Docker container for deepTools. --- galaxy/wrapper/deepTools_macros.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 4246a18c45..cba1d748ad 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -5,8 +5,7 @@ 23.2 - - samtools + quay.io/biocontainers/deeptools:4.0.0--py312ha170aba_0 @BINARY@ --version From 32f83d1eb9dda1d968ea077a85c40849087f18ed Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Tue, 8 Sep 2026 16:43:33 +0200 Subject: [PATCH 02/35] Update deeptools requirement in deepTools_macros.xml Replaced Docker container requirement with package requirement for deeptools. --- galaxy/wrapper/deepTools_macros.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index cba1d748ad..4cae055a3a 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -5,7 +5,7 @@ 23.2 - quay.io/biocontainers/deeptools:4.0.0--py312ha170aba_0 + deeptools @BINARY@ --version From 59af6efa5c530c73159eb48a2d48b69431e33124 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Wed, 9 Sep 2026 23:00:19 +0200 Subject: [PATCH 03/35] testing an obsolete param --- galaxy/wrapper/bamCoverage.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/galaxy/wrapper/bamCoverage.xml b/galaxy/wrapper/bamCoverage.xml index 36b6b200cb..ad80dae130 100644 --- a/galaxy/wrapper/bamCoverage.xml +++ b/galaxy/wrapper/bamCoverage.xml @@ -164,6 +164,10 @@ + + + + From e651df576c76a825e7eea563c56ba79aa009361d Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 00:36:49 +0200 Subject: [PATCH 04/35] use *_old binaries --- galaxy/wrapper/alignmentSieve.xml | 2 +- galaxy/wrapper/bamCompare.xml | 2 +- galaxy/wrapper/bamCoverage.xml | 6 +----- galaxy/wrapper/computeMatrix.xml | 2 +- galaxy/wrapper/multiBamSummary.xml | 2 +- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/galaxy/wrapper/alignmentSieve.xml b/galaxy/wrapper/alignmentSieve.xml index b6b5ef0d2b..533700653b 100644 --- a/galaxy/wrapper/alignmentSieve.xml +++ b/galaxy/wrapper/alignmentSieve.xml @@ -1,7 +1,7 @@ Filter BAM/CRAM files according to specified parameters - alignmentSieve + alignmentSieve_old deepTools_macros.xml diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index 0e012b5747..cd724e197d 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -1,7 +1,7 @@ normalizes and compares two BAM or CRAM files to obtain the ratio, log2ratio or difference between them - bamCompare + bamCompare_old deepTools_macros.xml diff --git a/galaxy/wrapper/bamCoverage.xml b/galaxy/wrapper/bamCoverage.xml index ad80dae130..72f541bf0e 100644 --- a/galaxy/wrapper/bamCoverage.xml +++ b/galaxy/wrapper/bamCoverage.xml @@ -1,7 +1,7 @@ generates a coverage bigWig file from a given BAM or CRAM file - bamCoverage + bamCoverage_old deepTools_macros.xml @@ -164,10 +164,6 @@ - - - - diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index b2f46cf742..3aa8e89050 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -1,7 +1,7 @@ prepares data for plotting a heatmap or a profile of given regions - computeMatrix + computeMatrix_old deepTools_macros.xml diff --git a/galaxy/wrapper/multiBamSummary.xml b/galaxy/wrapper/multiBamSummary.xml index c198a26020..41303d0f28 100644 --- a/galaxy/wrapper/multiBamSummary.xml +++ b/galaxy/wrapper/multiBamSummary.xml @@ -1,7 +1,7 @@ calculates average read coverages for a list of two or more BAM/CRAM files - multiBamSummary + multiBamSummary_old deepTools_macros.xml From 93704d19ae81bd45dbaff0ae7f85840cf2d5e5ca Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 11:31:49 +0200 Subject: [PATCH 05/35] revert old binary usage --- galaxy/wrapper/alignmentSieve.xml | 2 +- galaxy/wrapper/bamCompare.xml | 2 +- galaxy/wrapper/bamCoverage.xml | 2 +- galaxy/wrapper/computeMatrix.xml | 2 +- galaxy/wrapper/multiBamSummary.xml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/galaxy/wrapper/alignmentSieve.xml b/galaxy/wrapper/alignmentSieve.xml index 533700653b..b6b5ef0d2b 100644 --- a/galaxy/wrapper/alignmentSieve.xml +++ b/galaxy/wrapper/alignmentSieve.xml @@ -1,7 +1,7 @@ Filter BAM/CRAM files according to specified parameters - alignmentSieve_old + alignmentSieve deepTools_macros.xml diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index cd724e197d..0e012b5747 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -1,7 +1,7 @@ normalizes and compares two BAM or CRAM files to obtain the ratio, log2ratio or difference between them - bamCompare_old + bamCompare deepTools_macros.xml diff --git a/galaxy/wrapper/bamCoverage.xml b/galaxy/wrapper/bamCoverage.xml index 72f541bf0e..36b6b200cb 100644 --- a/galaxy/wrapper/bamCoverage.xml +++ b/galaxy/wrapper/bamCoverage.xml @@ -1,7 +1,7 @@ generates a coverage bigWig file from a given BAM or CRAM file - bamCoverage_old + bamCoverage deepTools_macros.xml diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index 3aa8e89050..b2f46cf742 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -1,7 +1,7 @@ prepares data for plotting a heatmap or a profile of given regions - computeMatrix_old + computeMatrix deepTools_macros.xml diff --git a/galaxy/wrapper/multiBamSummary.xml b/galaxy/wrapper/multiBamSummary.xml index 41303d0f28..c198a26020 100644 --- a/galaxy/wrapper/multiBamSummary.xml +++ b/galaxy/wrapper/multiBamSummary.xml @@ -1,7 +1,7 @@ calculates average read coverages for a list of two or more BAM/CRAM files - multiBamSummary_old + multiBamSummary deepTools_macros.xml From aff01a6bdb097a725d00f32097cc60fe7906f0c7 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 11:38:22 +0200 Subject: [PATCH 06/35] remove --ignoreDuplicates from bamCoverage, bamCompare, multiBamSummary, plotCoverage, plotFingerprint and plotEnrichment --- galaxy/wrapper/deepTools_macros.xml | 2 -- galaxy/wrapper/plotFingerprint.xml | 1 - 2 files changed, 3 deletions(-) diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 4cae055a3a..6e228d04cc 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -45,7 +45,6 @@ #else if $advancedOpt.doExtendCustom.doExtend == 'yes': --extendReads #end if - $advancedOpt.ignoreDuplicates $advancedOpt.centerReads #if $advancedOpt.minMappingQuality: --minMappingQuality $advancedOpt.minMappingQuality @@ -211,7 +210,6 @@ - diff --git a/galaxy/wrapper/plotFingerprint.xml b/galaxy/wrapper/plotFingerprint.xml index 436e0c2ac6..d7199e2a0c 100644 --- a/galaxy/wrapper/plotFingerprint.xml +++ b/galaxy/wrapper/plotFingerprint.xml @@ -40,7 +40,6 @@ --binSize '$advancedOpt.binSize' --numberOfSamples '$advancedOpt.numberOfSamples' - $advancedOpt.ignoreDuplicates $advancedOpt.skipZeros #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle.value) != "": From 09c003243377ede66ef4a3e4e80a09aefdaf3002 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 11:43:51 +0200 Subject: [PATCH 07/35] Remove --exactScaling entirely --- galaxy/wrapper/bamCompare.xml | 2 -- galaxy/wrapper/bamCoverage.xml | 2 -- galaxy/wrapper/deepTools_macros.xml | 12 ------------ 3 files changed, 16 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index 0e012b5747..fe172da798 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -46,7 +46,6 @@ #end if --operation $comparison.type - $exactScaling #if $comparison.type in ['ratio','log2']: --pseudocount $comparison.pseudocount @@ -142,7 +141,6 @@ - diff --git a/galaxy/wrapper/bamCoverage.xml b/galaxy/wrapper/bamCoverage.xml index 36b6b200cb..50d3063eeb 100644 --- a/galaxy/wrapper/bamCoverage.xml +++ b/galaxy/wrapper/bamCoverage.xml @@ -41,7 +41,6 @@ #if str($region).strip() != '': --region '$region' #end if - $exactScaling #if $advancedOpt.showAdvancedOpt == "yes": #if str($advancedOpt.scaleFactor).strip() != '': @@ -96,7 +95,6 @@ - diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 6e228d04cc..54b0d91bd6 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -667,18 +667,6 @@ is vital to you, select Yes below."> - - - - From 094bf3f089b95fcdccfcc6497216bf3ac038ea29 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 12:54:53 +0200 Subject: [PATCH 08/35] Remove SES option for --scaleFactorsMethod, --sampleLength and --numberOfSamples params --- galaxy/wrapper/bamCompare.xml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index fe172da798..492df8d72e 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -30,11 +30,7 @@ --binSize $binSize - #if $scaling.method == 'SES': - --scaleFactorsMethod SES - --sampleLength $scaling.sampleLength - --numberOfSamples $scaling.numberOfSamples - #elif $scaling.method == 'readCount': + #if $scaling.method == 'readCount': --scaleFactorsMethod readCount #elif $scaling.method == 'own': --scaleFactors '$scaling.scaleFactor1:$scaling.scaleFactor2' @@ -83,17 +79,9 @@ - - - - - From 2e6b71eb0709433a59ad626a4a5e9015825b0e56 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 13:03:54 +0200 Subject: [PATCH 09/35] Remove plotly inputs and outputs everywhere --- galaxy/wrapper/bamPEFragmentSize.xml | 1 - galaxy/wrapper/computeGCBias.xml | 2 -- galaxy/wrapper/deepTools_macros.xml | 5 +---- 3 files changed, 1 insertion(+), 7 deletions(-) diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index a7eb0d96e4..43a7699ba7 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -90,7 +90,6 @@ - diff --git a/galaxy/wrapper/computeGCBias.xml b/galaxy/wrapper/computeGCBias.xml index e04ca2bbff..6b944bf721 100644 --- a/galaxy/wrapper/computeGCBias.xml +++ b/galaxy/wrapper/computeGCBias.xml @@ -90,7 +90,6 @@ - @@ -105,7 +104,6 @@ - diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 54b0d91bd6..922cb60061 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -691,12 +691,11 @@ is vital to you, select Yes below."> - + - @@ -711,7 +710,6 @@ is vital to you, select Yes below."> - @@ -722,7 +720,6 @@ is vital to you, select Yes below."> - From e48dc0f37894fdfba0561dff701e71542deacd52 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 13:10:28 +0200 Subject: [PATCH 10/35] Remove --plotTitle from bigwigCompare --- galaxy/wrapper/bigwigCompare.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index 1752842362..b67e8073a6 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -32,9 +32,6 @@ --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' --binSize $advancedOpt.binSize - #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle.value) != "": - --plotTitle '$advancedOpt.plotTitle' - #end if @blacklist@ #end if @@ -98,7 +95,6 @@ - From 2f95e16ea86eb59460a979f4bdc953c556d44ab4 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 13:27:15 +0200 Subject: [PATCH 11/35] add --no_collapse option and include it in tests --- galaxy/wrapper/bamCompare.xml | 4 +++- galaxy/wrapper/bigwigCompare.xml | 7 ++++--- galaxy/wrapper/deepTools_macros.xml | 5 +++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index 492df8d72e..7cc6a645fd 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -57,6 +57,7 @@ #end if @ADVANCED_OPTS_READ_PROCESSING@ + $advancedOpt.no_collapse $advancedOpt.skipNAs $advancedOpt.skipZeroOverZero @@ -143,7 +144,7 @@ - + @@ -221,6 +222,7 @@ + diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index b67e8073a6..4e9129f940 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -26,7 +26,7 @@ #end if #if $advancedOpt.showAdvancedOpt == "yes": - + $advancedOpt.no_collapse $advancedOpt.skipNAs $advancedOpt.skipZeroOverZero --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' @@ -91,7 +91,7 @@ - + @@ -120,8 +120,9 @@ - + + diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 922cb60061..3601119634 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -925,4 +925,9 @@ is vital to you, select Yes below."> + + + From d3ade57d3af167381c04b37b6d3dcc8a4ee09b90 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 13:39:24 +0200 Subject: [PATCH 12/35] add --sortUsingSamples to computeMatrix --- galaxy/wrapper/computeMatrix.xml | 4 ++++ galaxy/wrapper/deepTools_macros.xml | 13 +++++++++++++ galaxy/wrapper/plotHeatmap.xml | 15 +++------------ 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index b2f46cf742..cfee272349 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -59,6 +59,9 @@ #if $advancedOpt.showAdvancedOpt == "yes": --sortRegions '$advancedOpt.sortRegions' --sortUsing '$advancedOpt.sortUsing' + #if str($advancedOpt.sortUsingSamples).strip() != "": + --sortUsingSamples '$advancedOpt.sortUsingSamples' + #end if --averageTypeBins '$advancedOpt.averageTypeBins' $advancedOpt.skipZeros $advancedOpt.missingDataAsZero @@ -169,6 +172,7 @@ + region length + + + + + + + + + + - - - - - - - + Date: Thu, 10 Sep 2026 15:35:31 +0200 Subject: [PATCH 13/35] add --chromosomesToSkip and a test to multiBigwigSummary --- galaxy/wrapper/multiBigwigSummary.xml | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/galaxy/wrapper/multiBigwigSummary.xml b/galaxy/wrapper/multiBigwigSummary.xml index b63db25d58..6f24164601 100644 --- a/galaxy/wrapper/multiBigwigSummary.xml +++ b/galaxy/wrapper/multiBigwigSummary.xml @@ -34,6 +34,10 @@ --BED $mode.region_file #end if + #if $chromosomesToSkip.strip() != '': + --chromosomesToSkip '$chromosomesToSkip' + #end if + #if str($region.value) != '': --region '$region' #end if @@ -71,6 +75,9 @@ + @@ -90,6 +97,7 @@ + @@ -104,6 +112,19 @@ + + + + + + + + + + + + + Date: Thu, 10 Sep 2026 15:49:17 +0200 Subject: [PATCH 14/35] add --fixedStep param and a test to bigwigCompare --- galaxy/wrapper/bigwigCompare.xml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index 4e9129f940..5661429916 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -94,6 +94,8 @@ + @@ -127,6 +129,17 @@ + + + + + + + + + + + Date: Thu, 10 Sep 2026 15:57:11 +0200 Subject: [PATCH 15/35] add --boxAroundHeatmaps param and a test to plotHeatmap --- galaxy/wrapper/plotHeatmap.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index 82cf30aac0..c3a798653e 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -91,6 +91,7 @@ --heatmapWidth $advancedOpt.heatmapWidth --heatmapHeight $advancedOpt.heatmapHeight + --boxAroundHeatmaps $advancedOpt.boxAroundHeatmaps --whatToShow '$advancedOpt.whatToShow' --startLabel '$advancedOpt.startLabel' @@ -195,6 +196,9 @@ + + @@ -261,6 +265,7 @@ + From 12756f958085a6626e7df182d14896087e7ab4f5 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 15:58:17 +0200 Subject: [PATCH 16/35] add fixedStep commandline --- galaxy/wrapper/bigwigCompare.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index 5661429916..61d4689b29 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -28,6 +28,7 @@ #if $advancedOpt.showAdvancedOpt == "yes": $advancedOpt.no_collapse $advancedOpt.skipNAs + $advancedOpt.fixedStep $advancedOpt.skipZeroOverZero --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' --binSize $advancedOpt.binSize From 6924c720d1fb32511d3973dfb055b6c9e83ed053 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 16:24:40 +0200 Subject: [PATCH 17/35] add --ggplot param --- galaxy/wrapper/bamPEFragmentSize.xml | 2 ++ galaxy/wrapper/deepTools_macros.xml | 6 ++++++ galaxy/wrapper/plotCorrelation.xml | 3 ++- galaxy/wrapper/plotCoverage.xml | 2 ++ galaxy/wrapper/plotEnrichment.xml | 4 ++++ galaxy/wrapper/plotFingerprint.xml | 2 ++ galaxy/wrapper/plotHeatmap.xml | 2 ++ galaxy/wrapper/plotPCA.xml | 2 ++ galaxy/wrapper/plotProfiler.xml | 2 ++ 9 files changed, 24 insertions(+), 1 deletion(-) diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index 43a7699ba7..bc8df7aaac 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -33,6 +33,7 @@ #if $advancedOpt.outRawFragmentLengths --outRawFragmentLengths '$fragLengths' #end if + $advancedOpt.ggplot #end if > '$outfile' ]]> @@ -78,6 +79,7 @@ label="Maximum fragment length" help="Maximum fragment length included in the histogram. A value of 0 (the default) denotes twice the mean fragment length"/> + diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 7440daf185..a45c7b7053 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -379,6 +379,12 @@ + + + + + .. class:: infomark diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index f15c8b819c..79af4343ea 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -32,7 +32,7 @@ #if $outFileCorMatrix: --outFileCorMatrix '$matrix' #end if - + $ggplot ]]> @@ -100,6 +100,7 @@ unusually high counts."/> + diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index ee925b9a16..247423ca96 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -54,6 +54,7 @@ #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle.value) != "": --plotTitle '$advancedOpt.plotTitle' #end if + $advancedOpt.ggplot @ADVANCED_OPTS_READ_PROCESSING@ @PLOTWIDTHHEIGHT@ @blacklist@ @@ -99,6 +100,7 @@ + diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index 265d150e5e..95c9b4a5f9 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -65,6 +65,8 @@ --alpha '$advancedOpt.alpha' + $advancedOpt.ggplot + @ADVANCED_OPTS_READ_PROCESSING@ #if $advancedOpt.Offset: @@ -141,6 +143,8 @@ label="Number of plots/row" help="" /> + + + diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index c3a798653e..3bbb92ed15 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -116,6 +116,7 @@ --labelRotation '$advancedOpt.labelRotation' $advancedOpt.perGroup + $advancedOpt.ggplot @KMEANS_CLUSTERING@ @@ -238,6 +239,7 @@ label="Make one plot per group of regions" help="The default is to make one plot per bigWig file, i.e., all samples next to each other. Choosing this option will make one plot per group of regions."/> + + diff --git a/galaxy/wrapper/plotProfiler.xml b/galaxy/wrapper/plotProfiler.xml index ff7d7d07b0..c63b08cd93 100644 --- a/galaxy/wrapper/plotProfiler.xml +++ b/galaxy/wrapper/plotProfiler.xml @@ -72,6 +72,7 @@ --outFileNameData '$output_outFileNameData' #end if + $advancedOpt.ggplot @KMEANS_CLUSTERING@ #end if @@ -179,6 +180,7 @@ + From 6a37ab8bff61380f648dbd888ebdbd0bd22be14e Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 16:40:32 +0200 Subject: [PATCH 18/35] add --interpolationMethod to plotHeatmap --- galaxy/wrapper/plotHeatmap.xml | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index 3bbb92ed15..e7a9bc1b82 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -28,6 +28,7 @@ #else --plotFileFormat 'png' #end if + --interpolationMethod '$interpolationMethod' #if $advancedOpt.showAdvancedOpt == "yes" #if $advancedOpt.sortRegions: @@ -132,7 +133,14 @@ - + + + + + + + @@ -262,6 +270,7 @@ + From db0cec38ac3cbf8daf64f65349798bc8ce5f5ddc Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 17:03:37 +0200 Subject: [PATCH 19/35] add --clusterUsingSamples to plotHeatmap and plotProfiler --- galaxy/wrapper/deepTools_macros.xml | 12 ++++++++++++ galaxy/wrapper/plotHeatmap.xml | 11 +---------- galaxy/wrapper/plotProfiler.xml | 8 ++++++++ 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index a45c7b7053..1953e9a62b 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -129,6 +129,18 @@ help ="The smooth length defines a window, larger than the bin size, over which the number of reads is to be averaged. For example, if the bin size is set to 20 and the smooth length is 60, then, for each bin, its value is set to the average of it and its left and right neighbors. Any value smaller than the bin size will be ignored and no smoothing will be applied."/> + + + + + + + + + diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index e7a9bc1b82..133718bed7 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -249,16 +249,7 @@ - - - - - - - + diff --git a/galaxy/wrapper/plotProfiler.xml b/galaxy/wrapper/plotProfiler.xml index c63b08cd93..aa99c866df 100644 --- a/galaxy/wrapper/plotProfiler.xml +++ b/galaxy/wrapper/plotProfiler.xml @@ -55,6 +55,7 @@ --colors #echo ' '.join( ["'%s'" % $color for $color in $advancedOpt.colors.split()] )# #end if + --numPlotsPerRow $advancedOpt.numPlotsPerRow --legendLocation '$advancedOpt.legendLocation' --labelRotation '$advancedOpt.labelRotation' @@ -72,6 +73,10 @@ --outFileNameData '$output_outFileNameData' #end if + #if str($advancedOpt.clusterUsingSamples).strip() != "": + --clusterUsingSamples '$advancedOpt.clusterUsingSamples' + #end if + $advancedOpt.ggplot @KMEANS_CLUSTERING@ @@ -165,6 +170,8 @@ all(c in ' #abcdefghijklmnopqrstuvwxyz0123456789' for c in value) + @@ -182,6 +189,7 @@ + From be71e73867af71cbf99ba17827104e640abc116a Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 17:48:00 +0200 Subject: [PATCH 20/35] add --refPointLabel to plotProfiler and remove conditional --- galaxy/wrapper/plotHeatmap.xml | 7 +++-- galaxy/wrapper/plotProfiler.xml | 49 ++++++++++++++++----------------- 2 files changed, 27 insertions(+), 29 deletions(-) diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index 133718bed7..4cb212e110 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -98,7 +98,9 @@ --startLabel '$advancedOpt.startLabel' --endLabel '$advancedOpt.endLabel' - --refPointLabel '$advancedOpt.referencePointLabel' + #if str($advancedOpt.refPointLabel).strip() != "": + --refPointLabel '$advancedOpt.refPointLabel' + #end if #if $advancedOpt.samplesLabel and str($advancedOpt.samplesLabel).strip() != "": --samplesLabel $advancedOpt.samplesLabel @@ -221,8 +223,7 @@ - - - - - - - - - - - - - + + + @@ -204,17 +199,19 @@ - - - - - + + + + + + + + - From d39586fc545307ca919fcb2bdc702b1833e216aa Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 18:07:09 +0200 Subject: [PATCH 21/35] add --labels --addLabels to plotPCA and plotProfile --- galaxy/wrapper/deepTools_macros.xml | 38 ++++++++++++++--------------- galaxy/wrapper/plotCorrelation.xml | 3 ++- galaxy/wrapper/plotPCA.xml | 6 +++++ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 1953e9a62b..87562c5f96 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -461,25 +461,25 @@ is vital to you, select Yes below."> - - - - - - - - - - - - - - - - [A-Za-z0-9 =-_/+]+ - - - + + + + + + + + + + + + + + + + [A-Za-z0-9 =-_/+]+ + + + diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 79af4343ea..26330168aa 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -11,6 +11,7 @@ --corData '$corData' --plotFile '$outFileName' --corMethod '$corMethod' + --labels #echo " ".join($labels) --whatToPlot '$plotting_type.whatToPlot' #if str($plotting_type.whatToPlot) == 'heatmap': @HEATMAP_OPTIONS@ @@ -38,7 +39,7 @@ - + diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 5fd43efecf..9f52f3edd4 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -10,6 +10,7 @@ @BINARY@ --corData '$corData' --plotTitle '$plotTitle' + --labels #echo " ".join($labels) --plotFile '$outFileName' --plotFileFormat '$outFileFormat' #if str($advancedOpt.showAdvancedOpt) == 'yes': @@ -25,6 +26,7 @@ #if $advancedOpt.markers: --markers $advancedOpt.markers #end if + $advancedOpt.addLabels $advancedOpt.ggplot #end if #if $outFileNameData @@ -36,6 +38,7 @@ + @@ -56,6 +59,9 @@ help="A list of colors for the symbols. Color names and html hex string (e.g., #eeff22) are accepted. The color names should be space separated. For example, --colors 'red blue green'. If not specified, the symbols will be given automatic colors." /> + From 3c907adc3902d72a91ad38166014486e91696e1f Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 18:18:25 +0200 Subject: [PATCH 22/35] add --transcriptID --transcript_id_designator to computeMatrixOperations --- galaxy/wrapper/computeMatrixOperations.xml | 15 +++++++++++++++ galaxy/wrapper/correctGCBias.xml | 7 +++++++ 2 files changed, 22 insertions(+) diff --git a/galaxy/wrapper/computeMatrixOperations.xml b/galaxy/wrapper/computeMatrixOperations.xml index d0b477b669..472e682a51 100755 --- a/galaxy/wrapper/computeMatrixOperations.xml +++ b/galaxy/wrapper/computeMatrixOperations.xml @@ -70,6 +70,12 @@ #end for -m $submodule.matrixFile -R '#echo "' '".join($files)#' + #if $submodule.transcriptID: + --transcriptID $submodule.transcriptID + #end if + #if $submodule.transcript_id_designator: + --transcript_id_designator $submodule.transcript_id_designator + #end if -o $outFileName #else if $submodule.command == "dataRange": dataRange @@ -147,6 +153,15 @@ + + diff --git a/galaxy/wrapper/correctGCBias.xml b/galaxy/wrapper/correctGCBias.xml index b2293aaf34..d8aca4eafb 100644 --- a/galaxy/wrapper/correctGCBias.xml +++ b/galaxy/wrapper/correctGCBias.xml @@ -30,6 +30,7 @@ #if str($region).strip() != '': --region '$region' #end if + --binSize $binSize --correctedFile corrected.bam ]]> @@ -40,6 +41,12 @@ + + From 4f0b3e753887e7b23c99ed836b5aba712efa3ce0 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 18:44:13 +0200 Subject: [PATCH 23/35] Use correct param defaults --- galaxy/wrapper/computeMatrix.xml | 12 ++++++------ galaxy/wrapper/plotCoverage.xml | 2 +- galaxy/wrapper/plotFingerprint.xml | 2 +- galaxy/wrapper/plotPCA.xml | 2 +- galaxy/wrapper/plotProfiler.xml | 2 +- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index cfee272349..a61657087e 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -108,7 +108,7 @@ - @@ -117,11 +117,11 @@ - - @@ -146,10 +146,10 @@ label="Discard any values after the region end" help="This is useful to visualize the region end when not using the scale-regions mode and when the reference-point is set to the TSS. (--nanAfterEnd)"/> - - @@ -166,7 +166,7 @@ - diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index 247423ca96..2eccc7d451 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -91,7 +91,7 @@ - diff --git a/galaxy/wrapper/plotFingerprint.xml b/galaxy/wrapper/plotFingerprint.xml index 4992a9be3c..1e186374c1 100644 --- a/galaxy/wrapper/plotFingerprint.xml +++ b/galaxy/wrapper/plotFingerprint.xml @@ -67,7 +67,7 @@ - diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 9f52f3edd4..0ab260d6b3 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -47,7 +47,7 @@ - + sum - From bd65c1543292cdc4507a2c5acbdfc51eaeaced69 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Thu, 10 Sep 2026 18:47:11 +0200 Subject: [PATCH 24/35] remove duplicate use of params in plotEnrichment --- galaxy/wrapper/plotEnrichment.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index 95c9b4a5f9..cabed18271 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -49,10 +49,6 @@ $advancedOpt.variableScales - $advancedOpt.perSample - - $advancedOpt.variableScales - --plotWidth '$advancedOpt.plotWidth' --plotHeight '$advancedOpt.plotHeight' From a520f4aa939da525ff862247f23c507b680b6a0c Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Fri, 11 Sep 2026 01:57:54 +0200 Subject: [PATCH 25/35] simplify and merge common params into macros --- galaxy/wrapper/bamCompare.xml | 35 +-- galaxy/wrapper/bamCoverage.xml | 87 +++--- galaxy/wrapper/bamPEFragmentSize.xml | 47 ++- galaxy/wrapper/bigwigAverage.xml | 23 +- galaxy/wrapper/bigwigCompare.xml | 31 +- galaxy/wrapper/computeGCBias.xml | 37 +-- galaxy/wrapper/computeMatrix.xml | 103 +++---- galaxy/wrapper/computeMatrixOperations.xml | 18 +- galaxy/wrapper/deepTools_macros.xml | 321 ++++++++++++++------- galaxy/wrapper/estimateReadFiltering.xml | 5 +- galaxy/wrapper/multiBamSummary.xml | 76 +---- galaxy/wrapper/multiBigwigSummary.xml | 74 +---- galaxy/wrapper/plotCoverage.xml | 33 +-- galaxy/wrapper/plotEnrichment.xml | 15 +- galaxy/wrapper/plotFingerprint.xml | 36 +-- galaxy/wrapper/plotHeatmap.xml | 215 +++++--------- galaxy/wrapper/plotPCA.xml | 43 ++- galaxy/wrapper/plotProfiler.xml | 174 +++-------- 18 files changed, 575 insertions(+), 798 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index 7cc6a645fd..39d0630b38 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -135,28 +135,21 @@ - - - - - - - - - - - - + + + + + + - - - - + + + diff --git a/galaxy/wrapper/bamCoverage.xml b/galaxy/wrapper/bamCoverage.xml index 50d3063eeb..1f820d5be3 100644 --- a/galaxy/wrapper/bamCoverage.xml +++ b/galaxy/wrapper/bamCoverage.xml @@ -97,55 +97,48 @@ - - + + + + + + + + + + + + + + - + + - - - - - - - - - - - - - - - - - - - - - - + + diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index bc8df7aaac..120dc99d6d 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -54,34 +54,25 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/galaxy/wrapper/bigwigAverage.xml b/galaxy/wrapper/bigwigAverage.xml index 79e613d5c4..18c32bfbc9 100644 --- a/galaxy/wrapper/bigwigAverage.xml +++ b/galaxy/wrapper/bigwigAverage.xml @@ -38,22 +38,15 @@ - - - - - - - - + + - - - - - + + + + diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index 61d4689b29..d60bad7f1d 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -82,25 +82,18 @@ - - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/galaxy/wrapper/computeGCBias.xml b/galaxy/wrapper/computeGCBias.xml index 6b944bf721..04779c04cb 100644 --- a/galaxy/wrapper/computeGCBias.xml +++ b/galaxy/wrapper/computeGCBias.xml @@ -60,28 +60,21 @@ - - - - - - - - - - - - - + + + + + + diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index a61657087e..020720a709 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -159,63 +159,56 @@ - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/galaxy/wrapper/computeMatrixOperations.xml b/galaxy/wrapper/computeMatrixOperations.xml index 472e682a51..62e142e60c 100755 --- a/galaxy/wrapper/computeMatrixOperations.xml +++ b/galaxy/wrapper/computeMatrixOperations.xml @@ -98,11 +98,11 @@ - + - + - + - + @@ -128,7 +128,7 @@ - + - + - + - + @@ -165,7 +165,7 @@ - + diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 87562c5f96..bae3851ef6 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -110,7 +110,7 @@ - @@ -129,79 +129,6 @@ help ="The smooth length defines a window, larger than the bin size, over which the number of reads is to be averaged. For example, if the bin size is set to 20 and the smooth length is 60, then, for each bin, its value is set to the average of it and its left and right neighbors. Any value smaller than the bin size will be ignored and no smoothing will be applied."/> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #if $advancedOpt.used_multiple_regions.used_multiple_regions_options == 'no': - #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'kmeans': - #if int($advancedOpt.used_multiple_regions.clustering.k_kmeans) > 0: - --kmeans $advancedOpt.used_multiple_regions.clustering.k_kmeans - #end if - #end if - #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'hclust': - #if int($advancedOpt.used_multiple_regions.clustering.n_hclust) > 0: - --hclust $advancedOpt.used_multiple_regions.clustering.n_hclust - #end if - #end if - $advancedOpt.used_multiple_regions.silhouette - #end if - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $mode.modeOpt + + --outFileName '$outFile' + #if $custom_sample_labels_conditional.custom_labels_select == 'Yes' + --labels #echo ' '.join($custom_sample_labels_conditional.labels)# + #end if + + #if $outRawCounts: + --outRawCounts '$outFileRawCounts' + #end if + + #if $mode.modeOpt == "bins": + --binSize $mode.binSize + --distanceBetweenBins $mode.distanceBetweenBins + #else: + --BED '$mode.region_file' + #end if + + #if $region: + --region '$region' + #end if + + .. class:: infomark @@ -488,29 +475,6 @@ is vital to you, select Yes below."> help="Title of the plot, to be printed on top of the generated image."/> - - - - - - - - - - - - - - - - - - - - - + + + + @@ -961,4 +929,159 @@ is vital to you, select Yes below."> label="Adjacent bins that have the same value are collapsed" help="This reduces the size of the output file (drastically)"/> + + + + #if $advancedOpt.plotTitle: + --plotTitle '$advancedOpt.plotTitle' + #end if + $advancedOpt.perGroup + #if $advancedOpt.samplesLabel: + --samplesLabel '$advancedOpt.samplesLabel' + #end if + #if $advancedOpt.startLabel: + --startLabel '$advancedOpt.startLabel' + #end if + #if $advancedOpt.endLabel: + --endLabel '$advancedOpt.endLabel' + #end if + #if $advancedOpt.refPointLabel: + --refPointLabel '$advancedOpt.refPointLabel' + #end if + #if $advancedOpt.regionsLabel: + --regionsLabel '$advancedOpt.regionsLabel' + #end if + #if $advancedOpt.yMin: + --yMin $advancedOpt.yMin + #end if + #if $advancedOpt.yMax: + --yMax $advancedOpt.yMax + #end if + --legendLocation '$advancedOpt.legendLocation' + --labelRotation '$advancedOpt.labelRotation' + $advancedOpt.ggplot + #if $advancedOpt.used_multiple_regions.used_multiple_regions_options == 'no': + #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'kmeans': + #if int($advancedOpt.used_multiple_regions.clustering.k_kmeans) > 0: + --kmeans $advancedOpt.used_multiple_regions.clustering.k_kmeans + #end if + #end if + #if $advancedOpt.used_multiple_regions.clustering.clustering_options == 'hclust': + #if int($advancedOpt.used_multiple_regions.clustering.n_hclust) > 0: + --hclust $advancedOpt.used_multiple_regions.clustering.n_hclust + #end if + #end if + $advancedOpt.used_multiple_regions.silhouette + #end if + #if $advancedOpt.clusterUsingSamples: + --clusterUsingSamples '$advancedOpt.clusterUsingSamples' + #end if + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/galaxy/wrapper/estimateReadFiltering.xml b/galaxy/wrapper/estimateReadFiltering.xml index 925e8d0368..dab098b561 100644 --- a/galaxy/wrapper/estimateReadFiltering.xml +++ b/galaxy/wrapper/estimateReadFiltering.xml @@ -51,10 +51,7 @@ - - + diff --git a/galaxy/wrapper/multiBamSummary.xml b/galaxy/wrapper/multiBamSummary.xml index c198a26020..2c451cfcb6 100644 --- a/galaxy/wrapper/multiBamSummary.xml +++ b/galaxy/wrapper/multiBamSummary.xml @@ -12,78 +12,32 @@ @multiple_input_bams@ @BINARY@ - $mode.modeOpt - @THREADS@ - - --outFileName '$outFile' - --bamfiles #echo " ".join($files)# - --labels #echo " ".join($labels)# - - #if $outRawCounts: - --outRawCounts '$outFileRawCounts' - #end if - - #if $scalingFactors: - --scalingFactors '$scalingFactorsFile' - #end if - - #if $mode.modeOpt == "bins": - --binSize '$mode.binSize' - --distanceBetweenBins '$mode.distanceBetweenBins' - #else: - --BED $mode.region_file - #end if - - #if str($region).strip() != '': - --region '$region' - #end if - - #if $advancedOpt.showAdvancedOpt == "yes": - @ADVANCED_OPTS_READ_PROCESSING@ - @ADVANCED_OPTS_GTF@ - @blacklist@ - #end if + @THREADS@ + --bamfiles #echo ' '.join($files)# + + @MULTISUMMARY_COMMON_PARAMS@ + + #if $scalingFactors: + --scalingFactors '$scalingFactorsFile' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + @ADVANCED_OPTS_READ_PROCESSING@ + @ADVANCED_OPTS_GTF@ + @blacklist@ + #end if ]]> - - - - - - - - - - - - - - - - - - - - + - diff --git a/galaxy/wrapper/multiBigwigSummary.xml b/galaxy/wrapper/multiBigwigSummary.xml index 6f24164601..40f4b84004 100644 --- a/galaxy/wrapper/multiBigwigSummary.xml +++ b/galaxy/wrapper/multiBigwigSummary.xml @@ -12,73 +12,27 @@ @multiple_input_bigwigs@ @BINARY@ - $mode.modeOpt - - @THREADS@ - - --outFileName $outFile - - --bwfiles #echo ' '.join($files)# - - #if $custom_sample_labels_conditional.custom_labels_select == 'Yes' - --labels #echo ' '.join($custom_sample_labels_conditional.labels)# - #end if - #if $outRawCounts: - --outRawCounts '$outFileRawCounts' - #end if - - #if $mode.modeOpt == "bins": - --binSize '$mode.binSize' - --distanceBetweenBins '$mode.distanceBetweenBins' - #else: - --BED $mode.region_file - #end if - - #if $chromosomesToSkip.strip() != '': - --chromosomesToSkip '$chromosomesToSkip' - #end if - - #if str($region.value) != '': - --region '$region' - #end if - - #if $advancedOpt.showAdvancedOpt == "yes": - @ADVANCED_OPTS_GTF@ - @blacklist@ - #end if + @THREADS@ + --bwfiles #echo ' '.join($files)# + + @MULTISUMMARY_COMMON_PARAMS@ + + #if $chromosomesToSkip.strip() != '': + --chromosomesToSkip '$chromosomesToSkip' + #end if + + #if $advancedOpt.showAdvancedOpt == "yes": + @ADVANCED_OPTS_GTF@ + @blacklist@ + #end if ]]> - - - - - - - - - - - - - - - - - + - diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index 2eccc7d451..e2f53733df 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -84,27 +84,20 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + - + diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index cabed18271..a43641926a 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -49,9 +49,7 @@ $advancedOpt.variableScales - --plotWidth '$advancedOpt.plotWidth' - - --plotHeight '$advancedOpt.plotHeight' + @PLOTWIDTHHEIGHT@ #if str($advancedOpt.colors).strip() != "": --colors #echo ' '.join( ["'%s'" % $color for $color in $advancedOpt.colors.split()] )# @@ -91,13 +89,7 @@ attribute key. For example, the gene_biotype. Note that 'None' is used for BED files or entries where the attributeKey is not found." /> - - - + - - + diff --git a/galaxy/wrapper/plotFingerprint.xml b/galaxy/wrapper/plotFingerprint.xml index 1e186374c1..486d5a4307 100644 --- a/galaxy/wrapper/plotFingerprint.xml +++ b/galaxy/wrapper/plotFingerprint.xml @@ -57,26 +57,19 @@ - - - - - - - - - - - - - - - - + + + + + + + + + @@ -86,6 +79,7 @@ + @@ -101,7 +95,7 @@ (( output['showOutputSettings'] == 'yes' and - output['saveRawCounts'] is True + output['outRawCounts'] is True )) diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index 4cb212e110..1fac566f5a 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -73,18 +73,9 @@ --zMax $advancedOpt.zMax #end if - #if str($advancedOpt.yMin).strip() != "": - --yMin $advancedOpt.yMin - #end if - #if str($advancedOpt.yMax).strip() != "": - --yMax $advancedOpt.yMax - #end if #if str($advancedOpt.sortUsingSamples).strip() != "": --sortUsingSamples '$advancedOpt.sortUsingSamples' #end if - #if str($advancedOpt.clusterUsingSamples).strip() != "": - --clusterUsingSamples '$advancedOpt.clusterUsingSamples' - #end if --xAxisLabel '$advancedOpt.xAxisLabel' --yAxisLabel '$advancedOpt.yAxisLabel' @@ -95,40 +86,12 @@ --boxAroundHeatmaps $advancedOpt.boxAroundHeatmaps --whatToShow '$advancedOpt.whatToShow' - --startLabel '$advancedOpt.startLabel' - --endLabel '$advancedOpt.endLabel' - - #if str($advancedOpt.refPointLabel).strip() != "": - --refPointLabel '$advancedOpt.refPointLabel' - #end if - - #if $advancedOpt.samplesLabel and str($advancedOpt.samplesLabel).strip() != "": - --samplesLabel $advancedOpt.samplesLabel - #end if - - #if $advancedOpt.regionsLabel and str($advancedOpt.regionsLabel).strip() != "": - --regionsLabel $advancedOpt.regionsLabel - #end if - - #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle.value) != "": - --plotTitle '$advancedOpt.plotTitle' - #end if - - --legendLocation '$advancedOpt.legendLocation' - - --labelRotation '$advancedOpt.labelRotation' - - $advancedOpt.perGroup - $advancedOpt.ggplot - - @KMEANS_CLUSTERING@ - + @HEATMAP_PROFILER_PARAMS@ #end if ]]> - + @@ -143,116 +106,72 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 0ab260d6b3..b7ef53a613 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -40,31 +40,24 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/galaxy/wrapper/plotProfiler.xml b/galaxy/wrapper/plotProfiler.xml index 6e4232ea06..505231861d 100644 --- a/galaxy/wrapper/plotProfiler.xml +++ b/galaxy/wrapper/plotProfiler.xml @@ -27,167 +27,77 @@ --plotFileFormat 'png' #end if - --startLabel '$startLabel' - --endLabel '$endLabel' - #if str($refPointLabel).strip() != "": - --refPointLabel '$refPointLabel' - #end if - #if $advancedOpt.showAdvancedOpt == "yes": #if $advancedOpt.averageType: --averageType '$advancedOpt.averageType' #end if - --plotHeight $advancedOpt.plotHeight - --plotWidth $advancedOpt.plotWidth + @PLOTWIDTHHEIGHT@ --plotType $advancedOpt.plotType - #if $advancedOpt.samplesLabel and str($advancedOpt.samplesLabel).strip() != "": - --samplesLabel $advancedOpt.samplesLabel - #end if - - #if $advancedOpt.regionsLabel and str($advancedOpt.regionsLabel).strip() != "": - --regionsLabel $advancedOpt.regionsLabel - #end if - - #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle).strip() != "": - --plotTitle '$advancedOpt.plotTitle' - #end if #if str($advancedOpt.colors).strip() != "": --colors #echo ' '.join( ["'%s'" % $color for $color in $advancedOpt.colors.split()] )# #end if --numPlotsPerRow $advancedOpt.numPlotsPerRow - --legendLocation '$advancedOpt.legendLocation' - - --labelRotation '$advancedOpt.labelRotation' - - $advancedOpt.perGroup - - #if str($advancedOpt.yMin): - --yMin $advancedOpt.yMin - #end if - #if str($advancedOpt.yMax): - --yMax $advancedOpt.yMax - #end if #if $advancedOpt.outFileNameData: --outFileNameData '$output_outFileNameData' #end if - #if str($advancedOpt.clusterUsingSamples).strip() != "": - --clusterUsingSamples '$advancedOpt.clusterUsingSamples' - #end if - - $advancedOpt.ggplot - @KMEANS_CLUSTERING@ + @HEATMAP_PROFILER_PARAMS@ #end if ]]> - - - - + - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - all(c in ' #abcdefghijklmnopqrstuvwxyz0123456789' for c in value) - - - - - - - - - - - - - - - + + + + + + + + + + + + all(c in ' #abcdefghijklmnopqrstuvwxyz0123456789' for c in value) + + - - + + From 86e5e29f70852ef5b566d7d0b6aaf79594aa1328 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Fri, 11 Sep 2026 14:17:32 +0200 Subject: [PATCH 26/35] fix cheetah to match param datatypes --- galaxy/wrapper/alignmentSieve.xml | 6 +- galaxy/wrapper/bamCompare.xml | 12 +- galaxy/wrapper/bamCoverage.xml | 2 +- galaxy/wrapper/bamPEFragmentSize.xml | 10 +- galaxy/wrapper/bigwigAverage.xml | 3 - galaxy/wrapper/bigwigCompare.xml | 8 +- galaxy/wrapper/computeGCBias.xml | 14 +- galaxy/wrapper/computeMatrix.xml | 13 +- galaxy/wrapper/computeMatrixOperations.xml | 164 +++++++++++---------- galaxy/wrapper/correctGCBias.xml | 3 +- galaxy/wrapper/deepTools_macros.xml | 95 ++++++------ galaxy/wrapper/estimateReadFiltering.xml | 6 +- galaxy/wrapper/plotCorrelation.xml | 6 +- galaxy/wrapper/plotCoverage.xml | 10 +- galaxy/wrapper/plotEnrichment.xml | 22 +-- galaxy/wrapper/plotFingerprint.xml | 12 +- galaxy/wrapper/plotHeatmap.xml | 18 +-- galaxy/wrapper/plotPCA.xml | 10 +- galaxy/wrapper/plotProfiler.xml | 4 +- 19 files changed, 209 insertions(+), 209 deletions(-) diff --git a/galaxy/wrapper/alignmentSieve.xml b/galaxy/wrapper/alignmentSieve.xml index b6b5ef0d2b..a12daf6469 100644 --- a/galaxy/wrapper/alignmentSieve.xml +++ b/galaxy/wrapper/alignmentSieve.xml @@ -63,7 +63,7 @@ --filteredOutReads '$outFileFiltered' #end if - #if str($shift) != "": + #if $shift: #set shifts = " ".join(["'{}'".format(x) for x in $shift.split(" ")]) --shift $shifts #elif $ATACshift: @@ -72,7 +72,7 @@ #if $BED: --BED -o '$outFile' - #elif str($shift) != "" or $ATACshift: + #elif $shift or $ATACshift: -o foo.bam && samtools sort -o '$outFile' -T foo.tmp -@ "\${GALAXY_SLOTS:-4}" foo.bam && rm foo.bam @@ -85,7 +85,7 @@ - - - - diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index d60bad7f1d..9b305f3d4a 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -18,10 +18,10 @@ --operation $comparison.comparison_select #if $comparison.comparison_select in ['ratio','log2']: - --pseudocount $comparison.pseudocount + --pseudocount '$comparison.pseudocount' #end if - #if str($region).strip() != '': + #if $region: --region '$region' #end if @@ -32,9 +32,7 @@ $advancedOpt.skipZeroOverZero --scaleFactors '$advancedOpt.scaleFactor1:$advancedOpt.scaleFactor2' --binSize $advancedOpt.binSize - - @blacklist@ - + @blacklist@ #end if ]]> diff --git a/galaxy/wrapper/computeGCBias.xml b/galaxy/wrapper/computeGCBias.xml index 04779c04cb..4bb702df23 100644 --- a/galaxy/wrapper/computeGCBias.xml +++ b/galaxy/wrapper/computeGCBias.xml @@ -17,7 +17,7 @@ @BINARY@ @THREADS@ --bamfile local_bamInput.bam - --GCbiasFrequenciesFile $outFileName + --GCbiasFrequenciesFile '$outFileName' #if $fragmentLength != "": --fragmentLength $fragmentLength @@ -31,23 +31,23 @@ --effectiveGenomeSize $effectiveGenomeSize.effectiveGenomeSize_opt #end if - #if str($region).strip() != '': + #if $region: --region '$region' #end if #if $advancedOpt.showAdvancedOpt == "yes": - --sampleSize '$advancedOpt.sampleSize' - --regionSize '$advancedOpt.regionSize' + --sampleSize $advancedOpt.sampleSize + --regionSize $advancedOpt.regionSize #if $advancedOpt.extraSampling: - --extraSampling $advancedOpt.extraSampling + --extraSampling '$advancedOpt.extraSampling' #end if @blacklist@ #end if - #if str($image_format) != 'none': - --biasPlot $outImageName + #if $image_format != 'none': + --biasPlot '$outImageName' --plotFileFormat $image_format #end if ]]> diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index 020720a709..e6185c508e 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -53,7 +53,6 @@ --unscaled3prime $mode.regionStartLength.unscaled3prime #end if - #end if #if $advancedOpt.showAdvancedOpt == "yes": @@ -67,13 +66,13 @@ $advancedOpt.missingDataAsZero --binSize $advancedOpt.binSize - #if $advancedOpt.minThreshold is not None and str($advancedOpt.minThreshold) != '': + #if $advancedOpt.minThreshold: --minThreshold $advancedOpt.minThreshold #end if - #if $advancedOpt.maxThreshold is not None and str($advancedOpt.maxThreshold) != '': + #if $advancedOpt.maxThreshold: --maxThreshold $advancedOpt.maxThreshold #end if - #if $advancedOpt.scale is not None and str($advancedOpt.scale) != '': + #if $advancedOpt.scale: --scale $advancedOpt.scale #end if @@ -190,19 +189,19 @@ - - - diff --git a/galaxy/wrapper/computeMatrixOperations.xml b/galaxy/wrapper/computeMatrixOperations.xml index 62e142e60c..ffb8567192 100755 --- a/galaxy/wrapper/computeMatrixOperations.xml +++ b/galaxy/wrapper/computeMatrixOperations.xml @@ -8,80 +8,80 @@ $outFileTxt - #else if $submodule.command == "relabel": - relabel - -m $submodule.matrixFile - #if $submodule.groupLabels is not None and str($submodule.groupLabels) != '': - --groupLabels $submodule.groupLabels - #end if - #if $submodule.sampleLabels is not None and str($submodule.sampleLabels) != '': - --sampleLabels $submodule.sampleLabels - #end if - #else if $submodule.command == "subset": - subset - -m $submodule.matrixFile - #if $submodule.groups is not None and str($submodule.groups) != '': - --groups $submodule.groups - #end if - #if $submodule.samples is not None and str($submodule.samples) != '': - --samples $submodule.samples - #end if - -o $outFileName - #else if $submodule.command == "filterStrand": - filterStrand - -m $submodule.matrixFile - --strand $submodule.strand - -o $outFileName - #else if $submodule.command == "filterValues": - filterValues - -m $submodule.matrixFile - #if $submodule.minValue is not None and str($submodule.minValue) != '': - --min $submodule.minValue - #end if - #if $submodule.maxValue is not None and str($submodule.maxValue) != '': - --max $submodule.maxValue - #end if - -o $outFileName - #else if $submodule.command == "rbind": - #set $files=[] - #for $f in $submodule.matrixFiles: - #silent $files.append(str($f.matrixFile)) - #end for - rbind - -m '#echo "' '".join($files)#' - -o $outFileName - #else if $submodule.command == "cbind": - cbind - #set $files=[] - #for $f in $submodule.matrixFiles: - #silent $files.append(str($f.matrixFile)) - #end for - -m '#echo "' '".join($files)#' - -o $outFileName - #else if $submodule.command == "sort": - sort - #set $files=[] - #for $f in $submodule.regionsFiles: - #silent $files.append(str($f.regionsFile)) - #end for - -m $submodule.matrixFile - -R '#echo "' '".join($files)#' - #if $submodule.transcriptID: - --transcriptID $submodule.transcriptID - #end if - #if $submodule.transcript_id_designator: - --transcript_id_designator $submodule.transcript_id_designator - #end if - -o $outFileName - #else if $submodule.command == "dataRange": - dataRange - -m $submodule.matrixFile - > $outFileTxt + #if $submodule.command == "info": + info + -m '$submodule.matrixFile' + #else if $submodule.command == "relabel": + relabel + -m '$submodule.matrixFile' + #if $submodule.groupLabels: + --groupLabels '$submodule.groupLabels' #end if + #if $submodule.sampleLabels: + --sampleLabels '$submodule.sampleLabels' + #end if + #else if $submodule.command == "subset": + subset + -m '$submodule.matrixFile' + #if $submodule.groups: + --groups '$submodule.groups' + #end if + #if $submodule.samples: + --samples '$submodule.samples' + #end if + #else if $submodule.command == "filterStrand": + filterStrand + -m '$submodule.matrixFile' + #if $submodule.strand: + --strand '$submodule.strand' + #end if + #else if $submodule.command == "filterValues": + filterValues + -m '$submodule.matrixFile' + #if $submodule.min: + --min $submodule.min + #end if + #if $submodule.max: + --max $submodule.max + #end if + #else if $submodule.command == "rbind": + #set $files=[] + #for $f in $submodule.matrixFiles: + #silent $files.append(str($f.matrixFile)) + #end for + rbind + -m '#echo "' '".join($files)#' + #else if $submodule.command == "cbind": + cbind + #set $files=[] + #for $f in $submodule.matrixFiles: + #silent $files.append(str($f.matrixFile)) + #end for + -m '#echo "' '".join($files)#' + #else if $submodule.command == "sort": + sort + #set $files=[] + #for $f in $submodule.regionsFiles: + #silent $files.append(str($f.regionsFile)) + #end for + -m '$submodule.matrixFile' + -R '#echo "' '".join($files)#' + #if $submodule.transcriptID: + --transcriptID '$submodule.transcriptID' + #end if + #if $submodule.transcript_id_designator: + --transcript_id_designator '$submodule.transcript_id_designator' + #end if + #else if $submodule.command == "dataRange": + dataRange + -m '$submodule.matrixFile' + #end if + + #if $submodule.command == "info" or $submodule.command == "dataRange": + > '$outFileName' + #else: + -o '$outFileName' + #end if ]]> @@ -153,10 +153,10 @@ - - (( - submodule['command'] != "info" + submodule['command'] != "info" and submodule['command'] != "dataRange" )) (( - submodule['command'] == "info" + submodule['command'] == "info" or submodule['command'] == "dataRange" )) @@ -197,6 +197,16 @@ + + + + + + + + + + - - --plotWidth '$advancedOpt.plotWidth' - --plotHeight '$advancedOpt.plotHeight' + --plotWidth $advancedOpt.plotWidth + --plotHeight $advancedOpt.plotHeight @@ -66,13 +66,13 @@ $advancedOpt.metagene #if $advancedOpt.transcriptID: - --transcriptID $advancedOpt.transcriptID + --transcriptID '$advancedOpt.transcriptID' #end if #if $advancedOpt.exonID: - --exonID $advancedOpt.exonID + --exonID '$advancedOpt.exonID' #end if #if $advancedOpt.transcript_id_designator: - --transcript_id_designator $advancedOpt.transcript_id_designator + --transcript_id_designator '$advancedOpt.transcript_id_designator' #end if @@ -84,10 +84,10 @@ - #if str($plotting_type.zMin) != "": + #if $plotting_type.zMin: --zMin $plotting_type.zMin #end if - #if str($plotting_type.zMax) != "": + #if $plotting_type.zMax: --zMax $plotting_type.zMax #end if --colorMap '$plotting_type.colorMap' @@ -124,25 +124,25 @@ - - - - - @@ -159,13 +159,13 @@ - - - - + @@ -205,7 +205,7 @@ - + @@ -384,30 +384,6 @@ #end if - - -.. class:: infomark - -For more information on the tools, please visit our `help site`_. - -For support or questions please post to `Biostars`_. For bug reports and feature requests please open an issue `on github`_. - -This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_. - -.. _Biostars: http://biostars.org -.. _on github: http://github.com -.. _Bioinformatics and Deep-Sequencing Unit: http://www.ie-freiburg.mpg.de/bioinformaticsfac -.. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de -.. _help site: https://deeptools.readthedocs.org/ - - - - - 10.1093/nar/gkw257 - - - - @@ -470,7 +446,7 @@ is vital to you, select Yes below."> - @@ -606,7 +582,7 @@ is vital to you, select Yes below."> #if $source.ref_source=="history": - --genome $source.input1 + --genome '$source.input1' #else: --genome '$source.input1_2bit.fields.path' #end if @@ -695,7 +671,7 @@ is vital to you, select Yes below."> - @@ -949,7 +925,7 @@ is vital to you, select Yes below."> --refPointLabel '$advancedOpt.refPointLabel' #end if #if $advancedOpt.regionsLabel: - --regionsLabel '$advancedOpt.regionsLabel' + --regionsLabel '$advancedOpt.regionsLabel' #end if #if $advancedOpt.yMin: --yMin $advancedOpt.yMin @@ -1009,9 +985,9 @@ is vital to you, select Yes below."> If a label itself contains a space, then quotes are needed. For example, label_1 "label 2"" /> - - @@ -1084,4 +1060,29 @@ is vital to you, select Yes below."> + + + +.. class:: infomark + +For more information on the tools, please visit our `help site`_. + +For support or questions please post to `Biostars`_. For bug reports and feature requests please open an issue `on github`_. + +This tool is developed by the `Bioinformatics and Deep-Sequencing Unit`_ at the `Max Planck Institute for Immunobiology and Epigenetics`_. + +.. _Biostars: http://biostars.org +.. _on github: http://github.com +.. _Bioinformatics and Deep-Sequencing Unit: http://www.ie-freiburg.mpg.de/bioinformaticsfac +.. _Max Planck Institute for Immunobiology and Epigenetics: http://www3.ie-freiburg.mpg.de +.. _help site: https://deeptools.readthedocs.org/ + + + + + 10.1093/nar/gkw257 + + + + diff --git a/galaxy/wrapper/estimateReadFiltering.xml b/galaxy/wrapper/estimateReadFiltering.xml index dab098b561..c259befce6 100644 --- a/galaxy/wrapper/estimateReadFiltering.xml +++ b/galaxy/wrapper/estimateReadFiltering.xml @@ -16,15 +16,15 @@ --bamfiles #echo " ".join($files)# --sampleLabels #echo " ".join($labels)# - -bs '$binSize' - --distanceBetweenBins '$distanceBetweenBins' + -bs $binSize + --distanceBetweenBins $distanceBetweenBins #if str($filterRNAstrand) != 'no': --filterRNAstrand '$filterRNAstrand' #end if $ignoreDuplicates #if $minMappingQuality: - --minMappingQuality '$minMappingQuality' + --minMappingQuality $minMappingQuality #end if #if $samFlagInclude: --samFlagInclude $samFlagInclude diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 26330168aa..4f20e6380b 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -42,7 +42,7 @@ - + @@ -53,7 +53,7 @@ - + @@ -66,7 +66,7 @@ - + diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index e2f53733df..3700018005 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -13,7 +13,6 @@ @multiple_input_bams@ @BINARY@ - @THREADS@ --plotFile '$outFileName' @@ -43,15 +42,14 @@ #end if #if $advancedOpt.showAdvancedOpt == "yes": - --numberOfSamples '$advancedOpt.numberOfSamples' + --numberOfSamples $advancedOpt.numberOfSamples $advancedOpt.skipZeros - #if str($advancedOpt.region).strip() != '': + #if $advancedOpt.region: --region '$advancedOpt.region' #end if - --numberOfSamples $advancedOpt.numberOfSamples - #if $advancedOpt.plotTitle and str($advancedOpt.plotTitle.value) != "": + #if $advancedOpt.plotTitle: --plotTitle '$advancedOpt.plotTitle' #end if $advancedOpt.ggplot @@ -59,11 +57,9 @@ @PLOTWIDTHHEIGHT@ @blacklist@ #end if - ]]> - - - - - Date: Fri, 11 Sep 2026 19:48:24 +0200 Subject: [PATCH 27/35] make conditionals and repeats in tests compatible with newer profiles --- galaxy/wrapper/bamCompare.xml | 30 +++++----- galaxy/wrapper/bamCoverage.xml | 67 +++++++++++----------- galaxy/wrapper/bamPEFragmentSize.xml | 12 ++-- galaxy/wrapper/bigwigAverage.xml | 22 +++---- galaxy/wrapper/bigwigCompare.xml | 23 ++++---- galaxy/wrapper/computeGCBias.xml | 14 ++--- galaxy/wrapper/computeMatrix.xml | 43 +++++++------- galaxy/wrapper/computeMatrixOperations.xml | 14 ++--- galaxy/wrapper/correctGCBias.xml | 8 +-- galaxy/wrapper/estimateReadFiltering.xml | 3 +- galaxy/wrapper/multiBamSummary.xml | 14 +++-- galaxy/wrapper/multiBigwigSummary.xml | 21 ++++--- galaxy/wrapper/plotCorrelation.xml | 4 +- galaxy/wrapper/plotCoverage.xml | 24 ++++---- galaxy/wrapper/plotEnrichment.xml | 9 +-- galaxy/wrapper/plotFingerprint.xml | 22 +++---- galaxy/wrapper/plotHeatmap.xml | 6 +- galaxy/wrapper/plotPCA.xml | 2 +- galaxy/wrapper/plotProfiler.xml | 11 ++-- 19 files changed, 182 insertions(+), 167 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index 4acc3ad95e..ffec43e160 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -44,7 +44,7 @@ --operation $comparison.type #if $comparison.type in ['ratio','log2','reciprocal_ratio']: - --pseudocount '$comparison.pseudocount' + --pseudocount $comparison.pseudocount #end if #if $region: @@ -163,19 +163,19 @@ - + - + - + - + + - - - + + @@ -185,78 +184,78 @@ - + - + - - - + + + - - - + + + - - - + + + - - - + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index a7c1ac7fea..8be30ff70d 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -94,17 +94,19 @@ - + + - - - - + + + + + diff --git a/galaxy/wrapper/bigwigAverage.xml b/galaxy/wrapper/bigwigAverage.xml index b37e78b409..77655b5ebf 100644 --- a/galaxy/wrapper/bigwigAverage.xml +++ b/galaxy/wrapper/bigwigAverage.xml @@ -56,33 +56,33 @@ - + - + - + - - + + - + - - + + - + - - + + diff --git a/galaxy/wrapper/bigwigCompare.xml b/galaxy/wrapper/bigwigCompare.xml index 9b305f3d4a..67130dcf6e 100644 --- a/galaxy/wrapper/bigwigCompare.xml +++ b/galaxy/wrapper/bigwigCompare.xml @@ -18,7 +18,7 @@ --operation $comparison.comparison_select #if $comparison.comparison_select in ['ratio','log2']: - --pseudocount '$comparison.pseudocount' + --pseudocount $comparison.pseudocount #end if #if $region: @@ -105,30 +105,29 @@ - + - - + - + - - - + + + - + - - - + + + diff --git a/galaxy/wrapper/computeGCBias.xml b/galaxy/wrapper/computeGCBias.xml index 4bb702df23..79f087419e 100644 --- a/galaxy/wrapper/computeGCBias.xml +++ b/galaxy/wrapper/computeGCBias.xml @@ -104,13 +104,13 @@ - - - - - - - + + + + + + + diff --git a/galaxy/wrapper/computeMatrix.xml b/galaxy/wrapper/computeMatrix.xml index e6185c508e..8673050804 100644 --- a/galaxy/wrapper/computeMatrix.xml +++ b/galaxy/wrapper/computeMatrix.xml @@ -216,32 +216,35 @@ - - - - - - - - - + + + + + + + + + + - - - - - - - + + + + + + + + - - - - + + + + + diff --git a/galaxy/wrapper/computeMatrixOperations.xml b/galaxy/wrapper/computeMatrixOperations.xml index ffb8567192..a6ce23afed 100755 --- a/galaxy/wrapper/computeMatrixOperations.xml +++ b/galaxy/wrapper/computeMatrixOperations.xml @@ -187,19 +187,19 @@ - - + + - - - + + + - - + + diff --git a/galaxy/wrapper/correctGCBias.xml b/galaxy/wrapper/correctGCBias.xml index 0e699d9a21..8ce29a1ac3 100644 --- a/galaxy/wrapper/correctGCBias.xml +++ b/galaxy/wrapper/correctGCBias.xml @@ -54,10 +54,10 @@ - - - - + + + + diff --git a/galaxy/wrapper/estimateReadFiltering.xml b/galaxy/wrapper/estimateReadFiltering.xml index c259befce6..9d8d35ccb8 100644 --- a/galaxy/wrapper/estimateReadFiltering.xml +++ b/galaxy/wrapper/estimateReadFiltering.xml @@ -70,7 +70,8 @@ - + + diff --git a/galaxy/wrapper/multiBamSummary.xml b/galaxy/wrapper/multiBamSummary.xml index 2c451cfcb6..f5b0fea92c 100644 --- a/galaxy/wrapper/multiBamSummary.xml +++ b/galaxy/wrapper/multiBamSummary.xml @@ -52,15 +52,17 @@ - - - + + + + - - - + + + + diff --git a/galaxy/wrapper/multiBigwigSummary.xml b/galaxy/wrapper/multiBigwigSummary.xml index 40f4b84004..879e43d267 100644 --- a/galaxy/wrapper/multiBigwigSummary.xml +++ b/galaxy/wrapper/multiBigwigSummary.xml @@ -48,16 +48,18 @@ - - - + + + + - - - + + + + @@ -67,9 +69,10 @@ - - - + + + + diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 4f20e6380b..c152c318d5 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -121,9 +121,9 @@ - + - + diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index 3700018005..053860e4d2 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -106,23 +106,25 @@ - + + - - + + - - - - - - - - + + + + + + + + + diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index 7daeb7d137..1ee7d597fa 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -167,12 +167,13 @@ - + + - - - + + + diff --git a/galaxy/wrapper/plotFingerprint.xml b/galaxy/wrapper/plotFingerprint.xml index 3bee4f28a0..bf75914ccb 100644 --- a/galaxy/wrapper/plotFingerprint.xml +++ b/galaxy/wrapper/plotFingerprint.xml @@ -110,19 +110,21 @@ - - - + + + + - - - - - - - + + + + + + + + diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index bb926bb920..0fe2c38967 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -186,9 +186,9 @@ - - - + + + diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 568f44c701..dac8ad08cf 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -70,7 +70,7 @@ - + diff --git a/galaxy/wrapper/plotProfiler.xml b/galaxy/wrapper/plotProfiler.xml index af763a40dd..f5c94b3a61 100644 --- a/galaxy/wrapper/plotProfiler.xml +++ b/galaxy/wrapper/plotProfiler.xml @@ -111,16 +111,17 @@ - - - - + + + + - + + From 547d678cd1a2064ea1cbe25259f89facc4321a58 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Sat, 12 Sep 2026 05:04:44 +0200 Subject: [PATCH 28/35] Fix most of the tests --- galaxy/wrapper/bamCompare.xml | 9 +++++---- galaxy/wrapper/bamCoverage.xml | 6 ++---- galaxy/wrapper/bamPEFragmentSize.xml | 1 - galaxy/wrapper/bigwigCompare.xml | 5 +---- galaxy/wrapper/computeMatrixOperations.xml | 6 +++--- galaxy/wrapper/deepTools_macros.xml | 8 +++----- galaxy/wrapper/multiBamSummary.xml | 1 + galaxy/wrapper/multiBigwigSummary.xml | 1 + galaxy/wrapper/plotCorrelation.xml | 11 ++++++++--- galaxy/wrapper/plotFingerprint.xml | 11 +++++------ galaxy/wrapper/plotHeatmap.xml | 6 +++++- galaxy/wrapper/plotPCA.xml | 13 +++++++++---- galaxy/wrapper/test-data/profiler_result1.png | Bin 37053 -> 35763 bytes galaxy/wrapper/test-data/profiler_result2.png | Bin 25947 -> 36447 bytes 14 files changed, 43 insertions(+), 35 deletions(-) diff --git a/galaxy/wrapper/bamCompare.xml b/galaxy/wrapper/bamCompare.xml index ffec43e160..5b933ed611 100644 --- a/galaxy/wrapper/bamCompare.xml +++ b/galaxy/wrapper/bamCompare.xml @@ -176,6 +176,7 @@ + lxDaLyRL%fqZKmPKMMeoKPS)1ei1E+WRbe28 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 diff --git a/galaxy/wrapper/test-data/profiler_result2.png b/galaxy/wrapper/test-data/profiler_result2.png index 445da93b84096301e54ccbc1ce0762a74ea5f4d0..ec79134f5aff93daf499164451f7c9369b4da333 100644 GIT binary patch literal 36447 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%0DMPp-*$) zPB$Zfmh0gdqTPGW0x%(4iek(sfI$!3E?Hi7#vtO7V31vf#?8|^4jat^TQR$S3;3wj zkLE9tH}44GdI}3s2s226p`KeT^VZ`vTTL ztUiF47zW!q`m_p+L*NBP0Sm{OP}o`9j{2t17fbu-VDI>!p|VgDA|@2X*1kM`N$Ty{ zkI=vGFpu$wNgHrOuFvP==S_TtXPm-lBaa_65d)5am z7KG^`5aXu#B9OjAVFO*nGbRX#FPxBk3HK8zen!y_e2ae@MCW`^njT4U*@_IZV#=Nb%G@?PmM{VjVrz?`)k#~@CG zAXhtI&j9Y%E37)$F@cv;k@TJ?_D08X6c|DfwU%QI8X_K9_d>SBV9Jfg!)jUKh0O`p z5Q>^>izAro^*lsRL@fhop#HE;nBkWFpAP_LturCtgji+*WCzdDwQ2Jor%1z^Py`l2 z^^gDJ6nTmRj6}?@S4E@EeMuH@Cu^0z$I*u$AO{JWHW+x{Pu3uw=xfdfL8uj8h4<=2 zEW+M6#X|F;h5~7Ez{p^eK^`!e{pmw^l??;B(*YE6n|%rhNg>tm(Hi_l1J&Wd6~1xo zmnr|nDgx9PLoD;~kDd4ojuz~;p9JfC+`+@+4qOpkTfUJp8aU~r6SRzlDfM}T03Uq_ zj$iglS)!&JLlptqF+xTu6o}JGnYcI<0EAp7f(0NllA(cgK3dP5QX^8fLM<~pSQ z@rF3Ts6w<*ZwSq~bc@E#}yh~r0~)D4gaV}^!m4N1j+MRCR)?r7}e!yATj{}J_lC!vTRN&1H`fAj*Y zoC0m0n@$<_N3V&Q$)WJ>Q$EIFDH0`I=&l3kzCjRi`B^59jGDsVhoY7m1TLol<$nMX z_&(I~;x^b$c@(yPcAwZ}lw#XG14xq$Y3>{4rU~E|s5ic!uT2KflnSmhm zU^59`LWiOuDp!0&5q-7M_V^}*PLF(W@c3bu2*^{UI7kkpyaPs|h`x0u@QdyI6X#1YzpC7XswS^j11&aO ziw40_Em!VlZQnW)hJVOb3C>Y7SI_hvrSD7c=4XN`SqRlh`gbo(pS*0?JiH=2gXRX; zfC8Oa-h@PZqeu~qMqyi9+qGTb;U=V{qQT zc?h(N6v9rMFth#L4ZzY)r8462B}`kt;hl3D#g;X;q)CQGm1rPI?F>(dQbMC4lxRRBniNWdG^=RTq|#1lk~*JjKfmAm zKJR(gI_s>n&RXaEsja(v-^2HNU7zVvHaKksApFqdyGIUrl6vgcx*VeylFfr?kK~5Q zSOv?e#pWd=_;>y1KgrPynC#=9+FyWD@Z>jSdpAmkJ|+^Ub{*)L=Y5mlcuAyUt?+(i zo0XrGEsmj|@nIUHtjy8_h@nN;VBejDDU|Xjy}&a_&qFniZ#d+e^#k0t+-JuFv9_Or z&0Rm|u27TG1*0^#d45xcsQ1EgG~GYoVd|}aXd2qle{^O&6$?R=J7S6{5zHYivV#bfl z!K;n75nY-TKPB(wiQXgrWpCneMYq&TOMM!EzAkjLrSL^h*lb8eUvXiBb#aLM!~;gt zev|&)lM{A_vU#)9CG5mlmzwf)zg0F|fFcPZuGZk1%A8GtW+_LtN1V8t1@$dpI(Uz> z5AHB&l-!%RUj*fO-D24GD_?JYIXbrOymF97;60~ah?&Qr{;=PJ-Q8!!D0Q`qTB6wfb z`+Pi|O&Y!$aSFSmx_^J{O0QmY!sZ#LZ^2x~9rqSQZb`fXt$!x`n-9a&=flwHpH)UB zL#*aJE65qq9X8cA-3P!O?e8lsiA}swt2P^}9xa&fUp?A+|1ZP+6bLkAEEUKlEOK-w zFh*3|;OL8k(4k;NpLITo0-rN-u zn;;rXc)sRDCFH0|_B(7w>{K4YEfbcV#+2bH7w%42|7=T(N#ORGo?Xd?vlxTk*WUWg z5C6Vt7Qejg?wHcQVp5b`r{oiLe>c||f?ZNxqQoHSdN$nr)qYZyq_BywA)vS<2+X9+z$M8>)>f z&Pd$v;9|bA&E)HKtoBsut*vTkDDd;(Z1}OE{brNI4g#l_8{DorX!Sd(0Y#}{l@RM4 zI-8{toQ%(Ug5N3EEER?LQH$MzEJfODwf}8j%oHQ?Y|kAIC)!E95KWfMu2GAxsLtB5 zz}z>DY8$ottv`q!sfU&$2wmSB;C`^R;)B7@E~T|Im&3%j>qK7zaRevm@G-6>^QD~b zE}fAKxaIQH465=*R>pr)Mqz3=tqXf5DOrFKuA!nNpvzg1-MYNYc#Gl#s2NqV=YK>&Sf zv9MoRxDG1k%?yZbm<-A+VdI0<>Xvx8@g{Lnb-{fNJ7}1~fw*2kxX_RAsMC?uQIRe| z<3X5R2+@Mrn*bBBVQcXmlHUG}4aONufD*qK6Mi1nRt^S7C&Xxhcw0hAIbMkU7GH*& zAJrAl4)iWJ5D6M$mnNd*x~Ae72VAT;t%p`M9siPzAI|rG&*b2uU*Vx&IdEad+#o{e zd$F+;tZVda?OL{&R1xY-3T%{j`1FyAQwx7lm2X|kUYAn)!L0bvjXwDnFqi_AWdD$j zdqD-k5GOU$p6!3T7mNQ`kh2FjfUyONn+J$4wEhJV{534@E>=wfxD1Sq=KZN~##z4t z21BNT1l|ac5)9U)+MKiJ+F%^M1@`tmHQi$}!4|$rI0MEKihxA9R^pIon)c!AS;hx& zB#etKSV?X|t`^pdJs+)>X}az)VSG!b2J&`;QINhT$(}Shj9%tH4&DU2H@ZUQ{+Y0dZuI%z8aVE_K{7Peyi=;u%Wp%|a55rvD!I3$%l z(QvwNE3`gsBxt&)G3~|aVQHgT)2YV3xCdLZ{)9HveCV@`&=b7fqe03eMhj^Q*8Gy7fD{U0ir>9HElNcUx2EIq5`q92F)NTgfw$s~ zgExrUA6WgIt(vJ>&4C=nP6EFrTMrCbKIs6nfG)*0!T;0?zsJpmlNr_3u?w?lO~{EQ zBuzKLUi>+tW(iT52!mf0S>OHc#UY{-^X7Y4P>0H5*rwC&>7S~b!EFU?OdVo-uQ`3t7 zoc~0M!AxHWb7SZz5smQCg6RzcT`7H#>1@Z6g}P2?K|VT)@5A++SHt;mJv;`&-ET|+Mf_l`Mteq5Zy_=5la;wwj? z)dn%F%4>amvzlFzr5(Af^V3VWCjjEKvPN2FjsklZbUkXW(hpvS*9po2_qftYyo&l= zjReGW{)F2)My2te9Mj}=Nq1Z;<13|A zmrtYUQ+Og{V$YAbjQb?j>PadM>xHx~MAVU66z)fG(YJ8d!+WWOsBO$R2P5aqTFU}))NsKRL3C=< zckQO*@V?d-f5ZQ|I7}h+E4?=eK}KLK$6rhqr=L?v;V<3G@I6BQ?*=hh!a@L*b@ zU3-oyO)x~W8bJ8h)tvY64BpSN8_6hpy@7dw2n`K zigJS?=WFXESe{r_O?j&p2^t=l4a0Nur}Pz&7=)Gy7-KIq2>5GHmJ!#SA{2!B>QQo* z$tT}X>XJ~a!AztYMBS3J*>;`zc+iiKs~2V*IZN}T_m(AuIIoF2^Ff$1)+FU|*YA&J zes~&c2Mhq19r~f`>acS_b>jE1#V;3m^&MePkEq;+`@}F@QhL#>KCFV;GXw12c2NYi zz#mXATv*whZB{<8GugIm-}SBWXK=w>>bgx%NeWx;L!h`L-{#~TgAr2{n!Tr%S0Da< zdu%3y-_TQka%wkO)I=xx){h6Eje)S{Ky=0aEKg(9BU0EmuROI->mj#m>XSWB+R+0X zTx6fF)e&Hdic$jd&P%DHmk@h5aY@?q0Rap#$KAU`5@k^cN?N;Ti6~V@$YDWD#k2G_ z_Uf3@SOi3t^=8f3%i7015ZkC;tcpAzQ&0&a_GIN!_;{Mbsjn`U$EiY+c~qqzZ;+pMvp2t;Mx-HMmnSYpyMRV#rMt-_11(EW&l z(2G})^T;$~gGzS!t*J=G1ggbGltJ3_8l!q=O z=d|q?zLH5>piQGa3y^W}hp6(WijuQ}Q@TF+$!)(lxjp8$$(|iYG-YtvR#E5=9j%9cE2 z9i`3r&i(Gcu-cY7bbsptp!o!KDKX%T5y?nriiG|fTLV0W57tv*F!BJ4BN^k3zl>u) zVDGpdN*RQ^g90zQS;8%T1a1Ga`P>Zw^c^bzds|s&J_0NReS;}Z_YM2X4uE?WCtaG* zi88Zme+T8TvE7^wSg&_mm)@3wID}UFt>|J`W`BQ6-`}elOYsd<%3-}Am-c6k|IkBE zP{uyvt85CX63h-Ili?ySV*hxqxu>-E#5j&w zbWPUKPMEU(gzLBY^{h`#eJP$X5VY zxa6HPL!mL@bDq+*;%Ei49t=`Cycg!A_t-7))u+H&$WT`oQt?P;D@e_2esupGoI@T_ zI8%Y=P;d?+Ro5b1eEYhUP4r-Me)ylvX87PP`-5FrU>_pI#oE*+J3`5=u)<&l#Mulc z^TD3&0H~J0Gjknx7g}MgNsyv*a?+nU06=#uP?&?9fk1J>XFNIvD+JE#2{s1T?&=bU z?m8KyuEoTJe;sCjmqgUclne>MimwGC=N7SQ-rQh+A_LV`u*G&@>9DA7LzlW~)NMXp z7(>07qZE63!5T`jsY z(W22|xVPSDTg3X;ZqD@JF&2G%90RLO5M}6~q-3R8f(@`W{zd1DYLKC0ZHvoD3fQu~7vY-eC;tQ5Fu@6TPNE`rss1MAZzg1TFKrpt}+{0jwZ-6D#$EzsZHUfQo z$hs12I>L#mc#w@S!NF>UBOr*1I3I*^)QnyYld77qW}!AU>t_%u#d4r|33#hwawPu7#@EAT1=zn!LB@+{g_vio_O!vJeVo z*Kfy`v#ir*3WHnpcR8?06VfaUq6deDV>MZrW5U}OI!M#$gx}7>Vws9&NAuG#;MlM; zz&3R=J^-n67|4L)?M?S7nRO1vIS@a!AruwAo16GieR33y}&z2>%oC z`fL;&OGPc}LipiF-*klN32akHJB)^Q=*^+C1=Cc&gA z(|~hs4xaFSzW@AZSk7aO)s%vT-SOS1^2xr28*q(;J4QYc5fI2Onq807-xN;9_#NI? zY%BKJ3q#}GV=_vyn|z0xqnrK_6La59F;{Hi{JM>0kSUV40+E$DgO7U}vm3{AQ^NH+ zOzgk>#)JQ^%ad9f6&YFtrY-K@w0$}wCkX5tdeg@lqwV3=ZKfh;FLih9ynB4Bj7C2~SQC;g?GezKqu@#tL@Ozf63Iyu5t1OV@FV0>QpgRmu14 z>|&HEkBP+lu(1z%@#!C(d5;;g0!el*X87Kis{TVbSfOP4{uj<#l-Io=pelC_d}M)y zx{!VP%eC`JDYCqh#?sJWFmvu^vchT}U0;>l(TW(++eddD_~X@A%p>{SJ?$8~Gr4pF zx=y)sTb{(e3--Gg_^92Ncq*@nQJYf;NEI9pgCJ-d%LNe|7$Re7UC;(NOZI|d3Zs_X zL70V7VKC5ln@>bwCxmJ@0WGgre)sLNZn3Yohc}fnUq{rW!?_*|M8waCQR*#l{x#%C*xnfr z`>$1wDQh23of;;!==O)pWd&tB7q2mw*m8a69_$(hEWrk{V%vY~Ss4G?0u|A65C;s+ zhk1W0RVH>#!QLr*=M~nGq~w}(=GTc|t-?8-QOA|O>>cisH;OO1*Fgd2CB?#D5;IpdpW};fySK^r zdySBk|Ge8t5Q91^si0?xFyibFCl@ z*BBmf+wcpuSA9(Nk#)hQf+sD;y2(|3FY(d zz45V5c>2S@R@7(uT_*7zffU)&C-HLa_uHBn$(8fi@u36*)2|d%M$nOl=S|tp)#g$x z^;(;}os4~hdPze~82M86b@{g)-e31L;?pZp0|0D%hQ{!+e{mqcf&O1S2*JY-xBk=1 zXPs&-P6x@kIyT(rWbJrF)bj34i{;zo&VdtKitv)>G6`c~4o83YkuZV5cN#`;_Phn+B9I=NCk5NLu+K!KVQ3dnw3c1pof|tw+e2MYCS( zfFuQa)n)p%>8iK~!bPVCbQX$;;y*wq@JMO*%UNpzxX!RZmrj>=;T_Jy{SZ8g(T zDYDkWcXfjeec>f6glF%~9rm}rz>dLzmAMw|dHTxD?J`tyu|T?C4FX;Ko`!DW-jl+n ze;WJG$0Ef5QfR_qLE;pmW_T;cKGa)My0Sqd;vx~iXyz%xKCgfK^+E^)DnNPl_7=g3 zO>MX+`eo06g%qJdd59v(8LH=gI5Sa*Gx1J_jfsJQ0sKFY-u@AIQ_*&6!u|CCssd}I zV{|U*#Nn0mquiN5T}2&~Y>+{|`V z^!qKmBH2H@rh3MM>{u(a(UPAKLjUW|9(y;g2`1nHUQHw`2jZE!ypH{H1d#nHj^nVS zMf$N#8SLl63({!GwTIvR@&4N4bJLaaVlRVwp~ZlGGIC^2LK_y=i>J?Ab)2Qqzl?qM z_b8>$B<-kUD$s$|Xk+-v%8B4i;kA|*5jLHx|El-ny>p>|b=;s{$AMq{?76>b3T$6R=)Q4O>7z322SS}mdaum!G3=BE(ib<< zQ_9aIdf%=-HU95_MWos|CK}*Ms56D3eFW8NT1FSxRTB4va~k-QVtd z7zC0`7ya#9>!cUsZuBnl9Qdy!MV6RnC*MxY0-Zi&pi=z7E*9WfWc_|S-3h;2VF<;5V9M;qI;1(lgV#% z+w7GS+p1dxwsdbzJp^k)Mq_~JEm0;%f3-KmU(lsA<^=(lj%Mg4ow{?XU5G*_VDPTz z)&z-h6TD{u34l-?%UjuSFnBa^Wfiu@AVKM-g#`lG`hI#+cFr=^$KwwG@f48s3v#~a zcwpt;+Q3joA)d=RKi8eUci7PXC@#9cbH>y~q;(j^0;4$p1OUhO5t5m5D^O1*=ye2d zx*^z?;)3)3fBcJlX*>PeH^q|>)Q1R28p;RaY&S1$C)${!XaBO0zgyNYQ#%csoh=(C z;J*#T>Kk5D-KA+#)1Xv}6|Z;-a)cTU`tWS{JO+IO>w9;SVfLe6`mB2oO^`r$AQcJ8 zZO7~^em7B61HO@3%Mrv3#=r0;-Gfyci{N0H%)y}A{YcHH!kM`an_XmP#Q`i1S%RLO zA%R1-`!Z+yM-QPeFBKf=yxN98IRsOruVe|I>(<`G!(yx%00Mg9(hna#t?dlQ(? zR^aDmdx!IuPLF{TZS62R2ixTQPE`XX1D!4Lyf-MWe#jd_5EDu(ATIjFzGh;Gz51i< z1Ae-D)lo$L|b`?$_vy1ugHdDxp+wTQ3xAUoXT=ob?J@~x~5 z*xnR{8> zYg9TX%l!zG!M?6=)?vEw-g(EPD!k%XJyJ3Xvtu${`fA_ zB4+x#)s#GoT@PvOu^Jc;SFC731~y9ayJmaFK!c4P5kq=Y5F9Bj!K!w+9k8LbU66 z(#wHHIbu0i?CS?P&ITb^>6n@FiQ+oFgjjk&*-nm(AoIs+HAa{Ic2Rc%1^bNRkW(?8 zBz!r7%6&*{v91CaLFBtPtH~!G2I(uyoLJL}p9vgm@<9f-gkuZBP7Oj_!#raZnYA{(nSd}!8a>+!nG zYG@u^9B{!M!GE4KUC6P0ia56@PbGt<-O3J~aQd8Hb`!28mtvIEU+VUr;tsE}4T z!-a%CrE0a0SlHz9k^GeB=*S%r+1gJ!U$q3;DdM=jYgI&9_8^@66&c1zD64J2A4@K^ zz$n_^BVayiKVN9d+fHz3`z$Ew681H!6G5DBT^Rhn*W8gQcU@1xNB%jB<6>1&{*IaB zgrYm5V)grxK9?y;6N>W{i}!n_3`-Qc_k;@xp#c83NJagytSDTZy!U7ujyz zHy4^tPml4}9$|ciAFCYKz&O=G=$4q51QJ<3Z=9i;J5Br>dghDAuS#@J-iHSFGTzvc zKoYg0ST9~^hpL52#trVQyLmUD+5K$iPxf)`x*6#&nF~00I5&)3T*S;kEB*r!9lDlb zUeCZZC7I*W9AB6=ivkzD9kY4PynibA@C@h}n z_IIa+rJMW^nq}Wmfu82_&rd9?c}Np8u7M{-!)my`A+)Xe5nnj zH=DrVmn{Q*Fp|{+nQy}@yluL2?)DhB-Rf5u+!Hj?wq3;nP274Brzzsig3scOgQ&2o zpLtcbrzOU9y_Sm_75fxKO-Vk{MJB#x@C-|lP!vt?53X;44IX&umDxnR-8gSR^WIuM-TJ^@ioh-3x!^mK*Bykqu{ z&h4{ndm)oGk~@d%G$bO96j;7;-t|vozp#|0h^TpehMG~sYbHx*%q!*Pg`bLOgnU&* z$E1!zxA^S#_S5QA^wdLBYX0d+&M6u-+|Y`1NcxRj*P;BBXv58a>BWii_s&v-1~=ae zJ>-6xfSn4LmUgFb(oyhMDR`ohNXebCjB&}SiDM*+#_ynKoxPOtY~CD4RMlszxhgm< zZ{t#H;gPUu&^NiUvzwI&{~s~*rl@6lryNFI-;3)l%BP-ev?jqPpJs}-m@w6*h*POJ zI!x(s187P2=UzU9XI#vx5zl?`k@MAJ4d`~>x+kCn%QvwWVf|!i+PJ=*=Wc7AEozEv zqyQ-q-t;AmuCeT@Vhk5LM1!@3wv=6H8H}EE>eScH?7C&7vfs(1%H-TU8VIp8Zrv`| zA|HF{iwatb(HG9r{YOY^zB<}-Daos^Q^ zR%l2yUr1k4&eLyrbr=S||%lU0y|;DO1@`^>rp=7trpW#!C5o zJM`n?S3NmM#%G#m39`ZTw*_VSDx~#c6G@>F zu%0iH8|vX>zPM{nc?}m-VKP6^_tsA~-A0_*yTdTDTlrUUM|DoD=gQ)D@7(>mV1p58q7Fsg$%;Ua|TEyrdtFR`PmbJ|W&J;iZZvDvrtMNb!>Xv*9yP506#J zaV4$UtffSb@Lf+v!kz9c-Y3jmUrj;RIKud|_SE9aUZz^XaQ1j~XV4QViY<}?Z@6e9 zILH;hQl>qC{As^Jq$1Fb{YUWVMen$hRhGQt%Cd?t>BsYW;QmXg8Mj3<7ZW~Xy#k|b z5nsIF;j1p)r_Fs2#O24CB08WrWCTm)=&T%@6sN|9j5{bF1iPOB%S%Zt`T_Vvt5)pG zuo=iO`GRP>MJ3O8>rDA0bb%_7?%*QUb)xJru97mX3H;^W6Aa5O3Q*P3qXc z_zX0#9)(V8St{oTUUm8YZIk>mCdn(_br673skYwvD^E7}NCsZ$TKoD={dehqzTJ6m z^OSIzndOu2N`2gu9rpuNgV2E!Pe-<#=*M>M(2&TbLD-`m{$Scj6eJs=t76!^1Q!1g zO+#`1&#)KlzTfcl;5ka}C21kt?8n@D!0k|CSi4ITDzla+BisYeb0h!?JqNG2!pBz^ zNsBAz8#HlvV{|e<<^I=Bpw%Nu>g+-du8BVZVLrzsLkhGj?s<#Ks0h#MBGJR+B(U9h! z%3kCB+DQiAh4i*49>$^+vZ3$dZyD7f(%P`A4Tr0xvn*aN%7J|7sO~*qqx543Dbd7$ciMy+A!q{4aQH@RbVMorW`O3-_7DO$Fx zF6Bw6(EX*A3J0dMX$Hx&37QQcXHSbqZPIadb+^K@W4+PY;F@|ajjz1qih|y-RbxPv zx{K)IBe#7eK#$8OnFADe{N}^G1kOF=Ih!wXg%^wMGNrsoyl>WL=4oRVqtkb{E~Yvg z>ld^v4%vx9<8ZZWSp=_CYy+7dVeI%Fg6&I(?FbBa$`X276L}DG?IOrGQjV&T*yfV# z6xJu0VJ+urQ`=#M{&yEf{K?7Rzx3D#L4I%>emr;!4|@@0Aokw+MlmRN9u`MzFeJ+t zj>!Hm<&UEQ<*xDZ-IgSkv#NxU-keOG^;6h0C(-==d*UbosK?kibJJe-f5I><^y#L5 z_sN7b(~!#lr@ugc0LF+6UHt#s=S36`W5SP~o&UYBzvtp<3tn|k3=FbBJk|ra0m`_qyj)&>H_0RrMt==B?^a;=l3-PL`oBWj$SGxjGvpy1Q1Y0> z`mTeR%_zs~CDzxW+9%iDQbYvOoFxMC^A4j&TMZ;U2d0(a#8s!XCX3m?Z zGn*blE4s2&WjLa%AK`+3k^Ty^wpRm53dWAL(endkLu6r_*GEvm5s&30^r~q6_+YD` zF`B914k!mTu+}UG$rdzgp(2$ml-`XcXwE1)Ux`Jpu$5LU>op!F*dM|(yd&8Zk4_Pr zYmpi7>lxmuU^pZU%V9Zh^c=Vf7`bLqwtN4fSVZ1;sc`Uz{5^Y@IpPl7L1-K61io3| zwQJ`C8~}qFBgfWG^($8Bg$Ebh2a7=#P^v#6?Pyf?f`nzj9UVv;%E%zBc6E1L5Qisc zc0W%-IOh>m++jKDNYmLxjfC0+q--})>*}GuG*}Zgxc$Oy4GSZ#n{d~D3aDW|LV3Nc zX+1g@qTVS%kRkxuplAugfVicvYdDybi#xbfwYm6y-yJwHCZz`R<8-eHAWD|bN*KZ> z)ZCBlHk|J#8YFFZ8t_<;$L2?Y*rMT&>DlQ}nJX?rO8zGfMk zRP9p^C>q))P(`fuxmXn&JM4jxnrYK1eQDuh_lt{k_Ce79Cwl2i&RzzVBvX}$FtrQt zEq}A?CrQJ_`@x_p6TzBjYTy_3H^u)$E~n>y@&z5~j|D9z88>r;Cp3h}OV%xcH=2 z?~PlNDM4`u#dp*!&Ys)4k&6@Ne^3ARos!n;^X7N@J_nK*8|S~?!z{oEUYu*>`s#9g z{vmNwF#_UR1{aAe`G(28FTgHu$9PgcA#gvQL$x-$p6r#ft9pE+qJDbLul^J+)-EN@ zeRgIKjud2(&W|^`Pl%mDC<)&q*J~Y6*SMUpBuuw19wm$Luk+w zIU7)QQs||xKAnWngys|c>V{vUaL`rLx+E2&TNs?dF*C0+E;fJ}cEI&hxbOl9*I_-} zZYju%QYoM?Kl$!HcOa6fb64(q(^CX;6ws4LD&W>Szq3^s5_~XFR(o)CEQ5vFgpO$E zqfXtPxAY0#rd|{*X=vFB=LlEi(}X8~5kQ2aCxL!DqJMmzi4j++q=3nX_tW~7bK8t; z4{`Ot0S-`~J#V*s zRgOltHNQK9rG-?q{i>~6g7PV;e^r-#UVSX_TrbajHa!BZ=eOE{~v6cIsfZ@{Nl#nYCD%S&KFv<3PX7qjICPR LG!r%-IQu^UWDf#o literal 25947 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 Date: Sat, 12 Sep 2026 05:06:49 +0200 Subject: [PATCH 29/35] add additional test outputs --- .../test-data/bigwigCompare_result3.bg | 120 ++++++++++++++++++ .../wrapper/test-data/heatmapper_result3.png | Bin 0 -> 81330 bytes 2 files changed, 120 insertions(+) create mode 100644 galaxy/wrapper/test-data/bigwigCompare_result3.bg create mode 100644 galaxy/wrapper/test-data/heatmapper_result3.png diff --git a/galaxy/wrapper/test-data/bigwigCompare_result3.bg b/galaxy/wrapper/test-data/bigwigCompare_result3.bg new file mode 100644 index 0000000000..aec1418a7c --- /dev/null +++ b/galaxy/wrapper/test-data/bigwigCompare_result3.bg @@ -0,0 +1,120 @@ +ch1 0 10 1 +ch1 10 20 1 +ch1 20 30 1 +ch1 30 40 1 +ch1 40 50 1 +ch1 50 60 1 +ch1 60 70 1 +ch1 70 80 1 +ch1 80 90 1 +ch1 90 100 1 +ch1 100 110 1 +ch1 110 120 1 +ch1 120 130 1 +ch1 130 140 1 +ch1 140 150 1 +ch1 150 160 1 +ch1 160 170 1 +ch1 170 180 1 +ch1 180 190 1 +ch1 190 200 1 +ch1 200 210 1 +ch1 210 220 1 +ch1 220 230 1 +ch1 230 240 1 +ch1 240 250 1 +ch1 250 260 1 +ch1 260 270 1 +ch1 270 280 1 +ch1 280 290 1 +ch1 290 300 1 +ch1 300 310 1 +ch1 310 320 1 +ch1 320 330 1 +ch1 330 340 1 +ch1 340 350 1 +ch1 350 360 1 +ch1 360 370 1 +ch1 370 380 1 +ch1 380 390 1 +ch1 390 400 1 +ch2 0 10 1 +ch2 10 20 1 +ch2 20 30 1 +ch2 30 40 1 +ch2 40 50 1 +ch2 50 60 1 +ch2 60 70 1 +ch2 70 80 1 +ch2 80 90 1 +ch2 90 100 1 +ch2 100 110 1 +ch2 110 120 1 +ch2 120 130 1 +ch2 130 140 1 +ch2 140 150 1 +ch2 150 160 1 +ch2 160 170 1 +ch2 170 180 1 +ch2 180 190 1 +ch2 190 200 1 +ch2 200 210 1 +ch2 210 220 1 +ch2 220 230 1 +ch2 230 240 1 +ch2 240 250 1 +ch2 250 260 1 +ch2 260 270 1 +ch2 270 280 1 +ch2 280 290 1 +ch2 290 300 1 +ch2 300 310 1 +ch2 310 320 1 +ch2 320 330 1 +ch2 330 340 1 +ch2 340 350 1 +ch2 350 360 1 +ch2 360 370 1 +ch2 370 380 1 +ch2 380 390 1 +ch2 390 400 1 +ch3 0 10 1 +ch3 10 20 1 +ch3 20 30 1 +ch3 30 40 1 +ch3 40 50 1 +ch3 50 60 1 +ch3 60 70 1 +ch3 70 80 1 +ch3 80 90 1 +ch3 90 100 1 +ch3 100 110 1 +ch3 110 120 1 +ch3 120 130 1 +ch3 130 140 1 +ch3 140 150 1 +ch3 150 160 1 +ch3 160 170 1 +ch3 170 180 1 +ch3 180 190 1 +ch3 190 200 1 +ch3 200 210 1 +ch3 210 220 1 +ch3 220 230 1 +ch3 230 240 1 +ch3 240 250 1 +ch3 250 260 1 +ch3 260 270 1 +ch3 270 280 1 +ch3 280 290 1 +ch3 290 300 1 +ch3 300 310 1 +ch3 310 320 1 +ch3 320 330 1 +ch3 330 340 1 +ch3 340 350 1 +ch3 350 360 1 +ch3 360 370 1 +ch3 370 380 1 +ch3 380 390 1 +ch3 390 400 1 diff --git a/galaxy/wrapper/test-data/heatmapper_result3.png b/galaxy/wrapper/test-data/heatmapper_result3.png new file mode 100644 index 0000000000000000000000000000000000000000..c93a3d9f4d14418bbd5661bd625648e27181ece7 GIT binary patch literal 81330 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 EZ Date: Sat, 12 Sep 2026 05:40:50 +0200 Subject: [PATCH 30/35] fix more tests --- galaxy/wrapper/deepTools_macros.xml | 7 ++++++- galaxy/wrapper/plotCorrelation.xml | 4 +--- galaxy/wrapper/plotEnrichment.xml | 4 ---- galaxy/wrapper/plotPCA.xml | 4 +--- galaxy/wrapper/test-data/profiler_result1.tabular | 3 +++ 5 files changed, 11 insertions(+), 11 deletions(-) create mode 100644 galaxy/wrapper/test-data/profiler_result1.tabular diff --git a/galaxy/wrapper/deepTools_macros.xml b/galaxy/wrapper/deepTools_macros.xml index 1c31fe2fc1..1e2b9c13b5 100755 --- a/galaxy/wrapper/deepTools_macros.xml +++ b/galaxy/wrapper/deepTools_macros.xml @@ -553,7 +553,12 @@ is vital to you, select Yes below."> #end for #if len($files) > 0: --BED #echo ' '.join($files)# - --regionLabels #echo ' '.join($labels)# + --regionLabels + #if $advancedOpt.regionLabels: + $advancedOpt.regionLabels + #else: + #echo ' '.join($labels)# + #end if #end if ]]> diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 9acbc7b481..787e4987f0 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -12,9 +12,7 @@ --plotFile '$outFileName' --corMethod '$corMethod' #if $custom_sample_labels_conditional.custom_labels_select == 'Yes': - --labels - #for $label in $custom_sample_labels_conditional.labels - '$label' + --labels $custom_sample_labels_conditional.labels ## do not add quotes as the input might contain quotes #end for #end if --whatToPlot '$plotting_type.whatToPlot' diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index 1ee7d597fa..26c3c20c25 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -37,10 +37,6 @@ --labels '$advancedOpt.labels' #end if - #if $advancedOpt.regionLabels: - --regionLabels '$advancedOpt.regionLabels' - #end if - #if $advancedOpt.plotTitle: --plotTitle '$advancedOpt.plotTitle' #end if diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 4d42876ca7..449b68d4b5 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -11,9 +11,7 @@ --corData '$corData' --plotTitle '$plotTitle' #if $custom_sample_labels_conditional.custom_labels_select == 'Yes': - --labels - #for $label in $custom_sample_labels_conditional.labels - '$label' + --labels $custom_sample_labels_conditional.labels ## do not add quotes as the input might contain quotes #end for #end if --plotFile '$outFileName' diff --git a/galaxy/wrapper/test-data/profiler_result1.tabular b/galaxy/wrapper/test-data/profiler_result1.tabular new file mode 100644 index 0000000000..c6cab1174c --- /dev/null +++ b/galaxy/wrapper/test-data/profiler_result1.tabular @@ -0,0 +1,3 @@ +bin labels -0.0Kb 0.0Kb +bins 1.0 2.0 +bamCoverage_result4_bw_0 genes 2477942.875 2610260.125 From 2dbbaf7cf9f534bb435f2b703781eeebc3d5ad58 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Sat, 12 Sep 2026 12:30:27 +0200 Subject: [PATCH 31/35] Fix cheetah error in plotPCA and plotCorrelaton --- galaxy/wrapper/plotCorrelation.xml | 1 - galaxy/wrapper/plotPCA.xml | 1 - 2 files changed, 2 deletions(-) diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 787e4987f0..50087258f8 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -13,7 +13,6 @@ --corMethod '$corMethod' #if $custom_sample_labels_conditional.custom_labels_select == 'Yes': --labels $custom_sample_labels_conditional.labels ## do not add quotes as the input might contain quotes - #end for #end if --whatToPlot '$plotting_type.whatToPlot' #if str($plotting_type.whatToPlot) == 'heatmap': diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 449b68d4b5..14c49450e0 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -12,7 +12,6 @@ --plotTitle '$plotTitle' #if $custom_sample_labels_conditional.custom_labels_select == 'Yes': --labels $custom_sample_labels_conditional.labels ## do not add quotes as the input might contain quotes - #end for #end if --plotFile '$outFileName' --plotFileFormat '$outFileFormat' From fb882b404424d2c101287ecfa13de27f3e28dbc2 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Sat, 12 Sep 2026 13:01:51 +0200 Subject: [PATCH 32/35] fix --samplesLabels param in bamPEFragmentSize.xml --- galaxy/wrapper/bamPEFragmentSize.xml | 16 ++-------------- galaxy/wrapper/bigwigAverage.xml | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index 3b567bf86a..53051fb400 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -11,11 +11,7 @@ @BINARY@ @THREADS@ --bamfiles #echo " ".join($files) - #if $samplesLabel: - --samplesLabel #echo " ".join($samplesLabel) - #else: - --samplesLabel #echo " ".join($labels) - #end if + --samplesLabel #echo ' '.join($labels)# #if $histogram: --histogram '$histogram_outfile' --plotFileFormat '$outFileFormat' @@ -40,18 +36,10 @@ + - - - - - - Date: Sat, 12 Sep 2026 14:09:26 +0200 Subject: [PATCH 33/35] try image_diff --- galaxy/wrapper/plotPCA.xml | 2 +- galaxy/wrapper/plotProfiler.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 14c49450e0..7dbb88f68e 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -90,7 +90,7 @@ - + diff --git a/galaxy/wrapper/plotProfiler.xml b/galaxy/wrapper/plotProfiler.xml index f5c94b3a61..7a007589af 100644 --- a/galaxy/wrapper/plotProfiler.xml +++ b/galaxy/wrapper/plotProfiler.xml @@ -115,14 +115,14 @@ - + - + From 4e9e698ee8da9e847112c3842257cd60709dbb15 Mon Sep 17 00:00:00 2001 From: Pavankumar Videm Date: Sat, 12 Sep 2026 14:35:11 +0200 Subject: [PATCH 34/35] replace sim_size with image_diff --- galaxy/wrapper/bamPEFragmentSize.xml | 2 +- galaxy/wrapper/plotCorrelation.xml | 4 ++-- galaxy/wrapper/plotCoverage.xml | 4 ++-- galaxy/wrapper/plotEnrichment.xml | 2 +- galaxy/wrapper/plotFingerprint.xml | 4 ++-- galaxy/wrapper/plotHeatmap.xml | 6 +++--- galaxy/wrapper/plotPCA.xml | 4 ++-- galaxy/wrapper/plotProfiler.xml | 4 ++-- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/galaxy/wrapper/bamPEFragmentSize.xml b/galaxy/wrapper/bamPEFragmentSize.xml index 53051fb400..d6a8222aeb 100644 --- a/galaxy/wrapper/bamPEFragmentSize.xml +++ b/galaxy/wrapper/bamPEFragmentSize.xml @@ -86,7 +86,7 @@ - + diff --git a/galaxy/wrapper/plotCorrelation.xml b/galaxy/wrapper/plotCorrelation.xml index 50087258f8..31b4364e0f 100644 --- a/galaxy/wrapper/plotCorrelation.xml +++ b/galaxy/wrapper/plotCorrelation.xml @@ -118,7 +118,7 @@ - + @@ -126,7 +126,7 @@ - + diff --git a/galaxy/wrapper/plotCoverage.xml b/galaxy/wrapper/plotCoverage.xml index 053860e4d2..be59fc9d45 100644 --- a/galaxy/wrapper/plotCoverage.xml +++ b/galaxy/wrapper/plotCoverage.xml @@ -113,7 +113,7 @@ - + @@ -125,7 +125,7 @@ - + diff --git a/galaxy/wrapper/plotEnrichment.xml b/galaxy/wrapper/plotEnrichment.xml index 26c3c20c25..99575ca301 100644 --- a/galaxy/wrapper/plotEnrichment.xml +++ b/galaxy/wrapper/plotEnrichment.xml @@ -170,7 +170,7 @@ - + diff --git a/galaxy/wrapper/plotFingerprint.xml b/galaxy/wrapper/plotFingerprint.xml index a84e34529b..79f349ccfa 100644 --- a/galaxy/wrapper/plotFingerprint.xml +++ b/galaxy/wrapper/plotFingerprint.xml @@ -113,7 +113,7 @@ - + @@ -124,7 +124,7 @@ - + diff --git a/galaxy/wrapper/plotHeatmap.xml b/galaxy/wrapper/plotHeatmap.xml index 9cd841c0e2..81a7f99ac5 100644 --- a/galaxy/wrapper/plotHeatmap.xml +++ b/galaxy/wrapper/plotHeatmap.xml @@ -181,19 +181,19 @@ - + - + - + diff --git a/galaxy/wrapper/plotPCA.xml b/galaxy/wrapper/plotPCA.xml index 7dbb88f68e..b505e479d9 100644 --- a/galaxy/wrapper/plotPCA.xml +++ b/galaxy/wrapper/plotPCA.xml @@ -73,14 +73,14 @@ - + - +