genomic-coordinates

genomic-coordinates is a skill for Claude Code from synthetic-sciences/openscience. It costs 223 tokens per session (2,902 once invoked), scanned A, a copy of genomic-coordinates, Apache-2.0.

A genomics utility for converting and checking genomic coordinates. Genomic coordinates identify positions on DNA, but formats and reference assemblies can use different numbering rules.

In plain words
What is it for?
Use it to convert positions between BED, GFF/GTF, VCF, SAM/BAM, WIG, PSL, and related formats, and to compare or normalise variant representations.
Why use it?
It prevents silent errors such as off-by-one positions, mismatched chromosome names, or joining data from different genome assemblies. These mistakes can produce plausible but incorrect results.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter.

Good fit Use it to convert positions between BED, GFF/GTF, VCF, SAM/BAM, WIG, PSL, and related formats, and to compare or normalise variant representations.

Compare 6 skills from other repositories ↓
Install with agentmods
npx agentmods add skills/synthetic-sciences/openscience/genomic-coordinates
About the project

synthetic-sciences/openscience is an AI workbench that carries out scientific research by reading papers, forming hypotheses, writing and running code, conducting experiments, analyzing results, and preparing reports. Researchers use it for work in machine learning, biology, physics, and chemistry with remote or local models. Catalogue add-ons extend its scientific workflows through skills and instructions.

synthetic-sciences/openscience · 4,025 stars · on GitHub · openscience.sh

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

Any agent
npx skills add synthetic-sciences/openscience --skill genomic-coordinates
Clone the repo
git clone --depth 1 https://github.com/synthetic-sciences/openscience

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for genomic-coordinates

README.md
[![agentmods](https://agentmods.dev/badge/skills/synthetic-sciences/openscience/genomic-coordinates/github.svg)](https://agentmods.dev/skills/synthetic-sciences/openscience/genomic-coordinates)
Your own site
<a href="https://agentmods.dev/skills/synthetic-sciences/openscience/genomic-coordinates"><img src="https://agentmods.dev/badge/skills/synthetic-sciences/openscience/genomic-coordinates/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for genomic-coordinates

Your own site · 80×15
<a href="https://agentmods.dev/skills/synthetic-sciences/openscience/genomic-coordinates"><img src="https://agentmods.dev/badge/skills/synthetic-sciences/openscience/genomic-coordinates.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 223 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,902 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin 91% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.00223 $0.02902
Opus 5.5 $0.00089 $0.01161
Sonnet 5.5 $0.00045 $0.00580
Haiku 4.5 $0.00022 $0.00290

Measured 20d ago against content hash 7f41234352f7, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

genomic-coordinates scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 20d ago.

The scan reads SKILL.md. This mod also ships 5 executable files (scripts/_common.py, scripts/audit_intervals.py, scripts/check_contigs.py, …), listed below but not scanned — reading those needs a real analyzer, not pattern matching.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

91% identical to genomic-coordinates — 115 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

backend/cli/skills/biology/genomic-coordinates/SKILL.md · 229 lines

How it starts

The opening of the file, as written. The whole thing — 229 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Genomic Coordinates

When to use

Any time a coordinate crosses a boundary: between two file formats, between two tools, between two assemblies, or between the genome and a transcript.

The rule

A coordinate is three facts, not one: the number, the convention it is written in, and the assembly it was measured against. Carry all three or the number is not interpretable.

Coordinate errors are the quietest class of bug in genomics. An off-by-one BED file parses, sorts, and intersects without complaint. A GRCh37 VCF joined against a GRCh38 annotation returns rows. A right-shifted indel simply fails to match its entry in ClinVar, and the result is a variant reported as novel. Nothing raises an error; the answer is just wrong, and it is wrong in a direction that looks plausible.

So: convert with the table, not from memory, and verify against the reference whenever a reference is available.

The two conversions

1-based inclusive  ->  0-based half-open :  start - 1,  end
0-based half-open  ->  1-based inclusive :  start + 1,  end

The end coordinate never moves. If a conversion changed both numbers, it is wrong.

Which format is which

0-based, half-open 1-based, inclusive
BED, bedGraph, bigWig, narrowPeak GFF3, GTF, VCF
BAM/CRAM (binary POS) SAM (text POS)
PSL, genePred, refFlat WIG, Picard interval_list
MAF (UCSC multiple alignment) MAF (TCGA mutation annotation)
PyRanges, pybedtools GRanges/IRanges, samtools & UCSC & Ensembl region strings

Both "MAF" formats exist, they mean different things, and they disagree. UCSC serves 0-based files through a 1-based browser box. references/format-conventions.md has the full table with per-format detail.

cd skills/genomic-coordinates/scripts

python3 convert_coords.py --list                          # the table
python3 convert_coords.py --from bed --to gff chr1 999 1000
python3 convert_coords.py --from ucsc --to bed "chr7:5,530,601-5,530,625"
python3 convert_coords.py --from granges --to pyranges --input regions.tsv

Read the full file on GitHub · 229 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 20d ago Changed · +15 lines 7f41234352f7
  2. 1mo ago Changed · +5 lines 2972662826ee
  3. 1mo ago First seen · 209 lines · 223 tokens per session scan A c507b019caed

Subscribe to this mod's changes

genomic-coordinates is a skill published in the GitHub repository synthetic-sciences/openscience (4,025 stars, last pushed today), licensed Apache-2.0. It adds 223 tokens to every session and 2,902 once invoked, about $0.0009 per session on Opus 5.5. A static security scan graded it A with 0 findings. It is 91% identical to genomic-coordinates, differing in 115 lines, and is treated as a copy.