Natural gene / phase 1

KIT (white spotting)

The white-patterning neighbourhood on equine chromosome 3, and the mod’s widest locus. Sabino 1 and the numbered W series are all KIT variants, so they are alleles of one gene — which means a horse can be sabino or dominant white, and never both. It replaces the old separate horsegenetics.white and horsegenetics.sabino genes. Most of what it does to a population is not the dramatic part: four mild, viable, additive boostersW35, W32, W34, W20 — are between them the commonest thing at this locus by a wide margin.

Crossing two of them

Viability: what canOccur means here

The alleles UC Davis lists as “homozygosity thought nonviable” — W22, W13, W23, W10, W5 — get canOccur false. Those are embryonic lethals, so there is no such horse — no catalogue entry, nothing in totalGenotypes(), nothing in the founder table. It is the same statement the sex locus makes about Y/Y, and it is a different statement from lethal white, which is a foal that is born.

Compound heterozygotes are allowed. W5/W13, W22/W10 and the rest are real horses. The evidence is about an allele paired with itself, and the breeding advice is to test a prospective mate for the same exact variant — so the rule in the model is one allele twice, not two strong alleles.

“No homozygote has been found” and “a homozygote has been found” are different claims, and the table says which is which. For most of the strong alleles the first is true and the model treats it as a lethal, which is what a breeder is told to do. For W15 the second is true — a W15/W15 horse is on record and it is all white — so its homozygote is allowed and lands on near-white. W4’s has no evidence either way, and picking “allowed” is the choice that does not invent a lethal the source never claims.

Breeding can still make an impossible foal

canOccur is consulted by the catalogue and the founder table, not by breedWith — so crossing two W5 carriers can still produce a W5/W5 foal, which is born and renders as near-white. Making it not exist needs the health system (roadmap §6.4); until then the tolerant answer beats throwing.

White finds white

The painter reads the coat handed to it and raises its own strength by 0.35 × however much of the horse is already de-pigmented. That is what makes W20 a booster rather than a decoration, and it is why a KIT pattern over a tobiano or a frame reads louder than the same pattern on a solid horse. One line in the painter, no interaction table anywhere. Full reasoning on the pipeline page.

Still simplified

Pink skin is not rendered (the model has no skin layer, only hair). The W1W4, W6W9, W11W19 and W21 alleles are not modelled — their published descriptions do not separate them from the eight that are, and each would add a row nobody could read on a horse. Adding one is a line in alleles(), a row in expressionOf and a frequency.

Its gene carrot

Blue eyes — but only from broad white upward

This is the locus that has to draw a line. A plain sabino with four socks and a blaze has ordinary dark eyes — the white on it never reached the head — so only broad-white and above claim a blue iris through the eye-colour channel. That is the difference between this locus and splash, where even a modest marking comes with blue.

