Browser Tools and Automation

BioCortex includes browser automation tools (for biological databases) and automation features (webhooks, cron jobs, monitors). This page summarizes what they do and how they fit into the framework.

Browser Tools

What they do

Automated search and extraction from biological databases using Playwright:
  • Literature: PubMed, Google Scholar (recent papers, citations).
  • Genomics: NCBI Gene, UniProt, UCSC Genome Browser (ClinVar variants, gene info, SNP data).

When to use

  • Recent literature on a topic (e.g. “CRISPR cancer therapy 2025–2026”).
  • ClinVar pathogenic variants for a gene.
  • Gene coordinates or SNP allele frequencies.
  • Systematic literature reviews or citation trends.

How users interact

  1. Chat (natural language) — e.g. “Search PubMed for recent BRCA1 mutations papers”. BioCortex selects the right browser tool, runs it, and presents results (tables, summaries, links).
  2. Python API — Import BrowserTool from biocortex.tools.browser; use context manager and call search_pubmed, search_ncbi_gene, ucsc_get_clinvar_variants, etc.
  3. Automation UI — In the Web UI, Automation → Monitors tab: add a PubMed, Google Scholar, or ClinVar monitor with a query and schedule; results are saved to the workspace.

Installation

pip install playwright
playwright install chromium
Browser tools are registered in biocortex.domains.loader (via get_browser_tools()). They appear in the Resources page under the appropriate tab (e.g. Databases / Tools) and are selected by the hybrid retriever when the task matches.

Webhooks

External systems can trigger BioCortex analysis via HTTP POST.
  • Use cases: Lab equipment triggers analysis when an experiment completes; GitHub Actions on new data; Zapier/IFTTT; sequencer upload → webhook → automatic QC.
  • Configuration: In the Web UI, Automation → Webhooks: register and configure webhook endpoints (e.g. task template, description). Backend: POST /api/v1/webhooks/{name} and related endpoints.

Cron Jobs and Monitors

  • Cron scheduler — Recurring tasks on a schedule (e.g. daily at 8 AM). Backend: GET/POST /api/v1/cron/jobs, enable/disable, start/stop scheduler.
  • Monitors — Predefined monitor types (e.g. PubMed, Google Scholar, ClinVar, UCSC gene/SNP). User adds a monitor with query + schedule; the scheduler runs the corresponding task and stores results.
See Automation User Guide for step-by-step usage and Quick Test Guide for verification.

Technical Reference

  • Browser: biocortex/tools/browser.py — 8+ browser tools; get_browser_tools() returns list[DomainTool].
  • Cron: biocortex/automation/cron.py — Scheduler with persistence.
  • API: biocortex/web/api.py — REST endpoints for webhooks and cron.
For full API details and examples, see the repo docs: BROWSER_WEBHOOK_CRON_GUIDE.md, AUTOMATION_USER_GUIDE.md.