d2be4681e2c8493bf9dfe755037e76d2b784e9ff max Thu Sep 10 05:24:00 2026 -0700 uniprot otto: bigPslUniprot.as was missing the isMain field The committed .as declared 46 fields while doUniprot writes 47: pslToBigPsl() appends isMainStr as the last column (doUniprot line 1331, "primary sequence" or "alternative isoform"), and trackDb/uniprot.ra refers to it twice as "skipFields isMain". The field has been missing from this file since at least 2021; the copy in /hive/data/outside/otto/uniprot had been fixed by hand and never committed, which is why runs kept working and nobody noticed. I broke the running update by rsyncing this stale copy over the working one, and bedToBigBed stopped with "Expecting 46 words line 1 ... got 47" after the parse had already finished. Adding the field to the tree copy fixes both the immediate failure and the drift. Verified against the input that failed: bedToBigBed now writes 44142 records with 47 fields and both extra indexes, every record has exactly 47 columns, isMain reads back as 21362 "primary sequence" and 22780 "alternative isoform", and all eleven fields named by uniprot.ra's labelFields, mouseOver and skipFields resolve in the result. refs #38300 diff --git src/hg/utils/otto/uniprot/bigPslUniprot.as src/hg/utils/otto/uniprot/bigPslUniprot.as index 8562a3d2429..9f39faddf23 100644 --- src/hg/utils/otto/uniprot/bigPslUniprot.as +++ src/hg/utils/otto/uniprot/bigPslUniprot.as @@ -42,17 +42,18 @@ lstring protShortNames; "UniProt protein short name" lstring protAltFullNames; "UniProt alternative names" lstring protAltShortNames; "UniProt alternative short names" lstring geneName; "UniProt gene name" lstring geneSynonyms; "UniProt gene synonyms" lstring functionText; "UniProt function" lstring hgncSym; "HGNC Gene Symbol" lstring hgncId; "HGNC IDs" lstring refSeq; "RefSeq Transcript IDs" lstring refSeqProt; "RefSeq Protein IDs" lstring entrezGene; "NCBI Gene IDs" lstring ensGene; "Ensembl Gene IDs" lstring ensProt; "Ensembl Protein IDs" lstring ensTrans; "Ensembl Transcript IDs" + string isMain; "Whether this is the primary sequence of the UniProt record or an alternative isoform" )