gget
Fast CLI/Python queries to 20+ bioinformatics databases. Gene info, BLAST, AlphaFold structures, enrichment analysis, single-cell data, disease associations. Best for interactive exploration and quick lookups. For batch/multi-database Python workflows use bioservices.
What this skill does
# gget
Unified CLI and Python access to 20+ genomic databases. All modules work as both command-line tools and Python functions.
## Installation
```bash
uv pip install --upgrade gget
```
Some modules require setup: `gget setup alphafold|cellxgene|elm|gpt`
## Quick Start
```bash
# CLI: gget <module> [arguments]
gget search -s human BRCA1
gget info ENSG00000012048
gget seq ENSG00000012048 -t # protein sequence
# Python: gget.module(arguments)
import gget
gget.search(["BRCA1"], species="homo_sapiens")
gget.info(["ENSG00000012048"])
```
Common flags: `-o` (save to file), `-csv` (CSV output), `-q` (quiet)
## Supporting Files
- **[module_reference.md](references/module_reference.md)** - Complete parameter reference for all 20+ modules
- **[database_info.md](references/database_info.md)** - Database descriptions and update frequencies
- **[workflows.md](references/workflows.md)** - Extended workflow examples
## Scripts
- **`scripts/gene_analysis.py`** - Gene discovery to sequence analysis pipeline
- **`scripts/enrichment_pipeline.py`** - Gene list enrichment workflow
- **`scripts/batch_sequence_analysis.py`** - Batch BLAST/alignment processing
## Module Overview
### Reference & Gene Information
| Module | What it does | Example |
|--------|-------------|---------|
| `ref` | Download reference genomes (Ensembl) | `gget ref -w gtf -d human` |
| `search` | Find genes by name/description | `gget search -s human "GABA receptor"` |
| `info` | Gene/transcript metadata (Ensembl+UniProt+NCBI) | `gget info ENSG00000012048` |
| `seq` | Nucleotide/protein sequences | `gget seq -t ENSG00000012048` |
### Sequence Analysis
| Module | What it does | Example |
|--------|-------------|---------|
| `blast` | NCBI BLAST searches | `gget blast MKWMFK... -db swissprot` |
| `blat` | UCSC BLAT genomic mapping | `gget blat ATCGATCG -a human` |
| `muscle` | Multiple sequence alignment | `gget muscle sequences.fasta` |
| `diamond` | Fast local alignment | `gget diamond query.fa -ref ref.fa` |
### Structure & Protein
| Module | What it does | Example |
|--------|-------------|---------|
| `pdb` | Query Protein Data Bank | `gget pdb 7S7U` |
| `alphafold` | Predict 3D structure (setup required) | `gget alphafold MKWMFK...` |
| `elm` | Eukaryotic linear motifs (setup required) | `gget elm LIAQSIGQASFV` |
### Expression & Disease
| Module | What it does | Example |
|--------|-------------|---------|
| `archs4` | Correlated genes / tissue expression | `gget archs4 -w tissue ACE2` |
| `cellxgene` | Single-cell RNA-seq data (setup required) | `gget cellxgene --gene ACE2 --tissue lung` |
| `enrichr` | GO/pathway enrichment analysis | `gget enrichr -db ontology ACE2 AGT` |
| `bgee` | Orthologs / expression across species | `gget bgee ENSG00000169194` |
| `opentargets` | Disease & drug associations | `gget opentargets ENSG00000169194` |
| `cbio` | Cancer genomics (cBioPortal) | `gget cbio search breast` |
| `cosmic` | Somatic mutations (requires account) | `gget cosmic EGFR` |
### Other
| Module | What it does |
|--------|-------------|
| `mutate` | Generate mutated sequences from annotations |
| `setup` | Install module-specific dependencies |
## Key Workflows
### Gene Discovery → Sequence Analysis
```python
# Search → info → sequence → BLAST
results = gget.search(["GABA", "receptor"], species="homo_sapiens")
info = gget.info(results["ensembl_id"].tolist()[:5])
sequences = gget.seq(results["ensembl_id"].tolist()[:5], translate=True)
blast_hits = gget.blast(my_sequence, database="swissprot", limit=10)
```
### Expression & Enrichment
```python
# Tissue expression → correlated genes → enrichment
tissue_expr = gget.archs4("ACE2", which="tissue")
correlated = gget.archs4("ACE2", which="correlation")
enrichment = gget.enrichr(correlated["gene_symbol"].tolist()[:50], database="ontology", plot=True)
```
### Enrichr Database Shortcuts
| Shortcut | Database |
|----------|----------|
| `pathway` | KEGG_2021_Human |
| `transcription` | ChEA_2016 |
| `ontology` | GO_Biological_Process_2021 |
| `diseases_drugs` | GWAS_Catalog_2019 |
| `celltypes` | PanglaoDB_Augmented_2021 |
### Single-Cell Data
```python
# Gene symbols are case-sensitive: 'PAX7' (human), 'Pax7' (mouse)
adata = gget.cellxgene(gene=["ACE2", "ABCA1"], tissue="lung", cell_type="epithelial cell")
# Filters: disease, development_stage, sex, assay, donor_id, ethnicity
```
### Comparative Genomics
```python
orthologs = gget.bgee("ENSG00000169194", type="orthologs")
human_seq = gget.seq("ENSG00000169194", translate=True)
alignment = gget.muscle([human_seq, mouse_seq])
```
## Best Practices
- Use `--limit` to control result sizes
- Save results with `-o` for reproducibility
- Process max ~1000 Ensembl IDs at once with `gget info`
- Use `gget diamond` with `--threads` for faster local alignment; save DB with `--diamond_db`
- For `gget muscle`, use `-s5` (Super5) for large datasets
- AlphaFold multimer: use `-mr 20` for accuracy, `-r` for AMBER relaxation
- Update regularly: `uv pip install --upgrade gget` (databases change structure)
## Attribution
Adapted from [K-Dense-AI/claude-scientific-skills](https://github.com/K-Dense-AI/claude-scientific-skills) (BSD-2-Clause).
Citation: Luebbert & Pachter (2023) Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.