5cbd092e2deb2869385fc3203282ac6c91337048 chmalee Tue Apr 20 10:27:40 2021 -0700 Allow different messages for each side of a relationship in the relatedTracks section of hgc/hgTrackUi. Enforce two lines per relationship in relatedTracks.ra in order to allow this, refs #25721 diff --git src/hg/makeDb/trackDb/buildRelatedTracks src/hg/makeDb/trackDb/buildRelatedTracks index c6140a8..f626184 100755 --- src/hg/makeDb/trackDb/buildRelatedTracks +++ src/hg/makeDb/trackDb/buildRelatedTracks @@ -11,21 +11,27 @@ if [ $# -lt 2 ] ; then echo "wrong # args" >&2 usage >&2 exit 1 fi tbl="$1"; shift; for db in $*; do set +e grep -wq "^$db" relatedTracks.ra &> /dev/null if [ $? -eq 0 ] then set -e + # enfore two lines per relationship: + uniqTables=$(comm -3 <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f2 | sort) <(grep -w "^$db" relatedTracks.ra | cut -d' ' -f3 | sort) | wc -l) + if [ $uniqTables -gt 0 ]; then + printf "ERROR: mismatched primary and secondary related tracks for '%s'\n" "$db" + exit 255 + fi grep -w "^$db" relatedTracks.ra | cut -d' ' -f2- \ | sed -e 's/ /\t/' -e 's/ /\t/' | sort -k1 -k2 \ | hgLoadSqlTab "$db" "$tbl" ~/kent/src/hg/lib/relatedTrack.sql stdin printf "done building relatedTrack table for %s\n" "$db" fi done