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.
gget==0.30.5; for broken upstream database adapters, update gget after checking release notes.# Reproducible install targeting this skill
uv venv .venv
source .venv/bin/activate
uv pip install "gget==0.30.5"
# In Python/Jupyter
import gget
# Command-line
gget <module> [arguments] [options]
# Python
gget.module(arguments, options)
-csv flag-o/--out: Save results to file-q/--quiet: Suppress progress information-csv: Return CSV format (command-line only)--census_version becomes census_version=.... Use gget <module> --help for the exact current signature.species: Genus_species format (e.g., 'homo_sapiens', 'mus_musculus'). Shortcuts: 'human', 'mouse'-w/--which: Specify return types as comma-separated CLI values or Python list (gtf, cdna, dna, cds, cdrna, pep). Default: all-r/--release: Ensembl release number (default: latest)-od/--out_dir: Directory for downloaded files-l/--list_species: List available vertebrate species-liv/--list_iv_species: List available invertebrate species-ftp: Return only FTP links-d/--download: Download files (requires curl)# List available species
gget ref --list_species
# Get all reference files for human
gget ref homo_sapiens
# Download GTF and cDNA files for mouse
gget ref -w gtf,cdna -d mouse
# Python
gget.ref("homo_sapiens")
gget.ref("mus_musculus", which=["gtf", "cdna"], download=True)
searchwords: One or more search terms (case-insensitive)-s/--species: Target species (e.g., 'homo_sapiens', 'mouse')-r/--release: Ensembl release number-t/--id_type: Return 'gene' (default) or 'transcript'-ao/--andor: 'or' (default) finds ANY searchword; 'and' requires ALL-l/--limit: Maximum results to returnwrap_text: Python-only display helper for wide DataFrames# Search for GABA-related genes in human
gget search -s human gaba gamma-aminobutyric
# Find specific gene, require all terms
gget search -s mouse -ao and pax7 transcription
# Python
gget.search(["gaba", "gamma-aminobutyric"], species="homo_sapiens")
ens_ids: One or more Ensembl IDs (also supports WormBase, Flybase IDs). Limit: ~1000 IDs-n/--ncbi: Disable NCBI data retrieval-u/--uniprot: Disable UniProt data retrieval-pdb: Include PDB identifiers (increases runtime)# Get info for multiple genes
gget info ENSG00000034713 ENSG00000104853 ENSG00000170296
# Include PDB IDs
gget info ENSG00000034713 -pdb
# Python
gget.info(["ENSG00000034713", "ENSG00000104853"], pdb=True)
ens_ids: One or more Ensembl identifiers-t/--translate: Fetch amino acid sequences instead of nucleotide-iso/--isoforms: Return all transcript variants (gene IDs only)# Get nucleotide sequences
gget seq ENSG00000034713 ENSG00000104853
# Get all protein isoforms
gget seq -t -iso ENSG00000034713
# Python
gget.seq(["ENSG00000034713"], translate=True, isoforms=True)
sequence: Sequence string or path to FASTA/.txt file-p/--program: blastn, blastp, blastx, tblastn, tblastx (auto-detected)-db/--database:
-l/--limit: Max hits (default: 50)-e/--expect: E-value cutoff (default: 10.0)-lcf/--low_comp_filt: Enable low complexity filtering-mbo/--megablast_off: Disable MegaBLAST (blastn only)# BLAST protein sequence
gget blast MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR
# BLAST from file with specific database
gget blast sequence.fasta -db swissprot -l 10
# Python
gget.blast("MKWMFK...", database="swissprot", limit=10)
sequence: Sequence string or path to FASTA/.txt file-st/--seqtype: 'DNA', 'protein', 'translated%20RNA', 'translated%20DNA' (auto-detected)-a/--assembly: Target assembly (default: 'human'/hg38; options: 'mouse'/mm39, 'zebrafinch'/taeGut2, etc.)# Find genomic location in human
gget blat ATCGATCGATCGATCG
# Search in different assembly
gget blat -a mm39 ATCGATCGATCGATCG
# Python
gget.blat("ATCGATCGATCGATCG", assembly="mouse")
fasta: Sequences or path to FASTA/.txt file-s5/--super5: Use Super5 algorithm for faster processing (large datasets)# Align sequences from file
gget muscle sequences.fasta -o aligned.afa
# Use Super5 for large dataset
gget muscle large_dataset.fasta -s5
# Python
gget.muscle("sequences.fasta", save=True)
-ref/--reference: Reference sequences (string/list) or FASTA file path (required)-s/--sensitivity: fast, mid-sensitive, sensitive, more-sensitive, very-sensitive (default), ultra-sensitive-t/--threads: CPU threads (default: 1)-db/--diamond_db: Save database for reuse-x/--translated: Enable nucleotide query to amino acid reference alignment# Align against reference
gget diamond GGETISAWESQME -ref reference.fasta -t 4
# Translate nucleotide query against amino acid reference
gget diamond query_nt.fasta -ref proteins.fasta --translated
# Python
gget.diamond("GGETISAWESQME", reference="reference.fasta", threads=4)
gget.diamond("ATGGGC...", reference="proteins.fasta", translated=True)
pdb_id: PDB identifier (e.g., '7S7U')-r/--resource: Data type (pdb, entry, pubmed, assembly, entity types)-i/--identifier: Assembly, entity, or chain ID# Download PDB structure
gget pdb 7S7U -o 7S7U.pdb
# Get metadata
gget pdb 7S7U -r entry
# Python
gget.pdb("7S7U", save=True)
# Installs modified third-party dependencies and downloads model parameters
gget setup alphafold
sequence: Amino acid sequence (string), multiple sequences (list), or FASTA file. Multiple sequences trigger multimer modeling-mr/--multimer_recycles: Recycling iterations (default: 3; recommend 20 for accuracy)-mfm/--multimer_for_monomer: Apply multimer model to single proteins-r/--relax: AMBER relaxation for top-ranked modelplot: Python-only; generate interactive 3D visualization (default: True)show_sidechains: Python-only; include side chains (default: True)# Predict single protein structure
gget alphafold MKWMFKEDHSLEHRCVESAKIRAKYPDRVPVIVEKVSGSQIVDIDKRKYLVPSDITVAQFMWIIRKRIQLPSEKAIFLFVDKTVPQSR
# Predict multimer with higher accuracy
gget alphafold sequence1.fasta -mr 20 -r
# Python with visualization
gget.alphafold("MKWMFK...", plot=True, show_sidechains=True)
# Multimer prediction
gget.alphafold(["sequence1", "sequence2"], multimer_recycles=20)
gget setup elm
sequence: Amino acid sequence or UniProt Acc-u/--uniprot: Indicates sequence is UniProt Acc-e/--expand: Include protein names, organisms, references-s/--sensitivity: DIAMOND alignment sensitivity (default: "very-sensitive")-t/--threads: Number of threads (default: 1)# Predict motifs from sequence
gget elm LIAQSIGQASFV -o results
# Use UniProt accession with expanded info
gget elm --uniprot Q02410 -e
# Python
ortholog_df, regex_df = gget.elm("LIAQSIGQASFV")
gene: Gene symbol or Ensembl ID (with --ensembl flag)-w/--which: 'correlation' (default, returns 100 most correlated genes) or 'tissue' (expression atlas)-s/--species: 'human' (default) or 'mouse' (tissue data only)-e/--ensembl: Input is Ensembl ID# Get correlated genes
gget archs4 ACE2
# Get tissue expression
gget archs4 -w tissue ACE2
# Python
gget.archs4("ACE2", which="tissue")
gget setup cellxgene
--gene (-g): Gene names or Ensembl IDs (case-sensitive! 'PAX7' for human, 'Pax7' for mouse)--tissue: Tissue type(s)--cell_type: Specific cell type(s)--species (-s): 'homo_sapiens' (default) or 'mus_musculus'--census_version (-cv): Version ("stable", "latest", or dated)--ensembl (-e): Use Ensembl IDs--meta_only (-mo): Return metadata only# Get single-cell data for specific genes and cell types
gget cellxgene --gene ACE2 ABCA1 --tissue lung --cell_type "mucus secreting cell" -o lung_data.h5ad
# Metadata only
gget cellxgene --gene PAX7 --tissue muscle --meta_only -o metadata.csv
# Python
adata = gget.cellxgene(gene=["ACE2", "ABCA1"], tissue="lung", cell_type="mucus secreting cell")
genes: Gene symbols or Ensembl IDs-db/--database: Reference database (supports shortcuts: 'pathway', 'transcription', 'ontology', 'diseases_drugs', 'celltypes')-s/--species: human (default), mouse, fly, yeast, worm, fish-bkg_l/--background_list: Background genes for comparison-ko/--kegg_out: Save KEGG pathway images with highlighted genesplot: Python-only; generate graphical results# Enrichment analysis for ontology
gget enrichr -db ontology ACE2 AGT AGTR1
# Save KEGG pathways
gget enrichr -db pathway ACE2 AGT AGTR1 -ko ./kegg_images/
# Python with plot
gget.enrichr(["ACE2", "AGT", "AGTR1"], database="ontology", plot=True)
ens_id: Ensembl gene ID or NCBI gene ID (for non-Ensembl species). Multiple IDs supported when type=expression-t/--type: 'orthologs' (default) or 'expression'# Get orthologs
gget bgee ENSG00000169194
# Get expression data
gget bgee ENSG00000169194 -t expression
# Multiple genes
gget bgee ENSBTAG00000047356 ENSBTAG00000018317 -t expression
# Python
gget.bgee("ENSG00000169194", type="orthologs")
-r/--resource: diseases (default), drugs, tractability, pharmacogenetics, expression, depmap, interactions-l/--limit: Cap results count--filters: Exact-match filters using returned OpenTargets column names; repeat on the CLI or pass a Python dict-or/--or: CLI-only; combine filters with OR logic instead of the default AND logic--filter_mode argument was removed upstream.# Get associated diseases
gget opentargets ENSG00000169194 -r diseases -l 5
# Get associated drugs
gget opentargets ENSG00000169194 -r drugs -l 10
# Filter interactions by returned column names
gget opentargets ENSG00000169194 -r interactions --filters protein_a_id=P35225 --filters gene_b_id=ENSG00000077238
# Python
gget.opentargets("ENSG00000169194", resource="diseases", limit=5)
gget.opentargets(
"ENSG00000169194",
resource="interactions",
filters={"protein_a_id": "P35225", "gene_b_id": "ENSG00000077238"},
)
gget cbio search breast lung
-s/--study_ids: Space-separated cBioPortal study IDs (required)-g/--genes: Space-separated gene names or Ensembl IDs (required)-st/--stratification: Column to organize data (tissue, cancer_type, cancer_type_detailed, study_id, sample)-vt/--variation_type: Data type (mutation_occurrences, cna_nonbinary, sv_occurrences, cna_occurrences, Consequence)-f/--filter: Filter by column value (e.g., 'study_id:msk_impact_2017')-dd/--data_dir: Cache directory (default: ./gget_cbio_cache)-fd/--figure_dir: Output directory (default: ./gget_cbio_figures)-dpi: Resolution (default: 100)-sh/--show: Display plot in window-nc/--no_confirm: Skip download confirmations# Search for studies
gget cbio search esophag ovary
# Create heatmap
gget cbio plot -s msk_impact_2017 -g AKT1 ALK BRAF -st tissue -vt mutation_occurrences
# Python
gget.cbio_search(["esophag", "ovary"])
gget.cbio_plot(["msk_impact_2017"], ["AKT1", "ALK"], stratification="tissue")
gget cosmic --download_cosmic ...) or named environment variables read inside Python.searchterm: Gene name, Ensembl ID, mutation notation, or sample ID-ctp/--cosmic_tsv_path: Path to downloaded COSMIC TSV file (required for querying)-l/--limit: Maximum results (default: 100)-d/--download_cosmic: Activate download mode-gm/--gget_mutate: Create version for gget mutate-cp/--cosmic_project: Database type (cancer, cancer_example, census, cell_line, resistance, genome_screen, targeted_screen)-cv/--cosmic_version: COSMIC version-gv/--grch_version: Human reference genome (37 or 38)--email, --password: COSMIC credentials for non-interactive downloads; prefer prompt or Python env vars# First download database; gget prompts for COSMIC email/password
gget cosmic --download_cosmic --cosmic_project cancer
# Then query
gget cosmic EGFR --cosmic_tsv_path "CancerMutationCensus_AllData_Tsv_v101_GRCh37/CancerMutationCensus_AllData_v101_GRCh37.tsv" -l 10
# Python
import os
gget.cosmic(
searchterm=None,
download_cosmic=True,
cosmic_project="cancer",
email=os.environ["COSMIC_EMAIL"],
password=os.environ["COSMIC_PASSWORD"],
)
gget.cosmic("EGFR", cosmic_tsv_path="cosmic_data.tsv", limit=10)
virus: Virus taxon name, taxon ID, accession, space-separated accessions, or path to a text file of accessions-a/--is_accession: Treat virus as accession input--is_sars_cov2, --is_alphainfluenza: Use optimized cached NCBI datasets paths for SARS-CoV-2 or Influenza A--host: Host organism name or NCBI taxonomy ID--nuc_completeness: complete or partial--min_seq_length, --max_seq_length: Sequence length filters-g/--genbank_metadata: Fetch detailed GenBank metadata; auto-enabled by some annotation filters--segment, --vaccine_strain, --annotated, --lab_passaged, --source_database: Common viral metadata filters--download_all_accessions: Apply filters across all viral accessions--baseline, --merge-results: Resume or merge with prior metadata from partial/previous runs--download_all_accessions without restrictive filters; it can attempt to download the entire Viruses taxonomy and consume substantial time, bandwidth, and disk.# Complete Zika genomes from human hosts
gget virus "Zika virus" --nuc_completeness complete --host human --out zika_data
# SARS-CoV-2 reference genome by accession
gget virus NC_045512.2 --is_accession --is_sars_cov2
# Python
gget.virus(
"SARS-CoV-2",
host="human",
nuc_completeness="complete",
min_seq_length=29000,
genbank_metadata=True,
is_sars_cov2=True,
outfolder="covid_data",
)
gget 8cube specificity <genes...>: Return gene-level psi/zeta specificity statisticsgget 8cube psi_block <genes...> --analysis_level <level> --analysis_type <type>: Return block-level specificitygget 8cube expression <genes...> --analysis_level <level> --analysis_type <type>: Return mean/variance normalized expressiongget 8cube specificity Acsm2 ENSMUSG00000046623.9
gget 8cube psi_block Acsm2 --analysis_level Kidney --analysis_type "Sex:Celltype"
gget 8cube expression Gjb4 --analysis_level Across_tissues --analysis_type Strain
# Python
from gget import specificity, psi_block, gene_expression
specificity(["Acsm2", "ENSMUSG00000046623.9"])
psi_block(["Acsm2"], analysis_level="Kidney", analysis_type="Sex:Celltype")
gene_expression(["Gjb4"], analysis_level="Across_tissues", analysis_type="Strain")
mutate to focus on applying standard mutation annotations to supplied nucleotide sequences and returning/saving mutated FASTA records. The broader variant-screening workflow moved upstream to the kvar project.sequences: FASTA file path or direct nucleotide sequence input (string/list)-m/--mutations: Mutation string/list, CSV/TSV path, or DataFrame with mutation data (required)-mc/--mut_column: Mutation column name (default: 'mutation')-sic/--seq_id_column: Sequence ID column (default: 'seq_ID')-mic/--mut_id_column: Mutation ID column (default: same as mut_column)-k/--k: Length of flanking sequences (default: 30 nucleotides)-o/--out: Output FASTA path; without it Python returns a list of mutated sequences# Single mutation
gget mutate ATCGCTAAGCT -m "c.4G>T"
# Multiple sequences with one mutation per sequence
gget mutate ATCGCTAAGCT TAGCTA -m "c.4G>T" "c.1_3inv" -o mutated.fasta
# Python
gget.mutate("ATCGCTAAGCT", "c.4G>T")
gget.mutate(["ATCGCTAAGCT", "TAGCTA"], ["c.4G>T", "c.1_3inv"], out="mutated.fasta")
gget setup gpt
OPENAI_API_KEY, and set monthly billing limits before use.prompt: Text input for generation (required)api_key: OpenAI authentication (required by the upstream API)gget gpt expects the API key as an argument. Avoid this on shared systems because process arguments can be visible to other users.# Python
import os
gget.gpt("Explain CRISPR", api_key=os.environ["OPENAI_API_KEY"])
gget setup tries uv pip install first for Python dependencies and falls back to pip install if uv is unavailable or fails.module: Module name requiring dependency installation-o/--out: Output folder path (elm module only)alphafold - Downloads ~4GB of model parameterscellxgene - Installs cellxgene-census (may require Python 3.9/3.10 if the latest Python is unsupported)elm - Downloads local ELM databasegpt - Installs/configures OpenAI integration dependencies# Setup AlphaFold
gget setup alphafold
# Setup ELM with custom directory
gget setup elm -o /path/to/elm_data
# Python
gget.setup("alphafold")
# 1. Search for genes
results = gget.search(["GABA", "receptor"], species="homo_sapiens")
# 2. Get detailed information
gene_ids = results["ensembl_id"].tolist()
info = gget.info(gene_ids[:5])
# 3. Retrieve sequences
sequences = gget.seq(gene_ids[:5], translate=True)
# 1. Align multiple sequences
alignment = gget.muscle("sequences.fasta")
# 2. Find similar sequences
blast_results = gget.blast(my_sequence, database="swissprot", limit=10)
# 3. Predict structure
structure = gget.alphafold(my_sequence, plot=True)
# 4. Find linear motifs
ortholog_df, regex_df = gget.elm(my_sequence)
# 1. Get tissue expression
tissue_expr = gget.archs4("ACE2", which="tissue")
# 2. Find correlated genes
correlated = gget.archs4("ACE2", which="correlation")
# 3. Get single-cell data
adata = gget.cellxgene(gene=["ACE2"], tissue="lung", cell_type="epithelial cell")
# 4. Perform enrichment analysis
gene_list = correlated["gene_symbol"].tolist()[:50]
enrichment = gget.enrichr(gene_list, database="ontology", plot=True)
# 1. Search for genes
genes = gget.search(["breast cancer"], species="homo_sapiens")
# 2. Get disease associations
diseases = gget.opentargets("ENSG00000169194", resource="diseases")
# 3. Get drug associations
drugs = gget.opentargets("ENSG00000169194", resource="drugs")
# 4. Query cancer genomics data
study_ids = gget.cbio_search(["breast"])
gget.cbio_plot(study_ids[:2], ["BRCA1", "BRCA2"], stratification="cancer_type")
# 5. Search COSMIC for mutations
cosmic_results = gget.cosmic("BRCA1", cosmic_tsv_path="cosmic.tsv")
# 1. Get orthologs
orthologs = gget.bgee("ENSG00000169194", type="orthologs")
# 2. Get sequences for comparison
human_seq = gget.seq("ENSG00000169194", translate=True)
mouse_seq = gget.seq("ENSMUSG00000026091", translate=True)
# 3. Align sequences
alignment = gget.muscle([human_seq, mouse_seq])
# 4. Compare structures
human_structure = gget.pdb("7S7U")
mouse_structure = gget.alphafold(mouse_seq)
# 1. List available species
gget ref --list_species
# 2. Download reference files
gget ref -w gtf -w cdna -d homo_sapiens
# 3. Build kallisto index
kallisto index -i transcriptome.idx transcriptome.fasta
# 4. Download genome for alignment
gget ref -w dna -d homo_sapiens
--limit to control result sizes for large queries-o/--out for reproducibility--quiet in production scripts to reduce outputgget diamond with --threads for faster local alignment--diamond_db for repeated queries-s5/--super5 for large datasetsgget setup before first use of alphafold, cellxgene, elm, gpt-dd to avoid repeated downloads-mr 20 for higher accuracy-r flag for AMBER relaxation of final structuresplot=Truegget virus before requesting broad viral datasetscommand_summary.txt with downstream results for reproducibility and recovery after partial downloads--baseline and --merge-results to resume interrupted viral metadata/sequence downloadsuv pip install "gget==0.30.5"-csv flagjson=True parametersave=True or specify out="filename"module_reference.md - Comprehensive parameter reference for all modulesdatabase_info.md - Information about queried databases and their update frequenciesworkflows.md - Extended workflow examples and use cases