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