Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
f840eda
Update performance test results [skip ci]
actions-user Nov 7, 2025
04dd76d
Add ImagesThatDevelopFrom and epFrag queries with corresponding tests…
Robbie1977 Nov 7, 2025
5962caa
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 7, 2025
46c3529
Update performance test results [skip ci]
actions-user Nov 7, 2025
312b0f3
Update VFB Queries Reference with Owlery pattern completion status an…
Robbie1977 Nov 7, 2025
183cb43
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 7, 2025
3f64009
Update performance test results [skip ci]
actions-user Nov 7, 2025
bd3c6ab
Update VFB Queries Reference and improve IRI handling in Owlery queries
Robbie1977 Nov 7, 2025
e6596a0
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 7, 2025
b6863bc
Update epFrag query status to fully implemented and working, fixing I…
Robbie1977 Nov 7, 2025
5d3f313
Update performance test results [skip ci]
actions-user Nov 7, 2025
ba94570
Implement neuron-neuron connectivity query and add corresponding tests
Robbie1977 Nov 7, 2025
1d8ab43
Update performance test results [skip ci]
actions-user Nov 7, 2025
5f54c3a
Refactor neuron-neuron connectivity query to improve terminology and …
Robbie1977 Nov 7, 2025
9b7d8ec
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 7, 2025
fffb637
Implement neuron region connectivity query and update documentation
Robbie1977 Nov 7, 2025
317eb83
Update performance test results [skip ci]
actions-user Nov 7, 2025
a8e0566
Enhance Owlery client and queries: add timeout handling, improve URL …
Robbie1977 Nov 8, 2025
18cfc95
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 8, 2025
2ab6860
Update performance test results [skip ci]
actions-user Nov 8, 2025
d277935
Increase timeout for OwleryClient subclass requests from 120 to 240 s…
Robbie1977 Nov 8, 2025
da1e4a1
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 8, 2025
a706ac0
Update performance test results [skip ci]
actions-user Nov 8, 2025
c9dda3a
Enhance performance tests: add very slow threshold and enable caching…
Robbie1977 Nov 8, 2025
4a51cba
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 8, 2025
6355742
Update performance test results [skip ci]
actions-user Nov 8, 2025
734983c
Add very slow query threshold to performance test report
Robbie1977 Nov 8, 2025
5eefc06
Update performance test results [skip ci]
actions-user Nov 8, 2025
fde46fc
Update performance test workflow to use editable install for dependen…
Robbie1977 Nov 8, 2025
3bb75af
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 8, 2025
3ed68c0
Update performance test results [skip ci]
actions-user Nov 8, 2025
be5a95a
Update Python version in performance test workflow and enhance owlery…
Robbie1977 Nov 8, 2025
e6aa196
Enhance Owlery client with retry logic for connection resets and add …
Robbie1977 Nov 8, 2025
f695ca5
Update performance test results [skip ci]
actions-user Nov 8, 2025
f01cac6
Optimize caching logic to support limited result queries by extractin…
Robbie1977 Nov 8, 2025
fba780d
Update performance test results [skip ci]
actions-user Nov 8, 2025
739eac3
Enable caching for performance tests by setting query limit to -1
Robbie1977 Nov 8, 2025
d03837d
Update performance test results [skip ci]
actions-user Nov 8, 2025
5af9704
Add comprehensive test suites for various VFB queries
Robbie1977 Nov 8, 2025
1af316c
Add unit tests for dataset/template, NBLAST, and publication/transgen…
Robbie1977 Nov 8, 2025
e3e511b
Update performance test results [skip ci]
actions-user Nov 8, 2025
b6e763e
Refactor performance test documentation and update query thresholds f…
Robbie1977 Nov 9, 2025
300ce4d
Implement parallel fetching for term info in SimpleVFBConnect to impr…
Robbie1977 Nov 9, 2025
43492ee
Update performance test results [skip ci]
actions-user Nov 9, 2025
5c055ac
Implement concurrent processing of queries in fill_query_results to e…
Robbie1977 Nov 9, 2025
2102dbd
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
14fe1f3
Remove unused 'prefixes' parameter from get_subclasses and get_instan…
Robbie1977 Nov 9, 2025
d54beb5
Update performance test results [skip ci]
actions-user Nov 9, 2025
1d0b49b
Enhance fill_query_results to check function signature for short_form…
Robbie1977 Nov 9, 2025
dfdf334
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
1f48ca5
Update performance test results [skip ci]
actions-user Nov 9, 2025
2d1f367
Update performance thresholds for very slow queries in performance te…
Robbie1977 Nov 9, 2025
57f2ce4
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
3881993
Set VFBQUERY_CACHE_ENABLED to false before running examples
Robbie1977 Nov 9, 2025
fe4389b
Update performance test results [skip ci]
actions-user Nov 9, 2025
b2fa7f9
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
75c743d
Update performance test results [skip ci]
actions-user Nov 9, 2025
96a892c
Add new queries for medulla-related data retrieval in README
Robbie1977 Nov 9, 2025
2f7df54
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
185fbb6
Add additional lineage clone entries and update thumbnails in README
Robbie1977 Nov 9, 2025
241a13e
Update performance test results [skip ci]
actions-user Nov 9, 2025
ad837a9
Update README examples to include force_refresh parameter and modify …
Robbie1977 Nov 9, 2025
87a7389
Refine term_info_parse_object queries to align with XMI criteria and …
Robbie1977 Nov 9, 2025
bd59d3f
Update performance test results [skip ci]
actions-user Nov 9, 2025
59a0a29
Update README.md with improved image URLs, adjusted preview counts, a…
Robbie1977 Nov 9, 2025
6200965
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 9, 2025
a9d8e6b
Update performance test results [skip ci]
actions-user Nov 9, 2025
88eaf58
Add environment variables for term_info_queries_test execution
Robbie1977 Nov 9, 2025
c787c09
Update performance test results [skip ci]
actions-user Nov 9, 2025
f611a06
Set VFBQUERY_CACHE_ENABLED to false in Python test workflow
Robbie1977 Nov 10, 2025
dd38b60
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 10, 2025
c9babf4
Fix server connectivity test URL and add environment variables for le…
Robbie1977 Nov 10, 2025
5a24246
Update performance test results [skip ci]
actions-user Nov 10, 2025
9f5f528
Increase timeout for Solr requests and comment out debug prints in te…
Robbie1977 Nov 10, 2025
862961a
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 10, 2025
c93b42e
Update performance test results [skip ci]
actions-user Nov 10, 2025
c51fc7a
Increase Solr request timeout from 30 to 120 seconds
Robbie1977 Nov 10, 2025
39a4a2b
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 10, 2025
f69d849
Update performance test results [skip ci]
actions-user Nov 10, 2025
4c393de
Increase HTTP request timeout for complex OWL reasoning queries from …
Robbie1977 Nov 11, 2025
2d360fb
Increase HTTP GET request timeout for instances endpoint from 20 to 4…
Robbie1977 Nov 11, 2025
96559c1
Update performance test results [skip ci]
actions-user Nov 11, 2025
7ddadf9
Update preview values in query schemas and adjust performance thresho…
Robbie1977 Nov 17, 2025
a8b7281
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 17, 2025
0b9c174
Update performance test results [skip ci]
actions-user Nov 17, 2025
4a55a2f
Add detailed neuron and lineage clone examples to README
Robbie1977 Nov 17, 2025
3638c79
Merge branch 'dev' of https://github.com/VirtualFlyBrain/VFBquery int…
Robbie1977 Nov 17, 2025
793fdfe
Update performance test results [skip ci]
actions-user Nov 17, 2025
55239bc
Merge branch 'main' into dev
Robbie1977 Nov 17, 2025
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
1 change: 1 addition & 0 deletions .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ jobs:
run: |
cat README.md | grep -e '```python' -e '```' -e '^[^`]*$' | sed -e '/^```python/,/^```/!d' -e '/^```/d' -e 's/\(vfb.[^)]*)\)/print(\1)/g' > test_examples.py
cat test_examples.py
export VFBQUERY_CACHE_ENABLED=false
python test_examples.py
- name: Parse README.md and generate test files
run: |
Expand Down
89 changes: 78 additions & 11 deletions .github/workflows/performance-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,32 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.8'
python-version: '3.10'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade -r requirements.txt
python -m pip install .
python -m pip install -e . # Editable install ensures we test the actual source code

- name: Test Owlery Connectivity
run: |
echo "Testing basic connectivity to Owlery server..."
curl -v --max-time 30 "http://owl.virtualflybrain.org/kbs/vfb/subclasses?object=%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FFBbt_00005106%3E&direct=false&includeDeprecated=false&includeEquivalent=true" | head -20 || echo "Simple query failed or timed out"
echo ""
echo "Testing if server responds at all..."
curl -v --max-time 10 "http://owl.virtualflybrain.org/kbs/vfb" || echo "Server unreachable"

- name: Run Performance Test
run: |
python -m unittest src.test.test_query_performance -v 2>&1 | tee performance_test_output.log

- name: Run Legacy Performance Test
env:
VFBQUERY_CACHE_ENABLED: 'true'
MPLBACKEND: 'Agg'
VISPY_GL_LIB: 'osmesa'
VISPY_USE_EGL: '0'
run: |
python -m unittest -v src.test.term_info_queries_test.TermInfoQueriesTest.test_term_info_performance 2>&1 | tee -a performance_test_output.log

Expand All @@ -51,25 +64,79 @@ jobs:

## Test Overview

This performance test measures the execution time of all implemented VFB queries including:
This performance test measures the execution time of all implemented VFB queries organized by functionality:

### 1. Term Information Queries

- **Term Info**: Comprehensive term information retrieval with preview data

### 2. Neuron Part & Synaptic Queries

- **NeuronsPartHere**: Neurons with parts overlapping anatomical regions
- **NeuronsSynaptic**: Neurons with synapses in a region
- **NeuronsPresynapticHere**: Neurons with presynaptic terminals in a region
- **NeuronsPostsynapticHere**: Neurons with postsynaptic terminals in a region

### Core Queries
- **Term Info Queries**: Basic term information retrieval
- **Neuron Part Queries**: Neurons with parts overlapping regions
- **Synaptic Terminal Queries**: Pre/post synaptic terminals
- **Anatomical Hierarchy**: Components, parts, subclasses
- **Instance Queries**: Available images and instances
### 3. Anatomical Hierarchy Queries

- **ComponentsOf**: Anatomical components of a structure
- **PartsOf**: Parts of an anatomical structure
- **SubclassesOf**: Subclasses of anatomical terms (can be very slow for complex terms)

### 4. Tract/Nerve & Lineage Queries

### New Queries (2025)
- **NeuronClassesFasciculatingHere**: Neurons fasciculating with tracts
- **TractsNervesInnervatingHere**: Tracts/nerves innervating neuropils
- **LineageClonesIn**: Lineage clones in neuropils
- **LineageClonesIn**: Lineage clones in neuropils (complex OWL reasoning)

### 5. Image & Developmental Queries

- **ImagesNeurons**: Neuron images in anatomical regions
- **ImagesThatDevelopFrom**: Developmental lineage images
- **epFrag**: Expression pattern fragments
- **ListAllAvailableImages**: All available images for a term

### 6. Connectivity Queries

- **NeuronNeuronConnectivity**: Neuron-to-neuron connectivity
- **NeuronRegionConnectivity**: Neuron-to-region connectivity
- **NeuronInputsTo**: Individual neuron inputs

### 7. Similarity Queries (NBLAST & NeuronBridge)

- **SimilarMorphologyTo**: NBLAST morphological similarity
- **SimilarMorphologyToPartOf**: NBLAST to expression patterns (NBLASTexp)
- **SimilarMorphologyToPartOfexp**: Reverse NBLASTexp
- **SimilarMorphologyToNB**: NeuronBridge matches
- **SimilarMorphologyToNBexp**: NeuronBridge for expression patterns

### 8. Expression & Transcriptomics Queries

- **ExpressionOverlapsHere**: Expression patterns overlapping regions
- **anatScRNAseqQuery**: scRNAseq clusters in anatomy
- **clusterExpression**: Genes expressed in clusters
- **expressionCluster**: Clusters expressing genes
- **scRNAdatasetData**: Cluster data from scRNAseq datasets

### 9. Dataset & Template Queries

- **PaintedDomains**: Template painted anatomy domains
- **DatasetImages**: Images in datasets
- **AllAlignedImages**: Images aligned to templates
- **AlignedDatasets**: Datasets aligned to templates
- **AllDatasets**: All available datasets

### 10. Publication & Transgene Queries

- **TermsForPub**: Terms referencing publications
- **TransgeneExpressionHere**: Transgene expression patterns in regions

## Performance Thresholds

- **Fast queries**: < 1 second (SOLR lookups)
- **Medium queries**: < 3 seconds (Owlery + SOLR)
- **Slow queries**: < 10 seconds (Neo4j + complex processing)
- **Very Slow queries**: < 31 seconds (Complex OWL reasoning - over 30 seconds)

## Test Results

Expand Down
5 changes: 5 additions & 0 deletions .github/workflows/python-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,11 @@ jobs:
python -m pip install -U -r requirements.txt
python -m pip install .
- name: Run term_info_queries_test
env:
VFBQUERY_CACHE_ENABLED: 'false'
MPLBACKEND: 'Agg'
VISPY_GL_LIB: 'osmesa'
VISPY_USE_EGL: '0'
run: |
export PYTHONPATH=$PYTHONPATH:$PWD/
python -m unittest -v src/test/term_info_queries_test.py
Loading