2447f79454d20c9ffaf4a90f446a541af2b5ca7d hiram Tue Aug 2 12:32:07 2022 -0700 should not be outputting zero length items refs #29796 diff --git src/utils/bedSingleCover.pl src/utils/bedSingleCover.pl index 3e64b4d..76407e3 100755 --- src/utils/bedSingleCover.pl +++ src/utils/bedSingleCover.pl @@ -28,34 +28,32 @@ my $prevEnd = 0; my $start = 0; my $end = 0; my $size = 0; if ($bedFile =~ m/^stdin$/) { open (FH, "grep -v '^ *#' /dev/stdin | sort -k1,1 -k2,2n |") or die "can not read /dev/stdin"; } else { open (FH, "grep -v '^ *#' $bedFile | sort -k1,1 -k2,2n|") or die "can not read $bedFile"; } while (my $line = <FH>) { chomp $line; my ($c, $s, $e, $rest) = split('\s+', $line, 4); $size = $end - $start; if (length($chr) > 1) { if ($chr ne $c) { - printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size; + printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size if ($size > 0); $chr = $c; $start = $s; $end = $e; } else { if ($s <= $end) { $end = $e if ($e > $end); } else { - printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size; + printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size if ($size > 0); $chr = $c; $start = $s; $end = $e; } } } else { $chr = $c; $start = $s; $end = $e; } } $size = $end - $start; -if ($size > 0) { - printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size; -} +printf "%s\t%d\t%d\t%d\n", $chr, $start, $end, $size if ($size > 0); close (FH);