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";