Skip to content

Releases: Deliverome-Project/accessible-surfaceome

v1.3.0 — Surfaceome 1.3

Choose a tag to compare

@beccajcarlson beccajcarlson released this 18 Oct 16:19
88a21ac

Code release accompanying data release 1.3.0 (10.5281/zenodo.23445521): 5,332 deep-dive records, the genome-wide triage and benchmark TSVs, preset membership, reproducibility replicates and figure source data.

What's Changed

  • fix(paper): drop the empty line above the Abstract heading in the PDF by @beccajcarlson in #207
  • fix: harden paper comment loading against D1 read-replica lag by @beccajcarlson in #208
  • docs: serve the DOI badge from shields.io by @beccajcarlson in #209
  • ci: add a weekly floor to the D1 backup; document skipping the LFS payload by @beccajcarlson in #210
  • docs: correct two stale claims in the agent guides and say which to read first by @beccajcarlson in #211
  • feat(viewer): show paper title, authors and journal for cited references by @beccajcarlson in #221
  • fix(paper): colour figure legends by sentence, not by line box by @beccajcarlson in #213
  • fix(audit): repair the venn generator's sha pin and a stale provenance path by @beccajcarlson in #214
  • feat(audit): Figure 1 becomes an UpSet; the Venn leaves the numbered set by @beccajcarlson in #215
  • fix(tools): SURFACE-Bind sites now report which side of the membrane they anchor on by @beccajcarlson in #218
  • fix(surface-proteome): repair purge-on-publish and close three API pass-through gaps by @beccajcarlson in #219
  • feat(tools): add a cohort-wide purge for the Worker's per-gene caches by @beccajcarlson in #223
  • fix(surface-proteome): namespace both cache tiers by the deploy epoch by @beccajcarlson in #222
  • fix(viewer): make the whole citation a link and stop the title shouting by @beccajcarlson in #225
  • fix(surface-proteome): pin the deploy epoch in cache-key tests by @beccajcarlson in #226
  • fix(deps): tighten the sharp override past the libheif advisories by @beccajcarlson in #228
  • fix(agents): restore internalization routes in the shared API by @beccajcarlson in #230
  • feat(audit): blog Venn with count-scaled labels (co-authored with @ndamania00) by @beccajcarlson in #227
  • chore(data): LFS-exempt every per-figure TSV so raw GitHub serves text by @beccajcarlson in #229
  • fix(agents): include paper metadata with internalization evidence by @beccajcarlson in #233
  • refactor(viewer): label surface reasons by pass count, not "classical" by @beccajcarlson in #236
  • docs: reconcile triage_benchmark_v1.md to the benchmark TSV (68/31/48) by @beccajcarlson in #238
  • feat(audit): SurfaceGenie SPC vs single-DB comparison on triage benchmark by @beccajcarlson in #237
  • feat(agents): extend the pubmed rescue lane to the intracellular buckets by @beccajcarlson in #239
  • feat(surface-proteome): backfill n_papers_found on D1-only records; add deep-dive homepage chip by @beccajcarlson in #240
  • fix(agents,build): fail on unmeasured topology + five data-destroying sweep bugs by @beccajcarlson in #241
  • fix(surface-proteome): gate the low-literature badge on the optimized UniProt cutoff by @beccajcarlson in #244
  • fix(viewer): read the low-literature badge from the Worker, drop the duplicate All chip by @beccajcarlson in #245
  • feat(surface-proteome): cohort funnel figure + fold the second rescue lane through every figure by @beccajcarlson in #246
  • feat(surface-proteome): serve optimized UniProt + CSPA membership everywhere by @beccajcarlson in #247
  • fix(agents): stop a cohort paralog release shadowing the global one; second look for every droppable gene by @beccajcarlson in #249
  • chore(audit): regenerate every figure on the completed 5,333-record cohort by @beccajcarlson in #248
  • fix(viewer): separate triage and deep-dive reason columns, add narrowed pill by @beccajcarlson in #252
  • fix(tools): purge the cohort cache surfaces a public-D1 sync stales by @beccajcarlson in #253
  • fix(audit): correct S8/S11 figure colours and refresh stale README counts by @beccajcarlson in #254
  • fix(audit): label S12's percentage curves, and stop its README describing mock data by @beccajcarlson in #255
  • docs(audit): mirror the manuscript figure legends into every gist README by @beccajcarlson in #256
  • fix(audit): collapse benchmark replicates on the modal reason, not row order by @beccajcarlson in #257
  • feat(audit): figure — which assays established the surface calls, and how often each stood alone by @beccajcarlson in #258
  • fix(audit): Figure 5a — x-axis title, tier grouping brackets, uncertain repositioned by @beccajcarlson in #260
  • fix(audit): Figure 6 — label the y axes, drop the figure title by @beccajcarlson in #261
  • feat(audit): Supp S12 panel b — deep-dive tier composition by literature-size stratum by @beccajcarlson in #262
  • fix(audit): Supp S12a — drop the iso-rate diagonals, raise point opacity by @beccajcarlson in #263
  • chore(audit): refresh every rendered figure; lower S12a point opacity by @beccajcarlson in #264
  • feat(surface-proteome): public record history and numbered data releases by @beccajcarlson in #259
  • fix(audit): Figure 4 — give the composite the slug, so by_paper_number ships a PNG by @beccajcarlson in #265
  • fix(audit): Figure 4 — stop calling the stage-2 set "zero-database" by @beccajcarlson in #266
  • perf(surface-proteome): record-history R2 writes via S3 and batched, throttled D1 by @beccajcarlson in #267
  • fix(audit): Figure 4 — break the stage-2 set out by database support by @beccajcarlson in #270
  • fix(surface-proteome): never cache or archive a record whose serve-time enrichment failed by @beccajcarlson in #271
  • fix(surface-proteome): pace record-history sweeps so they can't overload public D1 by @beccajcarlson in #273
  • fix(viewer): keep catalog-header InfoTips legible inside the table scroll box by @beccajcarlson in #274
  • fix(viewer): pace the build's API fetches and never bake a degraded record by @beccajcarlson in #275
  • perf(surface-proteome): stop full scans on the Worker's hot D1 lookups by @beccajcarlson in #277
  • fix(audit): order Figure 3's contextual bars by count by @beccajcarlson in #272
  • fix(audit): add the union (>=1 DB) bar to supplementary figure S5 by @beccajcarlson in #276
  • chore(audit): refresh Figure 7 with current viewer screenshots by @beccajcarlson in #278
  • feat(audit): make Figure 7 reproducible and ship it as PDF + PNG by @beccajcarlson in #280
  • fix(surface-proteome): history holds only serv...
