Releases: EBISPOT/GrEBI
Releases · EBISPOT/GrEBI
Release list
Documentation (74aef794aab9b3d0e7a52d01c15c48a86d043e09)
docs-74aef794aab9b3d0e7a52d01c15c48a86d043e09 docs: the MCP server gets its own page, rendered from the server's ca…
Documentation (1aabf4176689b7314ba2a5b5cd0552191167d029)
docs-1aabf4176689b7314ba2a5b5cd0552191167d029 api: an OpenAPI description, served and rendered as the docs' API ref…
Documentation (e96f0f0fa6f172625970378471832cf8bffcd626)
download_local.sh: mount a relocated ./tmp into the orchestrator too The docs workflow now puts ./tmp on the runner's /mnt partition before the download runs, and inside the download's orchestrator container that symlink pointed at nothing: Nextflow's mkdir failed with "cannot create directory tmp: File exists". Resolve ./tmp and bind-mount its real path, exactly as dataload_local.sh has done since the relocation was introduced. The two scripts now also trigger the docs workflow when they change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (d06741bce32ceb46024f3f3db1e126b8813f0ac1)
grebi_ui: the node page's Links tab is back, without the source id chips The tab had been commented out, leaving NodeLinks reachable from its tests only. Its source id chips now duplicate the page header, so they are gone; what remains is the per-type link tabs (today the chemical interactions of a gene, with their count). The node page asks getNodeLinksTabs once the node is loaded and shows the Links tab only when the node has at least one link tab with something in it, so other nodes see no empty tab. Choosing a link tab now keeps the page's own parameters (tab, lang) in the URL instead of replacing them. Closes #65 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (94b7f227b58349008e2c3f099603bc09372e1f02)
grebi_ui: read a node in any language it has The node page shows a language picker when the node lists more than one language in grebi:languages, keeps the choice in the URL's lang parameter (which the page already sent to the API) and preserves it across tab changes. The title, description and breadcrumb use the chosen language's value, falling back to the graph's own language; getName prefers an untagged value everywhere, so search results and links never show a translation that happens to come first. Translated values in the property table carry a chip with their language. The picker names languages through Intl.DisplayNames instead of mapping language codes to country flags, so the flag dependency goes. Closes #61 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (6c943bd4ba8aa6d6ff6ae6008e561ce4b5d14055)
download_local.sh: mount a relocated ./tmp into the orchestrator too The docs workflow now puts ./tmp on the runner's /mnt partition before the download runs, and inside the download's orchestrator container that symlink pointed at nothing: Nextflow's mkdir failed with "cannot create directory tmp: File exists". Resolve ./tmp and bind-mount its real path, exactly as dataload_local.sh has done since the relocation was introduced. The two scripts now also trigger the docs workflow when they change. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (67f42bbf60f973a7da8397c837f6d875d5d818f9)
grebi_ui: the node page's Links tab is back, without the source id chips The tab had been commented out, leaving NodeLinks reachable from its tests only. Its source id chips now duplicate the page header, so they are gone; what remains is the per-type link tabs (today the chemical interactions of a gene, with their count). The node page asks getNodeLinksTabs once the node is loaded and shows the Links tab only when the node has at least one link tab with something in it, so other nodes see no empty tab. Choosing a link tab now keeps the page's own parameters (tab, lang) in the URL instead of replacing them. Closes #65 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (5b8f731f9c6ca1daa7f38453cbe429243edba67e)
bulk identifier lookup: many identifiers in, the nodes they name out
Resolving a pasted list of identifiers took one /nodes?grebi:sourceIds= request
each, and a CURIE in the wrong prefix case or an IRI found nothing.
POST /api/v1/graphs/{graph}/lookup takes up to 1,000 identifiers (a JSON object
with an ids array, a bare array, or plain text one per line; the cap is
GREBI_MAX_LOOKUP_IDS). Each is matched as given, lower-cased, and as the prefix
service normalises it, against every node's source ids, node id and curie in
one query (array overlap on the GIN index, = ANY on the btrees); matchNames=true
also matches names ignoring case. The answer keeps the order given: results with
the nodes each identifier names, notFound, and truncated when the query hit its
limit of ten nodes per identifier. Whether an identifier matches depends only on
its own forms, never on the others in the request. resolve=true and lang return
the full nodes in a language, as the node endpoint does. The MCP lookup_nodes
tool takes the same options; its ids may be an array or one string of lines.
The UI gets /graphs/:graph/lookup: a textarea (one per line, commas and tabs
also separate), the results table with node links, types and datasources,
unmatched identifiers marked as such, and a CSV download of the answer. The
lookup lives in the URL (?ids=…&matchNames=true) so it can be linked to, and
the search page points at it. The endpoint was exercised end to end against the
test_ubergraph stack, prefix service included.
Closes #77
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (9544b96d6b62154e6fb4c9d251d002c2cd05f2a0)
tests: add test_primekg E2E subgraph Seven real kg.csv rows around psoriasis (drug indication and contraindication, gene association, parent disease) plus one row each that reaches an HPO, GO and UBERON term, with stand-in ontology terms carrying the padded ids. The build must give 11 nodes, not 17: each of the six ontology terms one node carrying both the PrimeKG and OntologyTerms datasources, with every PrimeKG edge ending on it (#58). Snapshots generated and then compared clean on a fresh local run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Documentation (524d71b902c9f5f96f186f89e72531d769f77c0b)
tests: add test_primekg E2E subgraph Seven real kg.csv rows around psoriasis (drug indication and contraindication, gene association, parent disease) plus one row each that reaches an HPO, GO and UBERON term, with stand-in ontology terms carrying the padded ids. The build must give 11 nodes, not 17: each of the six ontology terms one node carrying both the PrimeKG and OntologyTerms datasources, with every PrimeKG edge ending on it (#58). Snapshots generated and then compared clean on a fresh local run. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>