Genomic Coordinates
Prevents silent off-by-one and wrong-build errors whenever genomic coordinates cross a file format, tool, or assembly boundary.
Data & AnalyticsIntermediate★ 33,030⑂ 3,248AI score 9/10Last updated: Aug 9, 2026
What it does
- Coordinate conversion: rule-table based conversion between 0-based half-open (BED, bedGraph, PSL, genePred) and 1-based inclusive (GFF/GTF, VCF, SAM, WIG, Picard interval_list) via
convert_coords.py, including region strings likechr7:5,530,601-5,530,625. - Variant normalisation:
normalize_variant.pytrims to parsimony and left-aligns indels against a reference FASTA, compares whether two records describe the same change, and enforces splitting multi-allelic records with--splitbefore normalising. Every REF is verified against the FASTA. - Assembly and contig checks:
check_contigs.pyreads .fai, .chrom.sizes, VCF/SAM headers, FASTA, BED and GTF to identify GRCh37 vs hg19 vs GRCh38 vs T2T, chr-prefix mismatches, length conflicts, and coordinates past contig ends. - File auditing:
audit_intervals.pysurfaces evidence of coordinate mistakes (start_below_one,many_zero_length,past_contig_end,not_parsimonious,bad_alt_allele) and exits 1 on fatal findings, so it works as a CI gate. - Transcript/CDS/protein positions: clarifies HGVS
c.numbering, GFF phase, minus-strand direction, and points you to VEP,bcftools csq, Mutalyzer or thehgvspackage instead of hand arithmetic.
Who it's for
- Bioinformaticians and pipeline engineers working with WGS/WES data
- Clinical genomics teams joining or deduplicating variants against ClinVar/gnomAD
- Anyone who has been burned by mixing outputs from bedtools, samtools, bcftools, UCSC and Ensembl
Example uses
- "Convert peaks.bed to GTF coordinates" → start +1 only, with zero-length features flagged as unrepresentable.
- "My indels don't match ClinVar" → split multi-allelics, left-align normalise, then
--comparetwo representations for equivalence. - "Joining variants.vcf with annotation.gtf gives odd results" → run
check_contigs.pyto detect GRCh37/hg19/GRCh38 mixing and chr-prefix mismatch.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/HEAD/skills/genomic-coordinates/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
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 && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/genomic-coordinates ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and clone the repo:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Make sure the skills folder exists:
mkdir -p ~/.claude/skills - Copy just this skill:
cp -r scientific-agent-skills/skills/genomic-coordinates ~/.claude/skills/ - Check your Python version:
python3 --version(3.11+ required; no third-party packages needed). - For variant normalisation, have a reference FASTA ready, ideally with a
.faiindex (samtools faidx ref.fa). - Restart Claude Code and try a prompt like "convert this BED file to VCF coordinates" or "normalize this indel against GRCh38" to trigger the skill.
View source on GitHub ↗License: MIT