26d45e650717542b662ab602aa4d9a37dda67885 markd Wed Nov 9 19:14:57 2022 -0800 generate error if a chromsome in first column of chromAlias is not in chromSizes instead of spew perl warnings diff --git src/hg/utils/automation/aliasTextToBed.pl src/hg/utils/automation/aliasTextToBed.pl index ba33a60..7728a02 100755 --- src/hg/utils/automation/aliasTextToBed.pl +++ src/hg/utils/automation/aliasTextToBed.pl @@ -98,30 +98,33 @@ printf AS " )\n"; close (AS); printf STDERR "# indexNames: '%s'\n", $indexNames; open (BD, "|sort -k1,1 -k2,2n>$opt_aliasBed") or die "can not write to $opt_aliasBed"; while (my $line = ) { chomp $line; my @a = split('\t', $line, -1); # the -1 keeps all empty fields too if (scalar(@a) != $expectFieldCount) { printf STDERR "ERROR: expected field count %d =! %d on line %d\n", $expectFieldCount, scalar(@a), $.; exit 255; } my $nameIndex = 0; + if (! exists $chromSizes{$a[$nameIndex]}) { + die("sequence '$a[$nameIndex]' not found in chromSizes") + } printf BD "%s\t0\t%d", $a[$nameIndex], $chromSizes{$a[$nameIndex]}; foreach my $name (@a) { printf BD "\t%s", $a[$nameIndex++]; } printf BD "\n"; } close (FH); close (BD); printf STDERR "bedToBigBed -tab -type=bed3+5 -as=$opt_aliasAs -extraIndex=$indexNames $opt_aliasBed $opt_chromSizes $opt_aliasBigBed\n"; print `bedToBigBed -tab -type=bed3+5 -as=$opt_aliasAs -extraIndex=$indexNames $opt_aliasBed $opt_chromSizes $opt_aliasBigBed`; __END__ # ucsc assembly genbank ncbi refseq