Genomic Coordinates
Convert coordinates across BED/GFF/VCF formats, normalise variants, and catch assembly mismatches before they silently corrupt an analysis.
Data & AnalyticsAdvanced★ 33,030⑂ 3,248AI score 9/10Last updated: Aug 9, 2026
What it does
Targets the quietest class of bug in genomics — coordinate errors that parse cleanly and return plausible but wrong answers.
- Format conversion: moves intervals between 0-based half-open formats (BED, bedGraph, PSL, genePred, bigWig) and 1-based inclusive ones (GFF3, GTF, VCF, WIG, Picard interval_list) using an explicit table.
convert_coords.pyalso parses UCSC-style region strings and flags zero-length features asunrepresentableinstead of silently mangling them. - Variant normalisation:
normalize_variant.pytrims to parsimony and left-aligns indels against a reference FASTA, checks every REF against the FASTA, splits multi-allelic records, and compares two representations for equivalence. - Assembly checks:
check_contigs.pyreads.fai,.chrom.sizes, VCF/SAM headers, FASTA, BED and GTF, identifies GRCh37 / hg19 / GRCh38 / T2T from chromosome lengths, and reports chr-prefix mismatches, length conflicts and missing contigs. - File audits:
audit_intervals.pyfinds the fingerprints of coordinate mistakes and exits 1 on fatal findings, so it doubles as a CI gate. - Transcript/CDS/protein positions: explains HGVS numbering, the no-
c.0rule, GFF phase, and why conversion needs a transcript model rather than arithmetic.
Who it's for
- Bioinformaticians and pipeline engineers handling VCF, BED and GTF daily
- Anyone whose ClinVar/gnomAD joins return suspiciously few matches
- Teams untangling mixed GRCh37/GRCh38 pipelines
- Trainees who want a trustworthy reference for coordinate conventions
Examples
- Off-by-one hunt: "My BED × GTF intersect looks shifted by 1bp" — the skill checks both conventions and audits the BED for 1-based rows.
- Missing variant match: normalise
chr1:7:CAC:Ctochr1:2:GCA:Gand confirm both describe the same deletion before joining to a database. - Build mismatch triage: run
check_contigs.py --identifyto distinguish GRCh37 from hg19 by mitochondrial length (16,569 vs 16,571 bp) before trusting any join.
· · · Install guide · · ·
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/genomic-coordinates folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/genomic-coordinates/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git /tmp/scientific-agent-skills && mkdir -p ~/.claude/skills && cp -r /tmp/scientific-agent-skills/skills/genomic-coordinates ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and confirm your Python version:
python3 --version(3.11 or newer required). - Clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Create the skills directory if needed:
mkdir -p ~/.claude/skills - Copy just this skill:
cp -r scientific-agent-skills/skills/genomic-coordinates ~/.claude/skills/ - Restart Claude Code, then try a prompt like "convert these BED coordinates to GTF" or "normalize the indels in this VCF".
- For variant normalisation, have a reference FASTA ready — ideally with a
.faiindex created viasamtools faidx. - To run the scripts manually:
cd ~/.claude/skills/genomic-coordinates/scripts && python3 convert_coords.py --listto print the convention table.
View source on GitHub ↗License: MIT