A modern, lightweight genome browser. Fast, beautiful, AI-native.
https://teammaclean.github.io/gbetter/
No installation required. Just open in your browser and start exploring genomes.
- Fast by default - Sub-second load, 60fps pan and zoom
- AI-native - Natural language queries with reproducible GQL output
- Web-first - No installation, works in any modern browser
- Beautiful - Light/dark/high-contrast themes, colorblind-safe palettes
- Species-agnostic - 27+ built-in assemblies, works with any genome
- Private - All data stays in your browser
| Format | Description |
|---|---|
| BED | Interval features (BED3-BED12) |
| GFF3 | Gene annotations with hierarchies |
| bedGraph | Signal/coverage data |
| VCF | Variant calls |
| BigBed (.bb) | Indexed BED (requires no index file) |
| BigWig (.bw) | Indexed signal (requires no index file) |
| BAM | Alignments (requires .bai index) |
| CRAM | Alignments with reference (requires .crai index) |
| VCF.gz | Tabix-indexed variants (requires .tbi index) |
| GFF.gz | Tabix-indexed annotations (requires .tbi index) |
| BED.gz | Tabix-indexed intervals (requires .tbi index) |
All indexed formats above can also be loaded from URLs. The index file must be at the same URL path (e.g., file.bam + file.bam.bai).
- Open GBetter in your browser
- Gene tracks load automatically for the selected assembly
- Add your own data:
- Local files: Drag & drop or use File tab in sidebar
- Remote URLs: Paste BigBed/BigWig/BAM URLs in URL tab
- Navigate using the search bar:
- Gene name:
TP53 - Coordinates:
chr17:7668421-7687490 - Commands:
zoom in,pan left 10kb
- Gene name:
- Customize appearance in Settings (gear icon):
- Theme: Light / Dark / High-Contrast
- Palette: Set2 / Dark2 / Paired (all colorblind-safe)
GBetter includes 27+ genome assemblies with automatic gene/transcript tracks:
| Category | Assemblies |
|---|---|
| Human | GRCh38 (hg38), GRCh37 (hg19), T2T-CHM13 |
| Mouse | mm39, mm10 |
| Model Organisms | Zebrafish (danRer11), Fly (dm6), Worm (ce11), Yeast (sacCer3) |
| Plants | Arabidopsis (TAIR10), Rice (IRGSP-1.0), Maize (Zm-B73), Wheat, Barley |
| Fungi | S. pombe, Botrytis, Magnaporthe, Puccinia, Zymoseptoria |
| Microbes | E. coli K-12, SARS-CoV-2 |
Reference sequences (2bit) are available for all assemblies, enabling nucleotide display at high zoom.
GBetter is designed with accessibility in mind:
- Three themes: Light (default, print-ready), Dark, High-Contrast
- Colorblind-safe palettes: Set2, Dark2, Paired (all from ColorBrewer)
- Geometric strand indication: Chevrons show direction, not colors
- High contrast mode: Maximum contrast for low-vision users
All themes and palettes are in Settings > Display tab.
GBetter has two query interfaces:
The search bar in the header is for quick navigation:
| Input | Example |
|---|---|
| Gene name | TP53, BRCA1 |
| Coordinates | chr17:7668421-7687490 |
| Commands | zoom in, pan left 10kb, filter type=exon |
Works instantly, no AI required. Great for everyday navigation.
For advanced queries, open the GQL Console (`Cmd+`` or click the tab at the bottom):
- Natural language input - "show me genes with high-impact variants" (with AI configured)
- Editable GQL - Review and modify translated queries before execution
- Clickable results - Navigate to any result with one click
- Query history - Replay previous queries
- Save & share - Export queries as
.gqlfiles or share via URL
The Console translates natural language to GQL, giving you reproducible commands you can save, share, and re-run.
Just visit https://teammaclean.github.io/gbetter/ - nothing to install.
Your data never leaves your browser. Files are parsed locally using JavaScript.
Fork GBetter to your GitHub account and deploy via GitHub Pages:
-
Fork the repository
Click the "Fork" button at https://github.com/TeamMacLean/gbetter
-
Enable GitHub Pages
In your forked repo, go to Settings > Pages:
- Source: GitHub Actions
- Click Save
-
Wait for deployment
The deploy workflow runs automatically. Your instance will be live at:
https://YOUR-USERNAME.github.io/gbetter/ -
Keep it updated
Sync your fork periodically to get new features:
git fetch upstream git merge upstream/main git push
For development or offline use:
# Clone the repository
git clone https://github.com/TeamMacLean/gbetter.git
cd gbetter
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:5173 in your browser.
Build and deploy to any static hosting:
# Build for production
npm run build
# Output is in the 'build' directory
# Deploy to nginx, Apache, S3, Netlify, etc.Note: Update svelte.config.js to change the base path if not hosting at root.
GBetter includes a simple, reproducible query language for genome browser operations. Natural language queries are automatically translated to GQL for reproducibility.
navigate chr17:7668421-7687490 # Go to coordinates
search gene TP53 # Find and navigate to a gene
zoom in # Zoom in 2x
zoom out # Zoom out 2x
pan left 10kb # Move left 10,000 bp
filter type=exon # Highlight exons, dim other features
highlight chr17:7670000-7675000 # Highlight a region
clear filters # Remove all filters
SELECT GENES IN VIEW
SELECT VARIANTS FROM my-vcf WHERE significance = 'pathogenic'
SELECT GENES INTERSECT variants ORDER BY length DESC LIMIT 10
COUNT VARIANTS WITHIN TP53
See the GQL Manual for complete documentation, or GQL Examples for practical use cases.
GBetter's AI features translate natural language into reproducible GQL commands. Choose your preferred AI backend:
| Provider | Privacy | Cost |
|---|---|---|
| Ollama (Local) | Complete - runs on your machine | Free |
| Anthropic (Claude) | Query text sent to API | Pay-per-use |
| OpenAI (GPT) | Query text sent to API | Pay-per-use |
Your genomic data files are never sent to external services - only your query text and track metadata.
See the AI Setup Guide for detailed installation and configuration instructions.
Step-by-step guides for different use cases:
- Getting Started - First-time users
- Exploring Genes - Bench biologists
- Advanced Queries - Bioinformaticians
- Non-Model Genomes - Domain experts
- Reproducible Analysis - Power users
- Node.js 20+
- npm
npm run dev # Development server (localhost:5173)
npm run build # Production build
npm run check # TypeScript type checking
npm run test:unit # Run unit tests (~280 tests)
npm run test:e2e # Run end-to-end tests (~160 tests)src/
lib/
components/ # Svelte UI components
stores/ # State management (Svelte 5 runes)
services/ # Business logic, parsers
types/ # TypeScript definitions
routes/ # SvelteKit pages
tests/
unit/ # Vitest unit tests
e2e/ # Playwright E2E tests
test-data/ # Sample genomic files for testing
docs/ # Documentation
Your genomic data never leaves your browser unless you explicitly choose to use cloud AI features.
- All file parsing happens client-side in JavaScript
- No server, no database, no tracking
- AI queries send only your search text (not your data)
- Optional local LLM support (Ollama) for complete privacy
- Clear indicators when data would be sent externally
Contributions are welcome! Please read our contributing guidelines before submitting PRs.
MIT
Built with Svelte, TypeScript, and Canvas. Powered by curiosity.