Repository navigation
Version ≥ 0.30.8 (Jun 28, 2026):
gget g2p: Eithergeneor--uniprot_idis now sufficient — whichever is missing is resolved via UniProt and cached. Gene→UniProt picks the canonical reviewed human Swiss-Prot entry; the resolution and its limitations are logged. The canonical pair is always prepended to the result asgene_name/uniprot_idcolumns (and stored ondf.attrs), so the output schema is invariant regardless of input mode. Existing call sites continue to work.- New
residues=filter (Python: int / list / range / set; CLI--residues 100,200,300or100-200) restrictsfeatures/alignmentto specific positions client-side. mapresults gain a parsedPDB Ids Listcolumn (list[str]) alongside the comma-joinedPDB Idsstring, for direct chaining intogget pdb.- Fixed silent failure when the gene/UniProt pair was unknown: G2P returns HTTP 200 with a JSON
{"status":"failure",...}body that was being parsed as a single TSV column. Now logged as an error and returnsNone. - All failure modes now return
None(was a mix ofNoneand emptyDataFrame). - Added retries with exponential backoff on transient failures (5xx, connection errors, timeouts).
- URL-encoded path segments.
- New
out=Python argument writes the result to an explicit CSV path (takes precedence oversave).
- New
gget alphafold: Added a newjackhmmer_savedirargument (-jhd/--jackhmmer_savediron the command line) that lets you choose where the temporary jackhmmer files are stored. By default,gget alphafoldstill creates a~/tmp/jackhmmer/folder in your home directory (which can take up to ~2 GB of disk space); the new argument lets you redirect these files elsewhere, e.g. to a disk with more free space. Resolves issue 49.gget pdb: Added support for the PDBx/mmCIF structure format (fixes issue 178 and issue 177).- New
resource="mmcif"option downloads the structure in PDBx/mmCIF format (.cif). - The default
resource="pdb"now automatically falls back to PDBx/mmCIF when the legacy PDB file is unavailable (e.g. for large structures), since the legacy PDB format is being phased out by RCSB. A warning is logged and saved files use the correct extension (.cif).
- New
gget opentargets: Adapted to several upstream Open Targets GraphQL API changes:- Fixed:
gget opentargets resource="drugs"was failing withHTTP 400 — Field 'synonyms' of type '[DrugLabelAndSource!]!' must have a sub selection.Open Targets changedDrug.synonymsandDrug.tradeNamesfrom scalar lists to lists of structuredDrugLabelAndSourceobjects. The internal GraphQL query was updated to request thelabelsub-field; thedrug.synonyms/drug.tradeNamescolumns in the returned DataFrame remainlist[str], so existing user code is unaffected. - Fixed:
gget opentargets resource="expression"had started returning an empty DataFrame because Open Targets retired theTarget.expressionsfield. The query now uses the currentTarget.baselineExpressionfield. The returned columns have changed because the upstream data model changed: results are now per-biosample (tissue/cell type) baseline expression summary statistics (median,min,q1,q3,max,unit) withtissueBiosample/celltypeBiosampleidentifiers anddatasourceId/datatypeId, instead of the old per-tissue RNAzscore/value/levelfields. A gene can have thousands of biosamples; the page size follows--limit(capped at the API's 3000-per-request maximum), and a warning is logged if results are truncated — narrow with--filters(e.g.datasourceId,datatypeId). Resolves issue 247. - Docs: Clarified the meaning of the
diseasesresourcescorecolumn (OpenTargets' single overall target–disease association score, 0–1, aggregated across all data types/sources — not a per-data-source score) and thatdisease.idvalues are EFO-mapped traits that include not only MONDO diseases but also phenotypes (HP_*) and measurements (EFO_*), with an example of how to filter to MONDO disease terms only. Addresses issue 168.
- Fixed:
gget archs4(tissue mode): No longer crashes withKeyError: ['color'] not found in axiswhen ARCHS4 intermittently omits the optionalcolorcolumn from its CSV response. The column is now dropped only if present. Output also has a deterministic row order (sorted bymediandescending, withidas tiebreaker) so equal-median tissues no longer flip order between requests.gget bgee: Outbound Bgee API requests now send aUser-Agent: gget/<version>header so the Bgee service can attribute (and, if needed, allow-list) gget traffic, improving resilience against intermittent request blocking.