Predict the base coat color probability for your future foal based on parental genetics.
Sire (Stallion)
EE (Homozygous Black – Cannot produce Red)
Ee (Heterozygous Black – Carries Red)
ee (Homozygous Red – Chestnut)
AA (Homozygous Bay – Restricts Black to points)
Aa (Heterozygous Bay – Carries Black)
aa (Non-Agouti – Allows solid Black)
Dam (Mare)
EE (Homozygous Black – Cannot produce Red)
Ee (Heterozygous Black – Carries Red)
ee (Homozygous Red – Chestnut)
AA (Homozygous Bay – Restricts Black to points)
Aa (Heterozygous Bay – Carries Black)
aa (Non-Agouti – Allows solid Black)
Predicted Outcome:
Understanding Horse Coat Color Genetics
The "base" color of every horse is determined primarily by two genes: Extension (E) and Agouti (A). While many other genes create dilutions (like Cream or Dun) and patterns (like Tobiano or Appaloosa), these two control whether a horse is Bay, Black, or Chestnut.
The Extension Gene (E)
This gene controls the production of black pigment.
EE or Ee: The horse can produce black pigment. The horse will appear black or bay.
ee: The horse cannot produce black pigment in the coat. The horse will be Chestnut (Red).
The Agouti Gene (A)
The Agouti gene acts as a "restrictor." It only affects black pigment, pushing it to the "points" of the horse (mane, tail, and lower legs). It has no visible effect on Chestnut horses because they lack black pigment for Agouti to act upon.
AA or Aa: If the horse has black pigment (E), Agouti turns the horse Bay.
aa: The black pigment is not restricted, making the horse a solid Black.
Common Examples
Bay + Bay: If both parents are heterozygous (EeAa), they can actually produce a Chestnut foal (25% chance) or a Black foal (approx 18% chance), even though both parents are Bay.
Chestnut + Chestnut: Two Chestnut horses (ee) will always produce a Chestnut foal (100%), as neither parent possesses the dominant "E" allele required for black pigment.
function calculateFoalColor() {
var sireE = document.getElementById('sireE').value;
var sireA = document.getElementById('sireA').value;
var damE = document.getElementById('damE').value;
var damA = document.getElementById('damA').value;
function getAlleles(genotype) {
return [genotype[0], genotype[1]];
}
var sE_alleles = getAlleles(sireE);
var sA_alleles = getAlleles(sireA);
var dE_alleles = getAlleles(damE);
var dA_alleles = getAlleles(damA);
var combinations = 0;
var counts = {
'bay': 0,
'black': 0,
'chestnut': 0
};
// Extension Punnett (4) x Agouti Punnett (4) = 16 possible outcomes
for (var i = 0; i < 2; i++) { // Sire E
for (var j = 0; j < 2; j++) { // Dam E
for (var k = 0; k < 2; k++) { // Sire A
for (var l = 0; l 0) {
html += '
Bay Probability:' + bayPerc + '%
';
}
if (parseFloat(blackPerc) > 0) {
html += '
Black Probability:' + blackPerc + '%
';
}
if (parseFloat(chestnutPerc) > 0) {
html += '