@@ -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
0 commit comments