Skip to content
Research
Skill

/encode_ccres_database

Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human

BOOST
From plugin
science-skills
3.2k40 skills
Install
$ npx -y skills add google-deepmind/science-skills --skill encode_ccres_database --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/encode_ccres_database

Context preview

The summary Claude sees to decide when to auto-load this skill.

Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN GraphQL API, or make custom queries to the ENCODE Portal REST API for experiments and files (ChIP-seq peaks, etc.). Use when you want to query regulatory annotations or raw experimental data across human

SKILL.md

encode_ccres_database.SKILL.md
name: encode-ccres-database
description: >
    Query the ENCODE Registry of cis-Regulatory Elements (cCREs) via the SCREEN
    GraphQL API, or make custom queries to the ENCODE Portal REST API for
    experiments and files (ChIP-seq peaks, etc.). Use when you want to query
    regulatory annotations or raw experimental data across human cell types.

ENCODE Database Skill

This skill allows you to query the ENCODE Registry of cCREs (candidate cis-Regulatory Elements) via the SCREEN GraphQL API. It helps identify functional non-coding DNA elements (like Promoters, Enhancers, and insulators) by analyzing biochemical signatures (DNase, H3K4me3, H3K27ac, CTCF).

Prerequisites

1. **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure `uv` is installed and on PATH. 2. **User Notification**: If .licenses/encode_ccres_database_LICENSE.txt does not already exist in the workspace root directory then (1) prominently notify the user to check the terms at https://www.encodeproject.org/help/rest-api/, then (2) create the file recording the notification text and timestamp.

Core Rules

  • **Use the Wrapper**: ALWAYS execute the provided helper scripts to query the

database rather than accessing the database directly. The scripts automatically enforce the required rate limit gracefully.

  • **Parsing Output**: Do NOT use `cat` to read the entire JSON output file

into context, as it can be extremely large. You MUST use `jq` to efficiently parse and extract relevant fields.

  • **Notification**: If this skill is used, ensure this is mentioned in the

output.

Quick Start

# Search cCREs by coordinates
uv run scripts/screen_api.py search --chromosome chr11 \
  --start 5205263 --end 5207263 \
  --output /tmp/search.json

# Get details for a specific cCRE
uv run scripts/screen_api.py details EH38E2941922 \
  --output /tmp/details.json

All subcommands write JSON to disk. Always save output in a temporary location like `/tmp/`.

Identifying High-Confidence ("Type A") Biosamples

Biosamples in ENCODE are often categorized by their data completeness. **"Type A"** (or high-confidence) biosamples are those that have experimental data for all four core epigenetic markers: **DNase, H3K4me3, H3K27ac, and CTCF**.

The `biosamples` and `details` commands automatically enrich their output with an `is_type_a` boolean flag for each biosample.

**Example: Finding high-confidence cell types**

uv run scripts/screen_api.py biosamples --output /tmp/biosamples.json
# Use jq to filter for Type A biosamples
jq '.data.ccREBiosampleQuery.biosamples[] | select(.is_type_a == true) | .displayname' /tmp/biosamples.json

Parsing Output (CRITICAL)

**Do NOT use `cat` to read the entire JSON output file into context, as it** **can be extremely large.** Instead, you MUST use `jq` to efficiently parse and extract the relevant fields from the JSON file saved by the script. If `jq` is not available on the system, write your own Python filtering code (e.g., `python3 -c "import json..."`) to extract the necessary data.

For a complete reference of the JSON structure returned by eachmcommand (so you know which fields to query with `jq`), read `references/json_output_structure.md`.

Available Commands

  • `search`: Search cCREs by coordinates, accessions, or epigenetic signals.
    uv run scripts/screen_api.py search \
        --chromosome chr11 --start 5205263 --end 5207263 \
        --output /tmp/search.json
  • `nearby-genes`: Find nearby genes for given cCRE accessions.
    uv run scripts/screen_api.py nearby-genes \
        EH38E1516972 --output /tmp/nearby.json
  • `details`: Get detailed information and biosample-specific max Z-scores for

a specific cCRE.

    uv run scripts/screen_api.py details EH38E2941922 \
        --output /tmp/details.json
  • `biosamples`: Get biosample metadata for an assembly.
    uv run scripts/screen_api.py biosamples \
        --output /tmp/biosamples.json
  • `orthologs`: Get orthologous cCREs in another assembly.
    uv run scripts/screen_api.py orthologs EH38E2941922 \
        --output /tmp/orthologs.json
  • `linked-genes`: Find linked genes via methods like HiC or eQTLs.
    uv run scripts/screen_api.py linked-genes \
        EH38E1516972 --output /tmp/linked.json
  • `gene-expression`: Get gene expression (TPM) across all biosamples for a

named gene. Internally resolves the gene symbol to an Ensembl gene ID, then queries per-biosample RNA-seq quantifications.

    uv run scripts/screen_api.py gene-expression GAPDH \
        --output /tmp/gene_expr.json
  • `entex`: Get ENTEx data for a cCRE or genomic region.
    uv run scripts/screen_api.py entex \
        --accession EH38E1310345 \
        --output /tmp/entex.json
    uv run scripts/screen_api.py entex \
        --region chr1:1000068:1000409 \
        --output /tmp/entex.json
  • `gwas`: Query genome-wide association studies, SNPs, or enrichment data.
    uv run scripts/screen_api.py gwas studies \
        --output /tmp/gwas.json
    uv run scripts/screen_api.py gwas snps --study \
        Ahola-Olli_AV-27989323-Eotaxin_levels \
        --output /tmp/gwas_snps.json

You can supply the `--assembly mm10` or `--assembly grch38` flag to explicitly request a specific assembly for most commands. By default, the script targets `grch38` but will automatically fall back to `mm10` if no results are found or if the query fails.

ENCODE Portal REST API (Direct Access)

For accessing raw experiments, ChIP-seq peaks, or other datasets that are not represented as cCREs in SCREEN, use the `scripts/encode_portal_api.py` script. It allows custom queries to the ENCODE Portal REST API.

Usage

uv
Read more
Ships withscience-skills

A collection of agent skills for scientific research tasks, spanning genomics, structural biology, cheminformatics, literature search, and more.

Get the whole plugin

Other skills on science-skills.