Read more

v1.2.0 — documentation, tooling, and reproducibility

Choose a tag to compare

@beccajcarlson beccajcarlson released this 09 Sep 04:25
c13aed0

Documentation, tooling, and reproducibility release. No change to the data, the records, or the API contract — the atlas is the same 5,130 deep-dive records (1,782 canonical · 1,243 likely · 973 low · 1,078 no · 54 uncertain).

Breaking for scripts

  • scripts/ is reorganized by role: entry points stay at the top level, everything else moved into figures/, build/, audit/, cloud/, probes/, tsv-export/, release/, archive/.
  • scripts/surfaceome_v2_annotate.py is now scripts/annotate_gene.py. There is no v1 entry point; the version in the old name only leaked implementation detail.

Fixed

  • Repo-root resolution. Every relocated script computed parents[1], which after the move resolved to scripts/ rather than the repo root, so they read and wrote paths like scripts/data/processed/…. Swept all 113 Python scripts and the shell equivalents.
  • D1 → R2 backup, which had failed silently on every run since 2026-06-29: the surfaceome_agents dump (2.16 GiB) exceeded wrangler's 300 MiB upload cap. Now gzipped, split into 250 MiB parts, checksum-verified before upload, with a latest.manifest.json pointer and a restore recipe.
  • TTFB monitor, which had never measured latency — it was timing a Cloudflare bot challenge. Now probes the platform hostnames.
  • Two builder scripts began real work on --help; setup-git-hooks.sh --help would have rewritten core.hooksPath.

