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 boosters
— W35, 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.
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.
Pink skin is not rendered (the model has no skin layer, only hair). The
W1–W4, W6–W9,
W11–W19 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
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 —WhitePatternGenesTestasserts 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 —
W359%,W208.5%,W323.5%,W341% — thenSB12.2%, and every strongWat or below 0.5%. SeeKitGene.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 (W1–W35, 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 ranking — W20 is far milder than
W5, and nothing about an allele can be inferred from its number.
| Allele | One copy | Two copies |
|---|---|---|
N | — | wild type |
W35 | booster: often nothing visible, through sabino-like | viable, modestly more |
W32 | booster: one of the mildest variants known | viable, modestly more |
W34 | booster: nothing visible, through sabino-like | viable, modestly more |
W20 | booster: subtle, ordinary face and leg white | viable, modestly more — not twice as white |
SB1 | classic sabino 1 | viable, sabino-white (90%+) |
W15 | sabino-like through very white | viable — an all-white W15/W15 is on record |
W5 | sabino-like, broad | cannot occur |
W10 | sabino-like, broad | cannot occur |
W13 | near-white to all white | cannot occur |
W23 | near-white to all white | cannot occur |
W4 | Camarillo white — all white from birth, pink skin, masks | viability unknown — allowed |
W22 | dominant white — all white, masks | cannot 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. TwoW22parents throw a quarter fewer live foals, and noW22/W22horse 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 forW23.
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.
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.
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 alleles — W1–W3,
W6–W9, W11, W12,
W14, W16–W19, W21,
W24–W28, 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.
| Combination | Outcome | Look |
|---|---|---|
anything with W22 | dominant-white (masks) | pure white, pink skin, no other coat gene visible |
anything else with W4 | camarillo-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/SB1 | near-white | 90%+ white, a few coloured flecks on ears and crest |
W13/W23+N; W10/W5/W15+ a booster | extensive-white | most of the horse white, colour holding along the topline |
W10/W5/W15+N; SB1+ a booster | broad-white | irregular white well up legs and flanks, wide blaze, first barrel patches |
SB1/N | sabino | tall jagged stockings, belly white, broad blaze, roaned margins |
| two booster copies — the same one twice, or two different ones | modest-white | narrow blaze, socks past the fetlock, maybe a belly fleck |
one booster copy beside N | minimal-white | a star or snip and a low sock or two |
N/N | wild type | nothing |
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.
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:
| Pattern | What it actually is | Where it lives here |
|---|---|---|
Sabino 1, W1–W35 | KIT variants | this gene |
| Tobiano | a large inversion near / downstream of KIT | its own gene |
| Roan | maps to the region; causal change unresolved, breed-dependent | its own gene |
| Splash white | MITF and PAX3 — different chromosomes entirely | two genes |
| Frame overo | EDNRB | its 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.
common/genetics/genes/KitGene.java,
common/coat/pattern/WhitePattern.java