ucsc-conservation-and-tfbs

Fetch evolutionary conservation scores and transcription factor binding sites from the UCSC Genome Browser API.

Updated Jan 8, 2026
One-click install
npx skills add https://github.com/arslan9024/White-Caves --skill ucsc-conservation-and-tfbs-arslan9024
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ucsc-conservation-and-tfbs
Source: https://github.com/arslan9024/White-Caves/tree/main/.agents/skills/ucsc_conservation_and_tfbs
Command: npx skills add https://github.com/arslan9024/White-Caves --skill ucsc-conservation-and-tfbs-arslan9024

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires polite-http, and includes scripts (resource) components.

What problem does it solve? Determining whether a genomic variant or region is evolutionarily conserved or overlaps transcription factor binding sites requires querying multiple UCSC tracks manually, which is slow and error-prone. This Skill automates retrieval of phyloP/phastCons conservation scores and TFBS data from ENCODE, JASPAR, and ReMap via the UCSC REST API. ## Core Features & Use Cases - Conservation Scoring: Fetch phyloP and phastCons scores for single variants or regions across vertebrate, mammal, and primate alignments on hg38 or hg19. - TFBS Lookup: Query transcription factor binding sites from ENCODE clusters, JASPAR predictions, and ReMap ChIP-seq atlases, with optional TF name filtering. - Acceleration Analysis: Compute summary statistics on phyloP scores to flag regions undergoing evolutionary acceleration. - Use Case: Given a non-coding SNV at chr1:215867804, retrieve its phyloP100way score to assess pathogenicity, then check whether it disrupts a TP53 binding site from JASPAR. ## Quick Start Ask the assistant to fetch conservation scores and TFBS for a genomic coordinate such as chr8:11748914-11749085 using the UCSC conservation skill with output saved to a JSON file.

Frequently Asked Questions about ucsc-conservation-and-tfbs

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I get phyloP conservation scores for a genomic variant?▼

Run scripts/get_conservation.py with the --coordinates flag using 1-based coordinates like chr1:215867804 and an --output JSON file. The script queries the UCSC API and returns phyloP and phastCons scores for the region.

How do I find transcription factor binding sites in a genomic region?▼

Run scripts/get_tfbs.py with --coordinates and --tracks such as encRegTfbsClustered, jaspar2024, or ReMapTFs. Use --tf-filter with a name like TP53 to keep only matching TFName entries from large JASPAR result sets.

What is the difference between phyloP and phastCons scores?▼

phyloP measures constraint at individual sites, making it best for single nucleotide variants. phastCons uses HMM smoothing to identify conserved functional blocks, making it better suited for windows like enhancers.

Which genome assemblies and alignments does the UCSC API support here?▼

The scripts support hg38 and hg19, defaulting to hg38. Collections include the 100-vertebrate Multiz alignment, the Hiller 470-way mammal alignment for hg38, and 30-primate or legacy 46-way subsets.

Why does querying the jaspar track return a 400 error?▼

Tracks named jaspar or ReMap without a year are container tracks that the UCSC API rejects. Always use a specific subtrack name such as jaspar2026 or ReMapTFs, which you can discover with scripts/list_tracks.py.

Can this skill determine the ancestral nucleotide of a variant?▼

No, it only measures how much a site has changed via conservation scores, not what the ancestral nucleotide was. Ancestral state reconstruction requires different phylogenetic tools outside this skill's scope.