gget
Overview
gget is a command-line bioinformatics tool and Python package providing unified access to 20+ genomic databases and analysis methods. Query gene information, sequence analysis, protein structures, viral sequences, expression data, disease associations, and mouse tissue/cell specificity metrics through a consistent interface. Most gget modules work both as command-line tools and as Python functions.
Important: The databases queried by gget are continuously updated, which sometimes changes their structure. Guidance here targets gget 0.30.5 (PyPI current as of 2026-06-07). For reproducible work, pin gget==0.30.5; for broken upstream database adapters, update gget after checking release notes.
Installation
Install gget in a clean virtual environment to avoid conflicts:
# Reproducible install targeting this skill
uv venv .venv
source .venv/bin/activate
uv pip install "gget==0.30.5"
# In Python/Jupyter
import gget
Quick Start
Basic usage pattern for all modules:
# Command-line
gget <module> [arguments] [options]
# Python
gget.module(arguments, options)
Most modules return:
- Command-line: JSON (default) or CSV with
-csv flag
- Python: DataFrame or dictionary
Common flags across modules:
-o/--out: Save results to file
-q/--quiet: Suppress progress information
-csv: Return CSV format (command-line only)
Python argument names generally match long CLI options without leading dashes. For example, --census_version becomes census_version=.... Use gget <module> --help for the exact current signature.
Module Categories
gget exposes 23 modules in six categories. Parameters, CLI and Python examples, and
return shapes for every one are in
references/module_catalog.md; fuller per-parameter
documentation is in references/module_reference.md.
| Category |
Modules |
| 1. Reference & gene information |
ref (Ensembl reference downloads), search (gene search), info (gene/transcript detail), seq (nucleotide and protein sequences) |
| 2. Sequence analysis & alignment |
blast, blat, muscle (multiple alignment), diamond (local alignment) |
| 3. Structural & protein analysis |
pdb (structures and metadata), alphafold (structure prediction), elm (linear motifs) |
| 4. Expression & disease data |
archs4 (correlation, tissue expression), cellxgene (single-cell), enrichr (enrichment), bgee (orthology and expression), opentargets (disease and drug), cbio (cancer genomics), cosmic (mutations) |
| 5. Viral & mouse specificity |
virus (viral sequences), 8cube (mouse specificity and expression) |
| 6. Additional tools |
mutate (mutated sequences), gpt (text generation), setup (install module dependencies) |
Several modules need a one-time gget setup before first use (alphafold, elm,
cellxgene), and cosmic prompts for COSMIC credentials to download its database.
Common Workflows
Worked multi-module pipelines — gene characterization, structural comparison, expression
and enrichment analysis, disease and drug association, orthology comparison, and
reference-file preparation for kallisto or alignment — are in
references/common_workflows.md, with longer versions in
references/workflows.md.
Best Practices
Data Retrieval
- Use
--limit to control result sizes for large queries
- Save results with
-o/--out for reproducibility
- Check database versions/releases for consistency across analyses
- Use
--quiet in production scripts to reduce output
Sequence Analysis
- For BLAST/BLAT, start with default parameters, then adjust sensitivity
- Use
gget diamond with --threads for faster local alignment
- Save DIAMOND databases with
--diamond_db for repeated queries
- For multiple sequence alignment, use
-s5/--super5 for large datasets
Expression and Disease Data
- Gene symbols are case-sensitive in cellxgene (e.g., 'PAX7' vs 'Pax7')
- Run
gget setup before first use of alphafold, cellxgene, elm, gpt
- For enrichment analysis, use database shortcuts for convenience
- Cache cBioPortal data with
-dd to avoid repeated downloads
- For OpenTargets, inspect returned column names before writing filters; gget 0.30.5 follows the newer OpenTargets API schema
Structure Prediction
- AlphaFold multimer predictions: use
-mr 20 for higher accuracy
- Use
-r flag for AMBER relaxation of final structures
- Visualize results in Python with
plot=True
- Check PDB database first before running AlphaFold predictions
Viral Data
- Use restrictive filters with
gget virus before requesting broad viral datasets
- Keep
command_summary.txt with downstream results for reproducibility and recovery after partial downloads
- Use
--baseline and --merge-results to resume interrupted viral metadata/sequence downloads
Error Handling
- Database structures change; when an adapter breaks, check upstream release notes and pin the newer fixed version explicitly
- Pin the known-good version for reproducible environments:
uv pip install "gget==0.30.5"
- Process max ~1000 Ensembl IDs at once with gget info
- For large-scale analyses, implement rate limiting for API queries
- Use virtual environments to avoid dependency conflicts
- Keep COSMIC and OpenAI credentials in named environment variables or interactive prompts; do not write real credentials into examples, notebooks, or logs
Output Formats
Command-line
- Default: JSON
- CSV: Add
-csv flag
- FASTA: gget seq, gget mutate
- PDB: gget pdb, gget alphafold
- PNG: gget cbio plot
- FASTA/CSV/JSONL folder: gget virus
Python
- Default: DataFrame or dictionary
- JSON: Add
json=True parameter
- Save to file: Add
save=True or specify out="filename"
- AnnData: gget cellxgene
- DataFrame/JSON: gget 8cube specificity, psi_block, expression
Resources
This skill includes reference documentation for detailed module information:
references/
module_reference.md - Comprehensive parameter reference for all modules
database_info.md - Information about queried databases and their update frequencies
workflows.md - Extended workflow examples and use cases
For additional help:
1---
2name: gget
3description: "Fast CLI/Python queries to 20+ bioinformatics databases. Use for quick lookups: gene info, BLAST/BLAT, viral sequence downloads, AlphaFold structures, enrichment analysis, OpenTargets, COSMIC, CELLxGENE, and 8cube mouse specificity/expression data. Best for interactive exploration and simple queries. For batch processing or advanced BLAST use biopython; for multi-database Python workflows use bioservices."
4license: BSD-2-Clause license
5allowed-tools: Read Write Edit Bash
6compatibility: Requires Python >=3.8 and gget 0.30.5-compatible APIs. Optional setup modules may install scientific dependencies that lag the newest Python releases; use Python 3.9 or 3.10 if `gget setup cellxgene` or `gget setup alphafold` fails.
7metadata:
8 version: "1.4"
9 skill-author: K-Dense Inc.
10---
11
12# gget
13
14## Overview
15
16gget is a command-line bioinformatics tool and Python package providing unified access to 20+ genomic databases and analysis methods. Query gene information, sequence analysis, protein structures, viral sequences, expression data, disease associations, and mouse tissue/cell specificity metrics through a consistent interface. Most gget modules work both as command-line tools and as Python functions.
17
18**Important**: The databases queried by gget are continuously updated, which sometimes changes their structure. Guidance here targets gget 0.30.5 (PyPI current as of 2026-06-07). For reproducible work, pin `gget==0.30.5`; for broken upstream database adapters, update gget after checking release notes.
19
20## Installation
21
22Install gget in a clean virtual environment to avoid conflicts:
23
24```bash
25# Reproducible install targeting this skill
26uv venv .venv
27source .venv/bin/activate
28uv pip install "gget==0.30.5"
29
30# In Python/Jupyter
31import gget
32```
33
34## Quick Start
35
36Basic usage pattern for all modules:
37
38```bash
39# Command-line
40gget <module> [arguments] [options]
41
42# Python
43gget.module(arguments, options)
44```
45
46Most modules return:
47- **Command-line**: JSON (default) or CSV with `-csv` flag
48- **Python**: DataFrame or dictionary
49
50Common flags across modules:
51- `-o/--out`: Save results to file
52- `-q/--quiet`: Suppress progress information
53- `-csv`: Return CSV format (command-line only)
54
55Python argument names generally match long CLI options without leading dashes. For example, `--census_version` becomes `census_version=...`. Use `gget <module> --help` for the exact current signature.
56
57## Module Categories
58
59gget exposes 23 modules in six categories. Parameters, CLI and Python examples, and
60return shapes for every one are in
61[references/module_catalog.md](references/module_catalog.md); fuller per-parameter
62documentation is in [references/module_reference.md](references/module_reference.md).
63
64| Category | Modules |
65| --- | --- |
66| 1. Reference & gene information | `ref` (Ensembl reference downloads), `search` (gene search), `info` (gene/transcript detail), `seq` (nucleotide and protein sequences) |
67| 2. Sequence analysis & alignment | `blast`, `blat`, `muscle` (multiple alignment), `diamond` (local alignment) |
68| 3. Structural & protein analysis | `pdb` (structures and metadata), `alphafold` (structure prediction), `elm` (linear motifs) |
69| 4. Expression & disease data | `archs4` (correlation, tissue expression), `cellxgene` (single-cell), `enrichr` (enrichment), `bgee` (orthology and expression), `opentargets` (disease and drug), `cbio` (cancer genomics), `cosmic` (mutations) |
70| 5. Viral & mouse specificity | `virus` (viral sequences), `8cube` (mouse specificity and expression) |
71| 6. Additional tools | `mutate` (mutated sequences), `gpt` (text generation), `setup` (install module dependencies) |
72
73Several modules need a one-time `gget setup` before first use (`alphafold`, `elm`,
74`cellxgene`), and `cosmic` prompts for COSMIC credentials to download its database.
75
76## Common Workflows
77
78Worked multi-module pipelines — gene characterization, structural comparison, expression
79and enrichment analysis, disease and drug association, orthology comparison, and
80reference-file preparation for kallisto or alignment — are in
81[references/common_workflows.md](references/common_workflows.md), with longer versions in
82[references/workflows.md](references/workflows.md).
83
84## Best Practices
85
86### Data Retrieval
87- Use `--limit` to control result sizes for large queries
88- Save results with `-o/--out` for reproducibility
89- Check database versions/releases for consistency across analyses
90- Use `--quiet` in production scripts to reduce output
91
92### Sequence Analysis
93- For BLAST/BLAT, start with default parameters, then adjust sensitivity
94- Use `gget diamond` with `--threads` for faster local alignment
95- Save DIAMOND databases with `--diamond_db` for repeated queries
96- For multiple sequence alignment, use `-s5/--super5` for large datasets
97
98### Expression and Disease Data
99- Gene symbols are case-sensitive in cellxgene (e.g., 'PAX7' vs 'Pax7')
100- Run `gget setup` before first use of alphafold, cellxgene, elm, gpt
101- For enrichment analysis, use database shortcuts for convenience
102- Cache cBioPortal data with `-dd` to avoid repeated downloads
103- For OpenTargets, inspect returned column names before writing filters; gget 0.30.5 follows the newer OpenTargets API schema
104
105### Structure Prediction
106- AlphaFold multimer predictions: use `-mr 20` for higher accuracy
107- Use `-r` flag for AMBER relaxation of final structures
108- Visualize results in Python with `plot=True`
109- Check PDB database first before running AlphaFold predictions
110
111### Viral Data
112- Use restrictive filters with `gget virus` before requesting broad viral datasets
113- Keep `command_summary.txt` with downstream results for reproducibility and recovery after partial downloads
114- Use `--baseline` and `--merge-results` to resume interrupted viral metadata/sequence downloads
115
116### Error Handling
117- Database structures change; when an adapter breaks, check upstream release notes and pin the newer fixed version explicitly
118- Pin the known-good version for reproducible environments: `uv pip install "gget==0.30.5"`
119- Process max ~1000 Ensembl IDs at once with gget info
120- For large-scale analyses, implement rate limiting for API queries
121- Use virtual environments to avoid dependency conflicts
122- Keep COSMIC and OpenAI credentials in named environment variables or interactive prompts; do not write real credentials into examples, notebooks, or logs
123
124## Output Formats
125
126### Command-line
127- Default: JSON
128- CSV: Add `-csv` flag
129- FASTA: gget seq, gget mutate
130- PDB: gget pdb, gget alphafold
131- PNG: gget cbio plot
132- FASTA/CSV/JSONL folder: gget virus
133
134### Python
135- Default: DataFrame or dictionary
136- JSON: Add `json=True` parameter
137- Save to file: Add `save=True` or specify `out="filename"`
138- AnnData: gget cellxgene
139- DataFrame/JSON: gget 8cube specificity, psi_block, expression
140
141## Resources
142
143This skill includes reference documentation for detailed module information:
144
145### references/
146- `module_reference.md` - Comprehensive parameter reference for all modules
147- `database_info.md` - Information about queried databases and their update frequencies
148- `workflows.md` - Extended workflow examples and use cases
149
150For additional help:
151- Official documentation: https://pachterlab.github.io/gget/
152- GitHub issues: https://github.com/pachterlab/gget/issues
153- Citation: Luebbert, L. & Pachter, L. (2023). Efficient querying of genomic reference databases with gget. Bioinformatics. https://doi.org/10.1093/bioinformatics/btac836