Skip to content

Add a global phosphosite reference builder - #484

Open
jjacobson95 wants to merge 1 commit into
genes-ensembl-resiliencefrom
phosphosites-reference-builder
Open

jjacobson95 wants to merge 1 commit into
genes-ensembl-resiliencefrom
phosphosites-reference-builder

Conversation

@jjacobson95

Copy link
Copy Markdown
Collaborator

Pipeline Hardening/Debugging PR # 6

Add a global phosphosite reference builder

Adds a new reference builder that produces phosphosites.csv, a master list of human phosphorylation sites. It works like the existing gene reference (genes.csv): dataset omics pipelines use it to map raw phosphoproteomics measurements to stable, consistent site identifiers. It is currently used by the cNF dataset, but is built as a standalone reference so any future dataset can use it.

What it builds (00-buildPhosphositeFile.py, 589 lines)

  • Merges phosphosites from three sources in priority order, so a site already defined by a higher-priority source is never overwritten by a lower one (de-duplicated on the site identifier):
    1. Ochoa et al. (2020), Nat Biotechnol 38:365-373, Supplementary Table S3: ~116k curated human phosphosites (downloaded from Springer).
    2. UniProt PTM annotations via the UniProt REST API: ~12k additional sites not present in Ochoa.
    3. Synapse supplement(s): raw phosphoproteomics files on Synapse (default syn70078415, the cNF raw phospho data): ~188 additional experiment-specific sites not yet in either database.
  • Looks up gene symbols for UniProt accessions through the UniProt REST API, and maps to Entrez IDs using the project genes.csv.

Stable identifiers across builds

  • Each site gets a phosphosite_id. Passing the previous run's file with --prev preserves existing IDs so downstream identifiers stay stable from build to build.
  • Output columns: phosphosite_id, entrez_id, gene_symbol, residue, position, modification, other_id. The other_id column stores the human-readable site string (for example AAAS-S495s) and is the join key for raw phospho data.

Configuration and packaging

  • Source URLs, the Synapse supplement IDs, the site-column name, and the previous-file path are all command-line options, so sources can be updated without code changes.
  • Adds the container image (Dockerfile.phosphosites), the build entrypoint (build_phosphosites.sh), and a README.md documenting the sources, site notation, and output columns.

Scope: 4 files, all new. Base: genes-ensembl-resilience. The genes step must run before this so gene-to-Entrez mapping is available.

@jjacobson95 jjacobson95 added new data Request for additional data to be added enhancement New feature or request labels Sep 22, 2026
@jjacobson95 jjacobson95 modified the milestones: 2.3 new build, 2.4 new build Sep 22, 2026
@sgosline

Copy link
Copy Markdown
Member

I thought we weren't doing phosphosites this build?

@jjacobson95 jjacobson95 modified the milestones: 2.4 new build, 2.5 Sep 23, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request new data Request for additional data to be added

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants