Skip to content

Match what VFB's loaders and indexers expect of scRNAseq files - #100

Merged
Clare72 merged 1 commit into
mainfrom
vfb-load-compat
Oct 22, 2026
Merged

Clare72 merged 1 commit into
mainfrom
vfb-load-compat

Conversation

@Clare72

@Clare72 Clare72 commented Oct 22, 2026

Copy link
Copy Markdown
Contributor

This makes our OWL behave like the old FlyBase/SCEA files in VFB's pipeline, indexer and VFBquery. I checked against VFB production and the VFBquery / indexer / pipeline code.

Changes

  • Dataset licence: now VFB's License node vfb:VFBlicense_CC_BY_4_0 instead of the CC URL. Term info reads the licence logo and link from that node; with the URL, the licence would be missing. An unknown config licence now fails the build.
  • Dataset node labels: DataSet, scRNAseq_DataSet and hasScRNAseq (neo_label is now multivalued). The pipeline (vfb-pipeline-polishing) sets the two scRNAseq labels only on FBlc datasets. VFBquery's scRNAseq queries depend on them, and so do the hasScRNAseq labels the pipeline then adds to cell types and genes.
  • hide_in_terminfo: now typed xsd:boolean. The term-info indexer compares it with true, so a plain string would list every expressed gene in a cluster's term info.
  • expression/FBgn_list.txt: every gene in the expression output (15,516). It's written by scripts/write_fbgn_list.py, and CI checks it's current. It's for VirtualFlyBrain/vfb-scRNAseq-gene-annotations, which builds VFB's Gene classes and their function labels.
  • scripts/emit_expression_owl.py: re-emits the expression OWL from the committed expression.tsv, with no matrices needed.

Rebuilt outputs

  • All 17 expression OWLs were re-emitted. The only change is the boolean typing; Mokashi was diffed line by line.
  • All metadata was rebuilt. The only changes are the licence and the two labels, plus an unused GENO prefix declaration in five files. No ids changed.

Docs: DESIGN (What VFB's loaders and indexers expect, CI, release layout) and the expression README.

Checks: pytest (101), validate_project_files.py, check_mapping_tsv.py, write_fbgn_list.py --check: all pass.

Related PRs

File collection (which pipeline picks up these files under which names) is still to do.

🤖 Generated with Claude Code

Checked against VFB production and VFBquery (the old FlyBase/SCEA files
did the same):
- Dataset licence: VFB's License node vfb:VFBlicense_CC_BY_4_0, not the
  licence URL (term info reads the logo and link from that node).
- Dataset node labels scRNAseq_DataSet and hasScRNAseq (neo_label is now
  multivalued): the pipeline set them only on FBlc datasets, and VFBquery's
  scRNAseq queries and the hasScRNAseq labels on cell types and genes
  depend on them.
- hide_in_terminfo typed xsd:boolean: the term-info indexer compares it
  with true, so a string would list every gene in a cluster's term info.
- expression/FBgn_list.txt (scripts/write_fbgn_list.py, checked in CI) for
  VFB's scRNAseq gene ontology.
- scripts/emit_expression_owl.py re-emits the expression OWL from the
  committed expression.tsv; all 17 re-emitted (only the boolean changed)
  and all metadata rebuilt (only licence and labels changed).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Clare72
Clare72 merged commit 6a24798 into main Oct 22, 2026
1 check passed
@Clare72
Clare72 deleted the vfb-load-compat branch October 22, 2026 10:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant