Skip to content

Commit 11dfec0

Browse files
authored
Merge pull request #35 from VirtualFlyBrain/dev
Test fixes for release
2 parents b773d2d + 55239bc commit 11dfec0

29 files changed

Lines changed: 5483 additions & 716 deletions

.github/workflows/examples.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ jobs:
2626
run: |
2727
cat README.md | grep -e '```python' -e '```' -e '^[^`]*$' | sed -e '/^```python/,/^```/!d' -e '/^```/d' -e 's/\(vfb.[^)]*)\)/print(\1)/g' > test_examples.py
2828
cat test_examples.py
29+
export VFBQUERY_CACHE_ENABLED=false
2930
python test_examples.py
3031
- name: Parse README.md and generate test files
3132
run: |

.github/workflows/performance-test.yml

Lines changed: 78 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,32 @@ jobs:
2121
- name: Set up Python
2222
uses: actions/setup-python@v4
2323
with:
24-
python-version: '3.8'
24+
python-version: '3.10'
2525

2626
- name: Install dependencies
2727
run: |
2828
python -m pip install --upgrade pip
2929
python -m pip install --upgrade -r requirements.txt
30-
python -m pip install .
30+
python -m pip install -e . # Editable install ensures we test the actual source code
31+
32+
- name: Test Owlery Connectivity
33+
run: |
34+
echo "Testing basic connectivity to Owlery server..."
35+
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"
36+
echo ""
37+
echo "Testing if server responds at all..."
38+
curl -v --max-time 10 "http://owl.virtualflybrain.org/kbs/vfb" || echo "Server unreachable"
3139
3240
- name: Run Performance Test
3341
run: |
3442
python -m unittest src.test.test_query_performance -v 2>&1 | tee performance_test_output.log
3543
3644
- name: Run Legacy Performance Test
45+
env:
46+
VFBQUERY_CACHE_ENABLED: 'true'
47+
MPLBACKEND: 'Agg'
48+
VISPY_GL_LIB: 'osmesa'
49+
VISPY_USE_EGL: '0'
3750
run: |
3851
python -m unittest -v src.test.term_info_queries_test.TermInfoQueriesTest.test_term_info_performance 2>&1 | tee -a performance_test_output.log
3952
@@ -51,25 +64,79 @@ jobs:
5164
5265
## Test Overview
5366
54-
This performance test measures the execution time of all implemented VFB queries including:
67+
This performance test measures the execution time of all implemented VFB queries organized by functionality:
68+
69+
### 1. Term Information Queries
70+
71+
- **Term Info**: Comprehensive term information retrieval with preview data
72+
73+
### 2. Neuron Part & Synaptic Queries
74+
75+
- **NeuronsPartHere**: Neurons with parts overlapping anatomical regions
76+
- **NeuronsSynaptic**: Neurons with synapses in a region
77+
- **NeuronsPresynapticHere**: Neurons with presynaptic terminals in a region
78+
- **NeuronsPostsynapticHere**: Neurons with postsynaptic terminals in a region
5579
56-
### Core Queries
57-
- **Term Info Queries**: Basic term information retrieval
58-
- **Neuron Part Queries**: Neurons with parts overlapping regions
59-
- **Synaptic Terminal Queries**: Pre/post synaptic terminals
60-
- **Anatomical Hierarchy**: Components, parts, subclasses
61-
- **Instance Queries**: Available images and instances
80+
### 3. Anatomical Hierarchy Queries
81+
82+
- **ComponentsOf**: Anatomical components of a structure
83+
- **PartsOf**: Parts of an anatomical structure
84+
- **SubclassesOf**: Subclasses of anatomical terms (can be very slow for complex terms)
85+
86+
### 4. Tract/Nerve & Lineage Queries
6287
63-
### New Queries (2025)
6488
- **NeuronClassesFasciculatingHere**: Neurons fasciculating with tracts
6589
- **TractsNervesInnervatingHere**: Tracts/nerves innervating neuropils
66-
- **LineageClonesIn**: Lineage clones in neuropils
90+
- **LineageClonesIn**: Lineage clones in neuropils (complex OWL reasoning)
91+
92+
### 5. Image & Developmental Queries
93+
94+
- **ImagesNeurons**: Neuron images in anatomical regions
95+
- **ImagesThatDevelopFrom**: Developmental lineage images
96+
- **epFrag**: Expression pattern fragments
97+
- **ListAllAvailableImages**: All available images for a term
98+
99+
### 6. Connectivity Queries
100+
101+
- **NeuronNeuronConnectivity**: Neuron-to-neuron connectivity
102+
- **NeuronRegionConnectivity**: Neuron-to-region connectivity
103+
- **NeuronInputsTo**: Individual neuron inputs
104+
105+
### 7. Similarity Queries (NBLAST & NeuronBridge)
106+
107+
- **SimilarMorphologyTo**: NBLAST morphological similarity
108+
- **SimilarMorphologyToPartOf**: NBLAST to expression patterns (NBLASTexp)
109+
- **SimilarMorphologyToPartOfexp**: Reverse NBLASTexp
110+
- **SimilarMorphologyToNB**: NeuronBridge matches
111+
- **SimilarMorphologyToNBexp**: NeuronBridge for expression patterns
112+
113+
### 8. Expression & Transcriptomics Queries
114+
115+
- **ExpressionOverlapsHere**: Expression patterns overlapping regions
116+
- **anatScRNAseqQuery**: scRNAseq clusters in anatomy
117+
- **clusterExpression**: Genes expressed in clusters
118+
- **expressionCluster**: Clusters expressing genes
119+
- **scRNAdatasetData**: Cluster data from scRNAseq datasets
120+
121+
### 9. Dataset & Template Queries
122+
123+
- **PaintedDomains**: Template painted anatomy domains
124+
- **DatasetImages**: Images in datasets
125+
- **AllAlignedImages**: Images aligned to templates
126+
- **AlignedDatasets**: Datasets aligned to templates
127+
- **AllDatasets**: All available datasets
128+
129+
### 10. Publication & Transgene Queries
130+
131+
- **TermsForPub**: Terms referencing publications
132+
- **TransgeneExpressionHere**: Transgene expression patterns in regions
67133
68134
## Performance Thresholds
69135
70136
- **Fast queries**: < 1 second (SOLR lookups)
71137
- **Medium queries**: < 3 seconds (Owlery + SOLR)
72138
- **Slow queries**: < 10 seconds (Neo4j + complex processing)
139+
- **Very Slow queries**: < 31 seconds (Complex OWL reasoning - over 30 seconds)
73140
74141
## Test Results
75142

.github/workflows/python-test.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,11 @@ jobs:
2424
python -m pip install -U -r requirements.txt
2525
python -m pip install .
2626
- name: Run term_info_queries_test
27+
env:
28+
VFBQUERY_CACHE_ENABLED: 'false'
29+
MPLBACKEND: 'Agg'
30+
VISPY_GL_LIB: 'osmesa'
31+
VISPY_USE_EGL: '0'
2732
run: |
2833
export PYTHONPATH=$PYTHONPATH:$PWD/
2934
python -m unittest -v src/test/term_info_queries_test.py

0 commit comments

Comments
 (0)