Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
google-deepmind avatar

Encode Ccres Database

  • 1.2k installs
  • 2.6k repo stars
  • Updated July 7, 2026
  • google-deepmind/science-skills

Encode-ccres-database is a scientific agent skill that queries the ENCODE SCREEN GraphQL API for candidate cis-regulatory element data from Claude, Cursor, or custom agents.

About

Encode-ccres-database is a Google DeepMind science skill that exposes the ENCODE SCREEN GraphQL API at `https://factorbook.api.wenglab.org/graphql` for agent-driven genomic lookups. It documents core queries such as cCRESCREENSearch with arguments for genome assembly (grch38, mm10), genomic coordinate ranges, cCRE accessions, CTCF z-score rank filters, and cell-type biosample filters. Developers building regulatory-genomics pipelines, annotation tools, or research agents reach for this skill when they need structured cCRE SCREEN results without hand-writing GraphQL against the Factorbook schema. The skill pairs schema reference material with query patterns agents can execute directly in Claude or Cursor sessions.

  • Full reference for cCRESCREENSearch, ccREBiosampleQuery and cCREQuery
  • Supports genomic coordinate, accession, cell-type and z-score range filters
  • Returns epigenetic z-scores, nearest genes, biosample metadata and assay accessions
  • Designed as reusable MCP-style skill for encode-database queries

Encode Ccres Database by the numbers

  • 1,241 all-time installs (skills.sh)
  • +167 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #270 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Security screen: LOW risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/google-deepmind/science-skills --skill encode-ccres-database

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.2k
repo stars2.6k
Security audit3 / 3 scanners passed
Last updatedJuly 7, 2026
Repositorygoogle-deepmind/science-skills

How do you query ENCODE cCRE data via GraphQL?

Query the ENCODE SCREEN GraphQL API for genomic cCRE data directly from Claude, Cursor or custom agents.

Who is it for?

Bioinformatics developers and computational biologists integrating ENCODE regulatory-element data into agent or pipeline workflows.

Skip if: Skip encode-ccres-database when your project does not need cis-regulatory element or ENCODE SCREEN genomic data.

When should I use this skill?

A developer asks to search cCREs, query Factorbook, filter by grch38/mm10 assembly, or pull ENCODE SCREEN regulatory elements.

What you get

Structured cCRE SCREEN search results with assembly, coordinate, accession, and cell-type filters applied.

  • cCRE search result sets
  • Filtered regulatory-element records

Files

SKILL.mdMarkdownGitHub ↗

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 LICENSE_NOTIFICATION.txt does not already exist in this skill 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 run scripts/encode_portal_api.py search "type=Experiment&target.label=ZNF549" --output /tmp/znf549_experiments.json

Data Analysis Tips

When analyzing .bed or .bigBed files downloaded from ENCODE, standard bioinformatics tools are highly recommended for finding overlaps (e.g., between gene promoters and peaks):

  • `bedtools`: For fast mathematical operations on genomic intervals.
  • `bigBedToBed`: For converting binary BigBed files to readable BED

format.

  • `pybedtools`: A Python wrapper for bedtools.

Write custom logic if these tools are not pre-installed.

Custom Queries (SCREEN GraphQL)

If you need to make a complex GraphQL query that the script does not support, read references/graphql_schema.md for a reference of available queries, arguments, and return fields in the SCREEN GraphQL API.

Related skills

FAQ

Which API endpoint does encode-ccres-database use?

Encode-ccres-database uses the ENCODE SCREEN GraphQL API at https://factorbook.api.wenglab.org/graphql, exposing queries like cCRESCREENSearch for candidate cis-regulatory element lookups.

What filters does cCRESCREENSearch support?

cCRESCREENSearch supports assembly strings such as grch38 and mm10, genomic coordinate ranges, cCRE accession lists, CTCF z-score rank bounds, and cellType biosample filters for targeted regulatory-element searches.

Is Encode Ccres Database safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Data Science & MLresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.