Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
0ea6465
Fix enum value limit to match Synapse API constraint
BelindaBGarana Jan 20, 2026
a54496c
Add conditional enum filtering for model systems
BelindaBGarana Jan 20, 2026
f2194e6
Implement conditional enum filtering for modelSystemName field
BelindaBGarana Jan 21, 2026
982a84e
Update JSON schemas
BelindaBGarana Jan 21, 2026
cf5105d
Fix handling of nullable types in JSON Schema entity view creation
BelindaBGarana Jan 21, 2026
44b418b
Remove enum_values from entity view columns to fix 64KB row size limit
BelindaBGarana Jan 21, 2026
dd565d2
Delete existing file views before creating new ones
BelindaBGarana Jan 21, 2026
6408074
Reduce column maximum_size values to fit within 64KB row limit
BelindaBGarana Jan 21, 2026
6a98884
Further reduce column sizes to fit within 64KB limit (was 494 bytes o…
BelindaBGarana Jan 21, 2026
3a28a88
Delete existing curation tasks before creating new ones
BelindaBGarana Jan 21, 2026
2a1326f
Add conditional enum filtering for individualID field
BelindaBGarana Jan 21, 2026
91c6c4a
Fix import error in curation task cleanup logic
BelindaBGarana Jan 21, 2026
2c54bb5
Fix CurationTask method name - use list() instead of get_all()
BelindaBGarana Jan 21, 2026
1e03e40
Add enum_values back for small enum fields to enable dropdowns
BelindaBGarana Jan 21, 2026
1243d17
Add logical field ordering for curator grid UX
BelindaBGarana Jan 21, 2026
ce917af
Make filter fields required for conditional dropdown workflow
BelindaBGarana Jan 21, 2026
e1a738e
Regenerate schemas with required filter fields and individualID condi…
BelindaBGarana Jan 21, 2026
d443602
Add testing mode notice for schema binding
BelindaBGarana Jan 21, 2026
2a9a4d6
Revert testing mode - restore normal schema binding
BelindaBGarana Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 15 additions & 12 deletions .github/workflows/weekly-model-system-sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,16 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install synapseclient pyyaml
pip install synapseclient pyyaml pandas

- name: Sync model system data
- name: Sync model system data with conditional filtering
run: |
python utils/sync_model_systems.py --synapse-id ${{ env.SYNAPSE_TABLE_ID }}
python utils/sync_model_systems_enhanced.py --synapse-id ${{ env.SYNAPSE_TOOLS_TABLE_ID }}

- name: Check for changes
id: changes
run: |
if [[ $(git status --porcelain modules/Sample/CellLineModel.yaml modules/Sample/AnimalModel.yaml modules/Experiment/Antibody.yaml modules/Experiment/GeneticReagent.yaml) ]]; then
if [[ $(git status --porcelain modules/Sample/CellLineModel.yaml modules/Sample/AnimalModel.yaml modules/Sample/generated/*.yaml modules/Experiment/Antibody.yaml modules/Experiment/GeneticReagent.yaml) ]]; then
echo "changes=true" >> $GITHUB_OUTPUT
echo "Changes detected in model system and tool files"
else
Expand Down Expand Up @@ -74,38 +74,41 @@ jobs:
commit-message: "chore: weekly sync of model system names and tool links from Synapse"
title: "Weekly Model System Sync with Tool Links - ${{ steps.date.outputs.date }}"
body: |
This PR contains the weekly sync of model system names and tool links from the NFTC truth tables.
This PR contains the weekly sync of model system names and tool links from the NFTC truth tables with conditional enum filtering.

**Sources:**
- Model systems: `${{ env.SYNAPSE_TABLE_ID }}`
- Tool links: `${{ env.SYNAPSE_TOOLS_TABLE_ID }}`
- Model systems and tools: `${{ env.SYNAPSE_TOOLS_TABLE_ID }}`

**Sync Date:** ${{ steps.date.outputs.date }}

### Changes Made:
- Updated cell line models in `modules/Sample/CellLineModel.yaml`
- Updated animal models in `modules/Sample/AnimalModel.yaml`
- Generated filtered enum subsets in `modules/Sample/generated/*.yaml`
- Updated antibodies in `modules/Experiment/Antibody.yaml`
- Updated genetic reagents in `modules/Experiment/GeneticReagent.yaml`
- Added/updated `source` links to NF Tools Central detail pages
- Rebuilt data model artifacts (`NF.jsonld`, `dist/NF.yaml`)

### Files Modified:
- `modules/Sample/CellLineModel.yaml`
- `modules/Sample/AnimalModel.yaml`
- `modules/Sample/CellLineModel.yaml` (638 cell lines)
- `modules/Sample/AnimalModel.yaml` (123 animal models)
- `modules/Sample/generated/*.yaml` (29 filtered enum subsets)
- `modules/Experiment/Antibody.yaml`
- `modules/Experiment/GeneticReagent.yaml`
- `NF.jsonld`
- `dist/NF.yaml`

### What This Includes:
- ✅ Cell line and animal model names from NFTC database (syn26450069)
- ✅ Antibody and genetic reagent resources from NF Tools Central (syn51730943)
- ✅ Cell line and animal model names from NF Tools Central (syn51730943)
- ✅ Filtered enum subsets based on species, category, and genetic disorder (all <100 entries)
- ✅ Antibody and genetic reagent resources from NF Tools Central
- ✅ Source links to NF Tools Central detail pages (using `source` field)
- ✅ RRID identifiers where available
- ✅ Rich metadata including cellLineCategory and cellLineGeneticDisorder
- ✅ Descriptions from database

This sync ensures that the metadata dictionary stays current with the latest cell lines and animal models available in the NFTC research tools database, including proper attribution links.
This sync ensures that the metadata dictionary stays current with the latest cell lines and animal models available in the NFTC research tools database, including proper attribution links and conditional filtering support for the Synapse curator grid.

**Automated sync via:** `.github/workflows/weekly-model-system-sync.yml`
branch: sync/model-systems-${{ steps.date.outputs.date-short }}
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ __pycache__/
*.py[cod]
*$py.class
.pytest_cache/
*_cache.yaml

# R / R Studio stuff
.Rproj.user/
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ NF.jsonld:


NF.yaml:
yq eval-all '. as $$item ireduce ({}; . * $$item )' header.yaml modules/props.yaml modules/**/*.yaml > merged.yaml
yq eval-all '. as $$item ireduce ({}; . *+ $$item )' header.yaml modules/props.yaml modules/**/*.yaml > merged.yaml
yq 'del(.. | select(has("annotations")).annotations)' merged.yaml > merged_no_extra_meta.yaml
yq 'del(.. | select(has("enum_range")).enum_range)' merged_no_extra_meta.yaml > merged_no_inlined_range.yaml
yq 'del(.. | select(has("in_subset")).in_subset)' merged_no_inlined_range.yaml > dist/NF.yaml
Expand Down
Loading
Loading