Use when you want to retrieve semi-quantitative protein expression and spatial localisation data from the Human Protein Atlas (HPA).
72
87%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
This skill provides semi-quantitative protein expression and spatial localisation data from the Human Protein Atlas (HPA). While RNA-seq (e.g., GTEx) tells us if a gene is being transcribed, HPA confirms if the protein product actually exists, where it is located within the cell (e.g. nucleus vs cytoplasm), and its concentration in systemic blood circulation. The data is based on Immunohistochemistry (IHC) across normal human tissues and cancer types.
uv: Read the uv skill and follow its Setup instructions to ensure
uv is installed and on PATH.Use this skill when you need to:
Do NOT use when you need to:
Pick the right command on the first try. Match the user's input to the correct subcommand below.
resolve-ensembl-idget-tissue-expressionget-subcellular-locationget-atlas-entrysearch-hpa# Map the ERBB2 gene symbol to its Ensembl ID
uv run scripts/hpa_cli.py resolve-ensembl-id ERBB2 --output /tmp/erbb2_id.json
# Get subcellular location by Ensembl ID
uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 --output /tmp/erbb2_location.jsonAll subcommands write JSON to disk. Always save output in the /tmp/ directory.
The default output file is /tmp/hpa_output.json if --output is not
specified.
resolve-ensembl-id — Gene Symbol → Ensembl IDMaps a common gene symbol (e.g., "TP53", "ERBB2") to its Ensembl gene ID. HPA endpoints are strictly Ensembl-based.
uv run scripts/hpa_cli.py resolve-ensembl-id TP53 --output /tmp/tp53_id.jsonArguments:
gene_symbol (positional): The standard gene symbol (e.g., "TP53").--output: Output file path (default: /tmp/hpa_output.json).get-tissue-expression — Get Tissue Protein LevelsReturns a list of tissues and their corresponding protein expression levels (High, Medium, Low, or Not Detected) based on IHC staining.
uv run scripts/hpa_cli.py get-tissue-expression ENSG00000130234 \
--tissues "duodenum,thyroid gland" --output /tmp/tissue_expr.jsonArguments:
ensembl_id (positional): The Ensembl Gene ID.--tissues: Comma-separated list of tissues to filter by (optional,
defaults to all available tissues).--output: Output file path (default: /tmp/hpa_output.json).get-subcellular-location — Get Subcellular LocationRetrieves the specific organelles or cellular structures where the protein has been localized.
uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 \
--output /tmp/subcellular.jsonArguments:
ensembl_id (positional): The Ensembl Gene ID.--output: Output file path.get-atlas-entry — Get Full HPA EntryFetches the full metadata for a gene, including IHC scores, RNA-seq consensus, and subcellular location.
uv run scripts/hpa_cli.py get-atlas-entry ENSG00000254647 \
--output /tmp/ins_entry.jsonArguments:
ensembl_id (positional): The Ensembl Gene ID.--format: Format of the returned entry, e.g., json (default: json).--output: Output file path.search-hpa — Search by AttributeAllows filtering for genes based on specific criteria (e.g., "elevated in amygdala").
uv run scripts/hpa_cli.py search-hpa \
--query "brain_category_rna:amygdala" \
--output /tmp/search_results.jsonArguments:
--query: The search query string. Refer to references/search-api.md for
details.--output: Output file path.The HPA website at www.proteinatlas.org always serves the latest data
release. Older archived versions can be accessed via vNN.proteinatlas.org
(e.g., v24.proteinatlas.org), while the current version's subdomain redirects
to www.proteinatlas.org. This skill's scripts query the latest version by
default.
0b42509
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.