igv-tracks

Visualize genomic signal tracks from bigWig, BED, and BAM files using IGV, pyGenomeTracks, and igv.js.

1|Updated Oct 25, 2020
One-click install
npx skills add https://github.com/bfairkun/dotfiles --skill igv-tracks-bfairkun
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: igv-tracks
Source: https://github.com/bfairkun/dotfiles/tree/main/agents/.agents/skills/igv-tracks
Command: npx skills add https://github.com/bfairkun/dotfiles --skill igv-tracks-bfairkun

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires pyBigWig, pysam, matplotlib, pygenometracks.

What problem does it solve? Genomics researchers need to visualize RNA-seq, ChIP, and ATAC signal over genomic regions, but each visualization tool (UCSC exports, IGV sessions, pyGenomeTracks, igv.js) has its own format quirks and silent failure modes that waste hours of debugging. ## Core Features & Use Cases - UCSC Export Analysis: Load gzip-compressed UCSC Genome Browser JSON exports and compute signal across BED12 blocks (e.g., exons of splice isoforms) with genometracks_utils, returning tidy DataFrames and plots. - IGV Session XML Generation: Create IGV session files with correct SAMBA-mounted paths, standard hg38 annotation tracks, panel layout rules, and strand-specific coloring for local IGV viewing. - Self-Contained igv.js Notebooks: Embed fully interactive genome browsers in Quarto notebooks using gzip+base64 bedgraph data URIs, with recipes for multi-locus dropdowns, per-feature coloring, ROI highlighting, and autoscale toggles. - Use Case: Compare RNA-seq coverage across splice isoforms of a gene by exporting UCSC tracks, intersecting with a BED12 of transcript exons, and producing a weighted-mean signal table plus a publication-quality PDF plot. ## Quick Start Ask the assistant to plot bigWig signal over a genomic region or transcript set, for example: visualize RNA-seq coverage for my samples across the exons in transcripts.bed and save the figure as a PDF.

Frequently Asked Questions about igv-tracks

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

FAQPage Schema
How do I plot bigWig signal over genomic regions in Python?▼

Use genometracks_utils to load UCSC JSON exports and compute signal across BED12 blocks with get_block_signal_df, then render with plot_block_signal. Alternatively, run pyGenomeTracks with an INI config specifying bigWig files, region, and output PDF.

How to embed an interactive genome browser in a Quarto notebook?▼

Use igv.js loaded from CDN with bigWig data converted to gzip+base64 bedgraph data URIs via pyBigWig, then embed through a JS-built iframe. Setting srcdoc as a literal HTML attribute fails because pandoc re-escapes the embedded script tags.

pyGenomeTracks vs igv.js for genome track visualization?▼

pyGenomeTracks produces static publication-quality PDF figures from local BAM, bigWig, BED, and GTF files via INI configs. igv.js creates interactive browsers embeddable in HTML notebooks, better for exploration across multiple loci.

Why does my igv.js browser show blank tracks?▼

Blank tracks usually result from bedgraph data that is not coordinate-sorted, which breaks navigation away from the initial locus. Another cause is srcdoc set as a literal attribute, where pandoc escapes the embedded page's script tags so igv.js never parses.

Why does IGV render my BED file as arcs instead of blocks?▼

IGV auto-detects any BED file whose name contains 'junctions' and renders it as splice-junction arcs without name labels. Rename the file with a suffix like _features.bed or _intervals.bed to get standard filled-block display.

Can I use igv-reports for RNA-seq coverage tracks?▼

No, igv-reports is a variant-centric tool that does not support bigWig tracks properly. For RNA-seq coverage in a self-contained HTML page, use igv.js with bedgraph data URIs as described in the embedding recipes.