Skip to content

Releases: VirtualFlyBrain/VFBquery

v1.8.1

11 Apr 15:15

Choose a tag to compare

Changes

  • OWLERY subclass expansion for class connectivity queries: Connectivity data is now cached per direct neuron class only (no SUBCLASSOF expansion in the indexer). Query functions now follow the classic VFB pattern — OWLERY resolves subclasses at query time, Solr is batch-queried for all subclass docs, and results are merged by partner class with summed statistics.
  • Removed SUBCLASSOF from Neo4j fallback in vfb_connectivity.py for consistency with the new caching approach.

v1.8.0

30 Mar 10:28

Choose a tag to compare

What's New

Graph representations for connectivity queries

Added optional include_graph=true parameter to connectivity endpoints that returns a basic_graph JSON structure alongside query results, ready for visualization.

Supported endpoints:

  • GET /query_connectivity?...&include_graph=true (class-level and per-neuron modes)
  • GET /run_query?query_type=NeuronNeuronConnectivityQuery&...&include_graph=true
  • GET /run_query?query_type=NeuronRegionConnectivityQuery&...&include_graph=true
  • GET /run_query?query_type=DownstreamClassConnectivity&...&include_graph=true
  • GET /run_query?query_type=UpstreamClassConnectivity&...&include_graph=true

Graph features:

  • Nodes enriched with symbol (display label), full_label (tooltip), group, and color
  • Nodes grouped and colored by neurotransmitter type, sensory system, or brain region
  • Batch Neo4j lookup for labels, symbols, and uniqueFacets
  • Automatic truncation at 80 nodes / 200 edges with clipped notification
  • Compatible with VFBchat's BasicGraphView component
  • Zero impact on caching — graphs generated as post-processing step

Python API:

from vfbquery.graph_builder import graph_from_query_connectivity
from vfbquery import query_connectivity

result = query_connectivity(upstream_type="Kenyon cell", group_by_class=True)
graph = graph_from_query_connectivity(result["connections"], group_by_class=True)

v1.7.4

24 Mar 16:13

Choose a tag to compare

What's Changed

  • Relax HA API FlyBase ID rewriting so resolve_entity and resolve_combination fall back to the canonical FlyBase ID when VFB term info cannot provide a preferred symbol or label.
  • Keep the preferred VFB term name rewrite path when term info is available.
  • Update HA API validation tests to cover the canonical-ID fallback behavior.

v1.7.3

24 Mar 16:01

Choose a tag to compare

What's Changed

  • Rewrite resolve_entity and resolve_combination HA API requests that receive FlyBase IDs to use the preferred VFB term name before querying Chado.
  • Return NOT_FOUND instead of passing raw IDs to Chado when no preferred name/label can be derived from VFB term info.
  • Add focused HA API validation tests covering query normalization, ID rewriting, and the no-fallback path.

v1.7.2

19 Mar 08:30

Choose a tag to compare

What's Changed\n\n- Bump version to 1.7.2

v1.7.1

18 Mar 09:15

Choose a tag to compare

What's Changed

FlyBase queries wired into term_info

  • FindStocks query now appears on FlyBase Feature terms (FBgn/FBal/FBti/FBtp/FBco/FBst) in term_info, allowing users to find available fly stocks directly from a term's query panel
  • FindComboPublications query now appears on FBco (split system combination) terms, enabling publication lookup from term_info
  • Both queries are available via /run_query?id=<short_form>&query_type=FindStocks|FindComboPublications and registered in the Docker server's QUERY_TYPE_MAP

v1.7.0

18 Mar 08:54

Choose a tag to compare

New Features

FlyBase Stock Finder (flybase_stocks)

  • resolve_entity(name_or_id) — Resolve gene names, allele symbols, or FlyBase IDs (FBgn/FBal/FBti/FBst/FBco) via 3-level search (exact → synonym → broad ILIKE)
  • find_stocks(feature_id, collection_filter=None) — Find available fly stocks with 4-path gene UNION query, 3-path allele query, insertion, combination, and stock detail lookups
  • Supports collection filtering (Bloomington, Kyoto, VDRC, etc.)

FlyBase Combination Publications (flybase_combo_pubs)

  • resolve_combination(name_or_id) — Resolve split system combination names/synonyms (e.g. "MB002B") to FBco IDs
  • find_combo_publications(fbco_id) — Find linked publications with DOI, PMID, and PMCID

VFB Neuron Connectivity (vfb_connectivity)

  • list_connectome_datasets() — List available connectome datasets (Hemibrain, FlyWire, MANC, etc.)
  • query_connectivity(upstream_type, downstream_type, weight, group_by_class, exclude_dbs) — Query synaptic connections between neuron types with per-neuron or class-aggregated results
  • Uses VFBquery's own Neo4jConnect client (no vfb_connect dependency)

API Endpoints

All new functions are exposed via the HA API server with full caching, request coalescing, and backpressure support:

  • GET /resolve_entity?query=<name_or_id>
  • GET /find_stocks?id=<feature_id>&collection=<filter>
  • GET /resolve_combination?query=<name_or_id>
  • GET /find_combo_publications?id=<FBco_ID>
  • GET /list_connectome_datasets
  • GET /query_connectivity?upstream_type=X&downstream_type=Y&weight=5&group_by_class=false&exclude_dbs=hb,fafb

Dependencies

  • Added psycopg[binary]>=3.0 for FlyBase Chado PostgreSQL access

Full Changelog: v1.6.13...v1.7.0

v1.6.13 - Increase Solr cache write timeout

13 Mar 09:57

Choose a tag to compare

What's Changed (v1.6.13)

Increased Solr cache write timeout

Solr cache writes are performed asynchronously after the query returns to the user.
We now default to a 30 second write timeout (configurable via VFBQUERY_SOLR_WRITE_TIMEOUT).

This helps prevent large or slow cache writes from spamming errors while still allowing the cache to work when Solr is responsive.

v1.6.12 - Solr cache failover/backoff

13 Mar 09:47

Choose a tag to compare

What's Changed (v1.6.12)

Solr cache failover/backoff

When Solr becomes unreachable or times out, VFBquery now:

  • disables caching temporarily (acts like VFBQUERY_CACHE_ENABLED=false)
  • logs a single warning, not repeated timeout errors
  • re-tries periodically (default backoff 60s) and re-enables caching once Solr responds

Configuration:

  • VFBQUERY_SOLR_BACKOFF_SECONDS controls how long caching stays disabled after a failure

v1.6.11 - Fix security middleware deprecation warning

13 Mar 08:31

Choose a tag to compare

What's Changed (v1.6.11)

Fix: security middleware & aria deprecation warning

  • security_middleware now blocks all non-API paths with an empty 404 (no stack traces).
  • The scanner probe counter is initialized at startup so aiohttp no longer emits the "Changing state of started or joined application is deprecated" warning.

Release status

  • v1.6.10 exists but does not include the final aiohttp deprecation fix.
  • This release (v1.6.11) includes the final patch and is the current main branch tip.