9541aea4204c8079ea2e464403f2225f6aa33cfd max Mon Sep 14 07:59:00 2026 -0700 uniprot: show the splice variant track, and filter the CAT alignments Two things that were quietly missing. unipSplice has been built since the pipeline rewrite in #19351 and never had a trackDb stanza - "git log -S unipSplice" on uniprot.ra returns nothing, so it was never wired up rather than deliberately dropped. It holds UniProt's splice variant features, 28962 of them on hg38 and 29195 on hs1, and has been invisible on every assembly for years. Added to uniprot.ra and to the archive/contrib template, which is where the hub-served assemblies get their trackDb. The file exists on the same 131 assemblies as unipDomain.bb, so no stanza points at anything missing. The alignments on a CAT assembly were not being filtered with pslSelect. That filter maps a UniProt accession to the transcripts UniProt cross-references for it, and the README is blunt about how much it matters for protein families with nearly identical transcripts. It understood two kinds of id, Ensembl and RefSeq, and CAT names a transcript after its source gene, so hs1 matched neither and fell through unfiltered. Every row of the CAT bigBed carries the Ensembl transcript it was lifted from, so catSourceTransMap joins on that and UniProt's Ensembl cross-reference does the rest. The mapping had to become one-to-many for this: one Ensembl transcript can name several of ours, both because paralogs are lifted from the same source and because duplicate CAT names were given -dup suffixes earlier. It reproduces those suffixes by walking the bigBed in the same order rather than attaching every paralog to every source, which measured 234903 of 234903 hs1 transcripts mapped, no duplicates, against 330749 for the loose version. For every other gene track the lists hold one element and the behaviour is unchanged, which is checked: a single-valued entry still writes exactly one pair line and still counts a version difference, a multi-valued one writes a line per transcript, and an id we do not have is still skipped so pslSelect -qPass passes it through. refs #38300 diff --git src/hg/makeDb/trackDb/uniprot.ra src/hg/makeDb/trackDb/uniprot.ra index 1d03dd1e992..02a8e9aef8c 100644 --- src/hg/makeDb/trackDb/uniprot.ra +++ src/hg/makeDb/trackDb/uniprot.ra @@ -1,242 +1,254 @@ # if you modify this file, make sure that you also modify /hive/data/outside/otto/uniprot/uniprot.ra # which is the template for the hub in the archive/ on hgdownload. This hub is build for every release, # so users can open old versions of UniProt track uniprot shortLabel UniProt longLabel UniProt SwissProt/TrEMBL Protein Annotations group genes visibility hide type bigBed 12 + exonNumbers off compositeTrack on allButtonPair on urls uniProtId="http://www.uniprot.org/uniprot/$$#section_features" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" itemRgb on dataVersion /gbdb/$D/uniprot/version.txt hideEmptySubtracks on track unipAliSwissprot shortLabel SwissProt Aln. longLabel UCSC alignment of SwissProt proteins to genome (dark blue: main isoform, light blue: alternative isoforms) priority 1 parent uniprot visibility pack type bigPsl bigDataUrl /gbdb/$D/uniprot/unipAliSwissprot.bb searchIndex name,acc urls acc="https://www.uniprot.org/uniprot/$$" hgncId="https://www.genenames.org/cgi-bin/gene_symbol_report?hgnc_id=$$" refSeq="https://www.ncbi.nlm.nih.gov/nuccore/$$" refSeqProt="https://www.ncbi.nlm.nih.gov/protein/$$" ncbiGene="https://www.ncbi.nlm.nih.gov/gene/$$" entrezGene="https://www.ncbi.nlm.nih.gov/gene/$$" ensGene="https://www.ensembl.org/Gene/Summary?g=$$" labelFields name,acc,uniprotName,geneName,hgncSym,refSeq,refSeqProt,ensProt mouseOver UniProt record accession: $acc
Protein Name: $protFullNames
UniProt status: $status
itemRgb on #color 2,12,120 indelDoubleInsert on indelQueryInsert on baseColorTickColor contrastingColor baseColorUseCds given baseColorDefault genomicCodons showDiffBasesAllScales on # this is only for filtering, no need to show it skipFields isMain track unipAliTrembl shortLabel TrEMBL Aln. longLabel UCSC alignment of TrEMBL proteins to genome priority 2 parent uniprot off visibility hide type bigPsl bigDataUrl /gbdb/$D/uniprot/unipAliTrembl.bb searchIndex name,acc urls acc="https://www.uniprot.org/uniprot/$$" hgncId="https://www.genenames.org/cgi-bin/gene_symbol_report?hgnc_id=$$" refseq="https://www.ncbi.nlm.nih.gov/nuccore/$$" refSeqProt="https://www.ncbi.nlm.nih.gov/protein/$$" ncbiGene="https://www.ncbi.nlm.nih.gov/gene/$$" entrezGene="https://www.ncbi.nlm.nih.gov/gene/$$" ensGene="https://www.ensembl.org/Gene/Summary?g=$$" labelFields name,acc,uniprotName,geneName,hgncSym,refSeq,refSeqProt,ensProt mouseOver UniProt record accession: $acc
Protein Name: $protFullNames
UniProt status: $status
itemRgb on #color 0,150,250 indelDoubleInsert on indelQueryInsert on baseColorTickColor contrastingColor baseColorUseCds given baseColorDefault genomicCodons showDiffBasesAllScales on # this is only for filtering, no need to show it skipFields isMain track unipLocSignal shortLabel Signal Peptide longLabel UniProt Signal Peptides priority 3 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipLocSignal.bb color 255,0,150 itemRgb off filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt record name: $status
track unipLocExtra shortLabel Extracellular longLabel UniProt Extracellular Domain priority 4 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipLocExtra.bb color 0,150,255 itemRgb off filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status
track unipLocTransMemb shortLabel Transmembrane longLabel UniProt Transmembrane Domains priority 5 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipLocTransMemb.bb color 0,150,0 itemRgb off filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipLocCytopl shortLabel Cytoplasmic longLabel UniProt Cytoplasmic Domains priority 6 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipLocCytopl.bb color 255,150,0 itemRgb off filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipChain shortLabel Chains longLabel UniProt Mature Protein Products (Polypeptide Chains) priority 7 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipChain.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#ptm_processing" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipInterest shortLabel Interest longLabel UniProt Regions of Interest priority 4 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipInterest.bb itemRgb off filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status
track unipDomain shortLabel Domains longLabel UniProt Domains priority 8 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipDomain.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#family_and_domains" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipDisulfBond shortLabel Disulf. Bonds longLabel UniProt Disulfide Bonds priority 8 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipDisulfBond.bb filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipModif shortLabel AA Modifications longLabel UniProt Amino Acid Modifications priority 9 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipModif.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#aaMod_section" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipMut shortLabel Mutations longLabel UniProt Amino Acid Mutations priority 10 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipMut.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#pathology_and_biotech" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" variationId="http://www.uniprot.org/uniprot/$$" mouseOver UniProt record: $uniProtId
UniProt variant: $variationId
UniProt status: $status track unipStruct shortLabel Structure longLabel UniProt Protein Primary/Secondary Structure Annotations priority 11 parent uniprot group genes visibility hide type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipStruct.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#structure" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipOther shortLabel Other Annot. longLabel UniProt Other Annotations priority 11 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipOther.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#family_and_domains" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipRepeat shortLabel Repeats longLabel UniProt Repeats priority 12 parent uniprot visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipRepeat.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#family_and_domains" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status track unipConflict shortLabel Seq. Conflicts longLabel UniProt Sequence Conflicts priority 13 parent uniprot off visibility dense type bigBed 12 + bigDataUrl /gbdb/$D/uniprot/unipConflict.bb urls uniProtId="http://www.uniprot.org/uniprot/$$#Sequence_conflict_section" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status + track unipSplice + shortLabel Splice Variants + longLabel UniProt Splice Variants + priority 14 + parent uniprot + visibility dense + type bigBed 12 + + bigDataUrl /gbdb/$D/uniprot/unipSplice.bb + urls uniProtId="http://www.uniprot.org/uniprot/$$#sequences" pmids="https://www.ncbi.nlm.nih.gov/pubmed/$$" + filterValues.status Manually reviewed (Swiss-Prot),Unreviewed (TrEMBL) + mouseOver UniProt record: $uniProtId
Position: $position
UniProt status: $status + searchTable unipAliSwissprot searchType bigBed searchDescription UniProt/SwissProt manually curated Proteins mapped to the genome by UCSC searchTable unipAliTrembl searchType bigBed searchDescription UniProt/TrEMBL predicted Proteins mapped to the genome by UCSC