9364a4054ae5065f07014618eef211a85a4b8c1f jnavarr5 Wed Apr 15 13:07:01 2026 -0700 Have --force bypass the md5sum update check in genCC otto, no redmine. Co-Authored-By: Claude Opus 4.6 (1M context) diff --git src/hg/utils/otto/genCC/doGenCC.py src/hg/utils/otto/genCC/doGenCC.py index 3059a5b8ad6..170f1316cc4 100644 --- src/hg/utils/otto/genCC/doGenCC.py +++ src/hg/utils/otto/genCC/doGenCC.py @@ -281,30 +281,34 @@ outputHg19File.write("%s\t%s\t%s\t%s\t%s\t%s\t%s\n" % (chrom,chromStart,chromEnd, "\t".join(line[3:6]),chromStart,chromEnd,"\t".join(line[8:]))) print("hg19 genCC bed file completed. Total number of failed entries: "+str(n)) if skippedCoords > 0: print("Warning: "+str(skippedCoords)+" hg19 entries skipped due to inverted coordinates") def checkIfUpdateIsNeeded(): bash("wget -q 'https://thegencc.org/download/action/submissions-export-tsv?format=new' -O /hive/data/outside/otto/genCC/newSubmission.tsv") newMd5sum = bash("md5sum /hive/data/outside/otto/genCC/newSubmission.tsv") newMd5sum = newMd5sum.split(" ")[0] oldMd5sum = bash("md5sum /hive/data/outside/otto/genCC/prevSubmission.tsv") oldMd5sum = oldMd5sum.split(" ")[0] if oldMd5sum != newMd5sum: return(True) + elif args.force: + # Previous file matches current file, but update didn't go through + # because of itemCounts check. + return(True) else: return(False) def checkItemCounts(oldBb, newBb): """Compare item counts between old and new bigBed files. Exit if difference > 10%.""" oldItemCount = bash('bigBedInfo '+oldBb+' | grep "itemCount"') oldItemCount = int(oldItemCount.rstrip().split("itemCount: ")[1].replace(",","")) newItemCount = bash('bigBedInfo '+newBb+' | grep "itemCount"') newItemCount = int(newItemCount.rstrip().split("itemCount: ")[1].replace(",","")) if abs(newItemCount - oldItemCount) > 0.1 * max(newItemCount, oldItemCount): msg = "Item count difference >10% for "+newBb+": old="+str(oldItemCount)+" new="+str(newItemCount) if args.force: print("WARNING:\n "+msg+"\n\n (continuing due to QA approval)") else: sys.exit(msg)