One or two blue eyes. A depigmenting claim frequently fails to reach the whole of both irises: 62% of blue-eyed horses get two whole blue eyes, 22% get exactly one (complete heterochromia, the other eye keeping whatever colour the horse's pigment genes gave it), and 16% get a wedge in one or both. It is one roll off this locus's own stored values, inherited with the allele copy — see the spread.

A horse can still qualify the other way: past 55% of the coat depigmented, the eyes follow however the horse got there — which covers a sabino that is also something else.

Gene key
horsegenetics.kit
Priority
76
Alleles
W22 W4 W13 W23 W10 W5 W15 SB1 W20 W35 W32 W34 N
Combinations
every pair of its alleles, minus KitGene.nonviableHomozygotes(); one outcome each — WhitePatternGenesTest asserts the relationship rather than the counts
Outcomes
wild, minimal-white, modest-white, sabino, broad-white, extensive-white, near-white, dominant-white (masks), camarillo-white (masks)
Default allele
N
Wild frequency
the boosters first — W35 9%, W20 8.5%, W32 3.5%, W34 1% — then SB1 2.2%, and every strong W at or below 0.5%. See KitGene.frequencies(); Hardy-Weinberg over the lot, with the nonviable homozygotes dropped and the rest rescaled
Founder draws
1 × nextFloat()
Deterministic
no, except the wild type and dominant white
Epi draws
nextLong() seed, 4 × nextFloat() leg heights, nextFloat() belly, nextFloat() face
Painter
WhitePattern.sabino, at a strength per outcome

The alleles

Twelve of the thirty-plus named ones (W1W35, with gaps — there is no W29), chosen to span the real range rather than to reproduce a testing panel. The W number is a discovery order, not a severity rankingW20 is far milder than W5, and nothing about an allele can be inferred from its number.

AlleleOne copyTwo copies
Nwild type
W35booster: often nothing visible, through sabino-likeviable, modestly more
W32booster: one of the mildest variants knownviable, modestly more
W34booster: nothing visible, through sabino-likeviable, modestly more
W20booster: subtle, ordinary face and leg whiteviable, modestly more — not twice as white
SB1classic sabino 1viable, sabino-white (90%+)
W15sabino-like through very whiteviable — an all-white W15/W15 is on record
W5sabino-like, broadcannot occur
W10sabino-like, broadcannot occur
W13near-white to all whitecannot occur
W23near-white to all whitecannot occur
W4Camarillo white — all white from birth, pink skin, masksviability unknown — allowed
W22dominant white — all white, maskscannot occur

Two all-white alleles, and why they are two outcomes

W22 and W4 paint the identical horse: pure white, pink skin, every other coat gene hidden and still inherited. “No pigment cells reached the coat” has one appearance, so they could have shared an outcome. They do not, and the reason is that they differ in the only thing a breeder can act on:

  • W22’s homozygote is thought nonviable. Two W22 parents throw a quarter fewer live foals, and no W22/W22 horse exists.
  • W4’s is not known to be. Claims about which dominant-white variants are embryonic lethal are allele-specific, and the ones made online frequently are not. Where the reference is silent this mod allows the homozygote, exactly as it does for W23.

W4 is also a named line rather than a generic white horse. It traces to one stallion, Sultan, born about 1912 and bought at the California State Fair in 1921 by Adolfo Camarillo, who bred him to Morgan mares; the descendants were parade horses for sixty years and the herd was dispersed at auction in 1987. That is why the Morgan is the one breed here carrying it, and why the gene dictionary says “Camarillo white” instead of throwing the fact away.

White from birth is not the same as white with age

Four things in this mod can render a white horse and only one of them is this. A grey is born coloured and loses it, over dark skin; a double dilute is born pale cream with pink skin and blue eyes; an extensive splash or sabino is a pattern that happens to have run out of room. A W4 or W22 horse is white because the pigment cells never populated the coat at all, and it is that way the day it is born.

The boosters are most of what this locus does

W35, W32, W34 and W20 are one group and behave as one. All four are mild; all four have viable homozygotes; all four range from “no visible white beyond ordinary markings” to frank sabino-like spotting; and all four add white beside any other variant here.

W20 is the famous one — detected in twenty-five of twenty-eight surveyed breeds, and reaching an allele frequency of 0.34 in sampled Thoroughbreds, 0.33 in Gypsy Cobs and 0.21 in Paints. But in the one large commercial dataset that measured the newer alleles, W35 was commoner still at 0.168, with W32 at 0.061 behind it. That is the correction this page used to need: the mod carried W20 alone and treated the rest of the locus as a museum of rare founder alleles.

The founder frequencies here are that ordering at roughly half the magnitude, because a commercial colour-testing dataset is a population selected for having something to find. The breeds that genuinely carry them — the stock horses for W35 and W34, the Thoroughbred and the Paint for W20, the Quarter Horse, Paint, Standardbred and Welsh Pony for W32 — say so in their own tables.

Three things this page deliberately does not model

Haplotype phase. Several KIT changes can sit on the same physical chromosome — W22 is usually reported linked with W20, and one 2024 dataset found horses carrying six variants across their two copies. A horse here has two alleles at this locus and no more, because an allele pair is the model. Linkage is a system, not a number.

W34 × MC1R. Its effect is reported as possibly stronger on a chestnut background. “Possibly” is doing a lot of work there, and buying it would cost W34 an outcome of its own.

The other twenty-odd named allelesW1W3, W6W9, W11, W12, W14, W16W19, W21, W24W28, W30, W31, W33. Almost all are one founder or one family, described in terms an allele already here covers, with frequencies that round to zero. The owner does want the full set eventually, redundant alleles included, so this is a “not yet” rather than a “no” — see the roadmap, which also notes the combinatorial cost of each one.

The combination table

Every pair of alleles, nine outcomes, written as a cascade: the strongest allele first, then what the second copy adds. There is no dose arithmetic and deliberately so — this locus holds a real viable dose series (SB1), a booster that is subtle alone (W20), and several alleles that are “dominant with variable expression”, where one copy is already effective and the phenotype is not neatly intermediate. Only a table says all three at once.

CombinationOutcomeLook
anything with W22dominant-white (masks)pure white, pink skin, no other coat gene visible
anything else with W4camarillo-white (masks)the same white. A separate outcome because the two differ in what a breeder acts on, not in what they look like
any two strong alleles (W13, W23, W10, W5, W15); W13/W23+SB1 or a booster; W10/W5/W15+SB1; SB1/SB1near-white90%+ white, a few coloured flecks on ears and crest
W13/W23+N; W10/W5/W15+ a boosterextensive-whitemost of the horse white, colour holding along the topline
W10/W5/W15+N; SB1+ a boosterbroad-whiteirregular white well up legs and flanks, wide blaze, first barrel patches
SB1/Nsabinotall jagged stockings, belly white, broad blaze, roaned margins
two booster copies — the same one twice, or two different onesmodest-whitenarrow blaze, socks past the fetlock, maybe a belly fleck
one booster copy beside Nminimal-whitea star or snip and a low sock or two
N/Nwild typenothing
Two of these are the same expression on purpose

W5/N and W15/N both land on broad-white, and so do several others. That is not the model losing information: the source describes those alleles in overlapping terms and separates them mainly by how much white a copy tends to make. Several combinations sharing an outcome is what “dominant” used to mean, and the combination table says it directly.

How it paints

Every painted outcome is the same WhitePattern.sabino shape at a different strength: white grows inward from the extremities — legs, belly, face — with ragged, roaned margins, and past about strength 0.42 the body follows in torn patches, colour retreating last to the ears and crest. That is what “sabino-like” means throughout the W series, and writing a bespoke painter per allele would be writing the same painter eight times and pretending the differences were principled.

common/genetics/genes/KitGene.java
private static final double S_MINIMAL    = 0.12;
private static final double S_MODEST    = 0.24;
private static final double S_SABINO    = 0.42;
private static final double S_BROAD     = 0.58;
private static final double S_EXTENSIVE = 0.74;
private static final double S_NEAR_WHITE = 0.93;

Measured coverage through the real pipeline, averaged over three epigenomes: W20/N 5.7%, W20/W20 11%, SB1/N 15%, SB1/W20 25%, W13/N 73%, SB1/SB1 94%, W22/N 100%. WhitePatternGenesTest pins that the ladder is monotone at every step, because a ladder whose rungs a player cannot tell apart is a ladder whose descriptions are decoration.

Dominant white is a different painter, not the top of the ramp: it zeroes both pigments everywhere and masks. All-white is not a great deal of sabino, it is the absence of pigment cells altogether — and the model has one true epistatic result rather than an asymptote.

The face

The face marking comes from the shared face-marking vocabulary every white locus shares, at the outcome’s own strength and with a jag of 0.42 — so a KIT marking has the same torn margin on the face that it has on the body. Strength picks the distribution rather than the marking, which is what finally makes the weak end of this locus mean what its description has always said: W20/N is “a star and a sock”, and about a third of the time it is now literally a star — a detached patch on the forehead, with about another third of horses carrying nothing on the face at all. Up the ladder it becomes a star and stripe, then a blaze, and SB1/SB1 is a bald face three times in five.

What is at this locus, and what only looks like it is

This is the distinction the whole restructure turns on. Only alleles at exactly the same locus share a gene. SB1 and every numbered W are defined KIT variants, so they compete for the same two chromosome slots. Two patterns that sit right beside them do not:

PatternWhat it actually isWhere it lives here
Sabino 1, W1W35KIT variantsthis gene
Tobianoa large inversion near / downstream of KITits own gene
Roanmaps to the region; causal change unresolved, breed-dependentits own gene
Splash whiteMITF and PAX3 — different chromosomes entirelytwo genes
Frame overoEDNRBits own gene

So a tobiano can also carry W20, and a dominant white can be a roan underneath — both of which real horses are, and neither of which the old single “white” gene could say.

Source: common/genetics/genes/KitGene.java, common/coat/pattern/WhitePattern.java