c8c1b1a9adac6dfa7a869326ca3f774a724a50db lrnassar Fri Sep 4 17:51:48 2026 -0700 Document the RefSeq Historical protein table build and add a reminder to the notifier. The historical rna.gbff we already download carries a /translation for every coding record, and gbProcess has a -pepFa flag that writes them out, so this is one extra pass over a file we have rather than a new download. Adds the build steps to the RS_2024_08 makedoc section, and two lines to the weekly notifier so the next refresh does not leave the protein table behind. refs #38248 diff --git src/hg/utils/otto/refSeqHistorical/checkRefSeqHistoricalUpdate.sh src/hg/utils/otto/refSeqHistorical/checkRefSeqHistoricalUpdate.sh index e00b04aadb4..1ea39964e98 100755 --- src/hg/utils/otto/refSeqHistorical/checkRefSeqHistoricalUpdate.sh +++ src/hg/utils/otto/refSeqHistorical/checkRefSeqHistoricalUpdate.sh @@ -1,47 +1,49 @@ #!/bin/bash # checkRefSeqHistoricalUpdate.sh -- weekly notifier (RM #35766). # Emails the otto MAILTO ONLY if NCBI has published a GRCh38 RefSeq historical # release newer than the one we've already handled. Silent (no output, so cron # sends no mail) when there is nothing new. # # NCBI names each release dir GCF_000001405.40-RS_YYYY_MM_historical/, and the # RS_YYYY_MM tag sorts lexically = chronologically. # # To silence after updating the track: set the new tag in lastHandledRelease.txt. # Build steps live in the RS_YYYY_MM sections of: # kent/src/hg/makeDb/doc/hg38/ncbiRefSeq.txt set -o pipefail cd /hive/data/outside/otto/refSeqHistorical || exit 1 baseUrl="https://ftp.ncbi.nlm.nih.gov/refseq/H_sapiens/historical/GRCh38/" handled=$(tr -d '[:space:]' < lastHandledRelease.txt 2>/dev/null) # NCBI's FTP/HTTPS server fails sporadically; retry a few times before giving # up, so a transient blip does not turn into a false "couldn't reach" mail. listing="" for attempt in 1 2 3 4 5; do listing=$(wget -q -O - "$baseUrl") && [ -n "$listing" ] && break listing="" sleep 30 done if [ -z "$listing" ]; then echo "refSeqHistorical check: could not reach $baseUrl after 5 attempts" exit 1 fi latest=$(echo "$listing" | grep -oE 'RS_[0-9]{4}_[0-9]{2}' | sort -u | tail -1) if [ -z "$latest" ]; then echo "refSeqHistorical check: no RS_* release tags found at $baseUrl (page format changed?)" exit 1 fi if [[ "$latest" > "$handled" ]]; then echo "New RefSeq historical release available for hg38: $latest (we have: ${handled:-none})" echo "Source: $baseUrl" echo "Build steps: RS_YYYY_MM section in kent/src/hg/makeDb/doc/hg38/ncbiRefSeq.txt" echo "Do not forget /gbdb/hg38/ncbiRefSeq/ncbiRefSeqHistoricalVersion.txt, the" echo "track's own version string -- last step of that makedoc section." + echo "Also rebuild ncbiRefSeqPepTableHistorical (the gbProcess -pepFa step)" + echo "or HGVS protein terms on newly deprecated accessions will not resolve." echo "To silence: set $latest in /hive/data/outside/otto/refSeqHistorical/lastHandledRelease.txt. refs #35766" fi exit 0