3be68b967d3ef0f9ecfd37021c4d60f6c8ee6352 kate Wed Apr 15 14:46:59 2020 -0700 Add user script to compute max category value in barChart bed. refs #25373 diff --git src/utils/barChartMaxLimit/barChartMaxLimit src/utils/barChartMaxLimit/barChartMaxLimit new file mode 100755 index 0000000..62b98d1 --- /dev/null +++ src/utils/barChartMaxLimit/barChartMaxLimit @@ -0,0 +1,41 @@ +#!/usr/bin/env perl + +# barChartMaxLimit +# +# Print max category value in barChart file +# +# usage: barChartMaxLimit <barChart.bed> + +use strict; +use warnings; + +#use English; # for built-in variable names, use awk names +#use POSIX; +#use feature 'say'; # append newline to prints +#use autodie; + +if (@ARGV != 1) { + die "usage: barChartMaxLimit file.bed\n\n" . + "Get maxLimit setting (maximum category value) from barChart bed file\n"; +} + +our $file = $ARGV[0]; + +local $SIG{__WARN__} = sub { + my $message = shift; + print "Format error in barChart bed file '$file'.\n"; + die $message; + }; + +my $maxLimit = 0; +open(my $fh, '<', $file) or die ("Can't open file '$file' for reading\n"); +while (<$fh>) { + my ($chrom, $start, $end, $name, $score, $strand, $name2, $expCount, $expScores) = split; + my @values = split(',', $expScores); + foreach my $i (@values) { + if ($i > $maxLimit) { + $maxLimit = $i; + } + } +} +print "$maxLimit\n";