Interaktiivinen työkalu

Somalikissan Geenilaskin

Tutki somalikissan genetiikkaa ja pentujen värivaihtoehtoja! Somalikissan geenilaskurilla ja pentulaskurilla voit laskea uroskissan ja naaraskissan kantamien alleelien perusteella mahdollisten somalipentujen värit Mendelin lakien mukaan.

Somalikissa uros (Sire / Isä)

Isä ♂

Somalikissa naaras (Dam / Emo)

Emä ♀

Opas kantajuuden selvittämiseen ilman DNA-testiä

Kissan kantamat piilevät (resessiiviset) geenit voidaan usein päätellä sukupuun ja aiempien pentueiden avulla:

  • Kissan omat vanhemmat: Jos kissan toinen vanhempi on punainen tai sininen/beige, kissa kantaa tätä piilevää geeniä aina 100 % varmuudella (resessiivinen vanhempi periyttää aina kyseisen alleelin).
  • Aiemmat jälkeläiset: Jos kaksi riistanväristä kissaa saa keskenään punaisen, sinisen tai beigen pennun, molempien vanhempien on pakko kantaa kyseistä geeniä piilevänä.
  • Kissan sisarukset: Jos riistanvärisen kissan sisarus on punainen, sininen tai beige, tiedetään että molemmat vanhemmat kantavat kyseistä geeniä. Tällöin kissalla itsellään on 66 % (2/3) todennäköisyys olla kantaja.
  • Isovanhemmat sukutaulussa: Jos esimerkiksi kissan isoisä on punainen tai sininen/beige, kissa kantaa kyseistä geeniä 50 % todennäköisyydellä.

Muodostetaan Punnettin neliötä...


Pentujen mahdolliset värit

Geneettinen selvitys suomeksi

Laske pentue ensin nähdäksesi periytymisen selostuksen.

Tietoa koodista (IT-rekrytoijille)

Tämän sivun sovelluslogiikan ja toteutuksen selostus

Vanilla JS + Bootstrap 5

Tämä geenilaskin on rakennettu kokonaan ilman raskaita kirjastoja tai ulkoisia riippuvuuksia (puhdas vanilla JavaScript). Se simuloitua biologista genetiikkaa muodostamalla dynaamisesti isän ja emän alleelit, suorittamalla ristiintaulukoinnin (Punnettin neliö) suoraan selaimessa ja laskemalla fenotyyppien todennäköisyydet.

Algoritmin toiminta (JavaScript):
// 1. Muodostetaan isän ja emän alleeliparit valintojen mukaan const sireGenotype = getGenotype(sireColor, sireCarriesSorrel, sireCarriesDilution); const damGenotype = getGenotype(damColor, damCarriesSorrel, damCarriesDilution); // 2. Lasketaan sukusolujen (gametes) yhdistelmät 4x4-matriisissa let combinations = []; for (let sColor of sireGenotype.color) { for (let sDil of sireGenotype.dilution) { for (let dColor of damGenotype.color) { for (let dDil of damGenotype.dilution) { // Yhdistetään ja määritetään fenotyyppi const phenotype = determinePhenotype(sColor, dColor, sDil, dDil); combinations.push(phenotype); } } } }
Katso koodit ja muut projektit GitHubista: smyllynen