Documentation

The README is rewritten around the manuscript's own framing, and now describes only fields that exist — the previous version documented a surface_status field with six graded values that is null in every record. Added CONTRIBUTING.md. LICENSING.md now carries a per-source table with real, checkable licences and an honest account of which upstream files are committed verbatim. Corrected HPA to CC BY 4.0, and SURFACE-Bind to the BSD-3-Clause repo we actually ingest.

Across the tree: 0 broken relative links in 137 markdown files (from 63), every referenced script path resolves or is marked removed, and stale "PRELIMINARY — ~1,197 of ~5,128 swept" claims are gone from a sweep that finished long ago.

Figures

Two published figure gists were still headed "MOCK figure" while their data was real, and four carried pre-renumbering figure numbers. Corrected and republished; 19 of 21 gists re-synced.

Full changelog

v1.1.0...v1.2.0

Surfaceome 1.1 — figure corrections & provenance

Choose a tag to compare

@beccajcarlson beccajcarlson released this 04 Sep 17:05
3f588d0

Revised figure release accompanying the manuscript update.

Changes since v1.0.0

  • Supplementary Figure S14 regenerated: rotated facet labels (no overlap), larger/bold value labels via the Manrope brand font, legend title removed. No data or numbers changed — layout only. Canonical generator and gist mirror kept in sync (drift-guard test passes).
  • Supplementary figures renumbered to citation order: S3⇄S4 (curator-vs-agent ⇄ cutoff-tradeoff) and S11⇄S12 (deep-dive-vs-Sonnet ⇄ corpus-vs-selected), applied across paper/figure_index.md, build_figure_index.py (FIGURE_ORDER), and the by_paper_number/ symlinks.
  • Added data/analysis/figures/figure_swhids.json — a reader-facing map of figure number → slug → Software Heritage ID → gist URL, for the manuscript's data-availability section.

Figure data and per-figure Software Heritage IDs: see data/analysis/figures/figure_swhids.json and paper/figure_index.md.

v1.0.0 — Surfaceome 1.0

Choose a tag to compare

@beccajcarlson beccajcarlson released this 26 Aug 19:04
9f28b49

First tagged release of accessible-surfaceome — the pipeline, agents, and web viewer behind surfaceome.deliverome.org.

Version 1.0.0 corresponds to Surfaceome 1.0 as described in the accompanying manuscript.

What this is

Five public surface-protein resources — UniProt, GO Cellular Component, the Human Protein Atlas, the Cell Surface Protein Atlas, and SURFY — disagree substantially about which proteins reach the cell surface, agreeing on only 188. This repository builds a reconciled atlas:

  • a tool-free triage agent classifies every protein-coding human gene for surface accessibility, rescuing 960 candidates absent from all five source databases;
  • a literature-anchored deep-dive pipeline turns each candidate into a structured, evidence-cited record with per-claim citations;
  • deterministic feature builders cover orthology, paralogs, isoforms, membrane topology, AlphaFold structure, candidate binding sites, and homo-oligomerization;
  • a Cloudflare Worker + public API and a React viewer make the whole thing queryable, with full LLM reasoning exposed rather than hidden.

The deep-dived cohort (N = 5,130) resolves to roughly 1,782 canonical and 1,243 likely surface calls.

Citing

Cite the concept DOI when you mean the software in general; cite this release's version DOI when you mean the exact snapshot you ran against. CITATION.cff carries the machine-readable form.

Underlying data are deposited separately at 10.5281/zenodo.20805383 (CC BY 4.0). Code is MIT.

Acknowledgements

Supported by the Astera Institute and Anthropic. Deliverome Bio received API credits through the Claude AI for Science program for this project.