T2T-CHM13v2.0 · GRCh3824 chromosomes · run 2026-06-14Yossi Eliaz · 2026

What T2T changed in the human reference.

A per-chromosome delta, computed by a Claude Code agent on islo.dev sandboxes.

Abstract. T2T-CHM13 fills the gaps GRCh38 leaves, mostly centromeric, pericentromeric and acrocentric short-arm sequence [1]. For the 24 chromosomes of both assemblies I counted non-N bases and CpG-rule windows: non-overlapping 200-bp windows passing the Gardiner-Garden & Frommer rule (GC > 50%, observed/expected CpG > 0.6, at least 150 non-N bases) [3]. The windows are not merged into islands and are not annotated CpG islands. T2T adds a net 179.6 Mb of usable sequence and 40,492 windows (+15%). The gain is uneven: chrY, chr9 and chr16 add 14–36 Mb each but few windows, and the five acrocentric chromosomes add 80% of the extra windows. This is a reproducible composition measurement, not a biological finding.

01

Result

Added usable sequence (net)179.6 Mb
GRCh38 N (gap) sequence150.6 Mb
Extra CpG-rule windows40,492
Net Δwindows / net ΔMb225.4ratio of chromosome-level deltas, not a per-region density

The added sequence is not uniform. chrY (+36.0 Mb), chr9 (+28.8 Mb) and chr16 (+14.5 Mb) add large blocks of sequence but only 263, 324 and 232 windows, so their window density falls. On these chromosomes most of what T2T adds is satellite heterochromatin [1, 2]. The acrocentric chromosomes (chr13, chr14, chr15, chr21, chr22) add 32,339 of the 40,492 extra windows. A composition rule cannot say what those windows are: GC- and CpG-rich repeats can pass it without being promoter-type CpG islands [4].

Caveat. CpG-rule windows are not CpG islands. On chr21 the kernel finds 4,484 windows on GRCh38 and 11,409 on T2T; UCSC's CpG-island track lists 446 and 864. See Limits.

02

Figures

Figure 1 · Added usable sequence vs extra CpG-rule windows, per chromosome

Red: acrocentric chromosomes, many windows per added Mb. Blue: chrY, chr9 and chr16, much added sequence with few windows.

Figure 2 · Per-chromosome deltas, T2T − GRCh38

Hatched bars are losses, drawn left of the zero line: chrX has 0.6 Mb less non-N sequence in T2T, and chr12 has 44 fewer windows.

Figure 3 · Window density (windows per Mb of usable sequence), GRCh38 → T2T

The largest increases are on the acrocentric chromosomes. The largest decreases (chrY, chr16, chr9) are where the added sequence contributes few windows.

03

Method

scripts/compute.py reads one chromosome, counts bases, and tiles it from the start into non-overlapping 200-bp windows. A window passes if it has at least 150 non-N bases, GC > 50% and observed/expected CpG > 0.6, with obs/exp = CpG × L / (C × G) over its L non-N bases. Inputs are UCSC hg38 per-chromosome FASTA and UCSC hs1.fa.gz (T2T-CHM13v2.0); chr1–22, X and Y, no chrM.

The published numbers were computed on 2026-06-14 by a Claude Code agent running ./crabbox.sh t2t through the direct islo CLI path (commit 5357a12). One islo.dev sandbox downloads and splits hs1 and is saved as a snapshot; 24 forks of it each run one chromosome, 8 at a time. The GRCh38 values are the per-chromosome receipts of the earlier genomics-sandboxes run of the same kernel. An OpenClaw Crabbox execution path was added to the script later (61d1488) and has not been re-run.

Warm T2T base77.6 s
Save snapshot15.0 s
24 shards, 8 concurrent60.0 s
Snapshot size1009.5 MB
04

Limits

Windows are not CpG islands. Passing windows are not merged and no repeat filter is applied. chr21: 4,484 windows on GRCh38 (2,781 runs after merging adjacent windows) and 11,409 on T2T, against 446 (hg38) and 864 (hs1) in UCSC's CpG-island track. Stricter criteria that exclude repeats exist [4]; they were not applied.

Composition only. No repeat-annotation overlap was performed. Nothing here is a functional, promoter or methylation claim.

179.6 Mb is net. chrX is −0.6 Mb. GRCh38 centromeres are modeled sequence rather than N gaps, so its 150.6 Mb of N sequence undercounts what T2T resolved.

rDNA is modeled. CHM13's rDNA arrays are model sequences [1], so window counts there scale with the modeled copy number.

chrY is from HG002. T2T-CHM13v2.0 takes chrY from HG002, not CHM13 [2], so the chrY delta also reflects a different individual's Y.

Reference assemblies only. Nothing here is about any person, trait or diagnosis. Every number is in data/compare.json, which the page renders at load time.

05

Reproduce

Locally, one chromosome, no sandbox. The output matches the published GRCh38 chr21 receipt exactly, apart from compute_sec.

git clone https://github.com/zozo123/t2t-vs-grch38 && cd t2t-vs-grch38
python3 -m venv .venv && . .venv/bin/activate
pip install numpy==2.4.6
mkdir -p ref
curl -fsSL -o ref/chr21.fa.gz https://hgdownload.soe.ucsc.edu/goldenPath/hg38/chromosomes/chr21.fa.gz
GX_REF=ref python3 scripts/compute.py chr21 | python3 -c 'import json,sys; print(json.load(sys.stdin)["cpg_islands"])'
# 4484

All 24 chromosomes, on islo.dev. Needs the islo CLI, logged in. ./crabbox.sh t2t writes data/compare.new.json, never data/compare.json, and exits non-zero if any of the 24 shards is missing.

./crabbox.sh t2t
diff <(python3 -m json.tool data/compare.json) <(python3 -m json.tool data/compare.new.json)
§

References

  1. Nurk S. et al. The complete sequence of a human genome. Science 376:44–53, 2022. doi:10.1126/science.abj6987
  2. Rhie A. et al. The complete sequence of a human Y chromosome. Nature 621:344–354, 2023. doi:10.1038/s41586-023-06457-y
  3. Gardiner-Garden M., Frommer M. CpG islands in vertebrate genomes. J Mol Biol 196:261–282, 1987. doi:10.1016/0022-2836(87)90689-9
  4. Takai D., Jones P.A. Comprehensive analysis of CpG islands in human chromosomes 21 and 22. PNAS 99:3740–3745, 2002. doi:10.1073/pnas.052410099