Calculateur du coefficient de parenté
Deux frères et sœurs germains partagent deux chemins de deux liens dans le pedigree : leur coefficient de parenté vaut 0,5, soit 50 %. Indiquez les chemins par les ancêtres communs et la consanguinité éventuelle pour obtenir le r de Wright. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Le coefficient de parenté, noté r ou r de Wright, est la fraction attendue d'allèles que deux individus partagent identiques par descendance parce que des chemins de pedigree les relient par des ancêtres communs. Les conseillers en génétique, les éleveurs, les généticiens de la conservation et les étudiants en génétique quantitative utilisent ce seul nombre pour comparer un pedigree esquissé aux valeurs de manuel du parent et de l'enfant, des germains, des demi-germains, du grand-parent et du petit-enfant, de l'oncle et de la nièce, ou des cousins germains. Ce calculateur du coefficient de parenté accepte chaque chaîne indépendante de liens générationnels qui joint les deux personnes par un ancêtre commun, la consanguinité facultative de cet ancêtre et la consanguinité facultative des deux individus focaux.
Ce que signifie le r de Wright et comment les liens générationnels le produisent
Sewall Wright a défini le coefficient de parenté pour qu'un pedigree devienne une probabilité plutôt qu'un dessin. Chaque chemin indépendant qui joint deux individus par un ancêtre commun contribue pour un demi élevé au nombre de liens générationnels de ce chemin, puis multiplié par un plus le coefficient de consanguinité de cet ancêtre. Un parent et un enfant partagent un seul chemin d'un lien, donc r vaut un demi.
Les germains partagent deux chemins de deux liens, un par chaque parent, et ces deux contributions d'un quart s'ajoutent en un demi. Les demi-germains ne partagent qu'un parent, donc un seul chemin de deux liens donne un quart. Les cousins germains partagent deux chemins de quatre liens par une paire de grands-parents et reçoivent un huitième.
Le coefficient de parenté φ vaut la moitié de r lorsque aucune des personnes focales n'est consanguine ; c'est la probabilité qu'un allèle tiré au hasard chez l'une soit identique par descendance à un allèle tiré au hasard chez l'autre. Lorsqu'une personne est consanguine, le calculateur utilise l'identité complète r égal à deux φ sur la racine carrée de un plus F_X fois un plus F_Y.
Les chemins doivent être indépendants : ne comptez pas deux fois la même chaîne et n'incluez pas de boucles qui passent deux fois par la même personne. Les jumeaux identiques sont traités comme un chemin d'identité à zéro lien avec r égal à un, ce qui est une définition plutôt qu'une longue marche de pedigree vers des ancêtres plus éloignés.
Qui utilise un calculateur de parenté
Les cours de génétique utilisent un calculateur du coefficient de parenté pour que les étudiants convertissent une esquisse de pedigree en r de Wright sans omettre un chemin ni mal compter les liens par un grand-parent. Les pedigrees de conservation des programmes d'élevage en captivité ont besoin d'un oracle déterministe qui renvoie parenté et relation afin de suivre la parenté moyenne sans dresser une bibliothèque de graphes complète pour une poignée de chemins.
Les fiches de conseil et les greffons LMS bénéficient d'un point parse minimal qui n'invente jamais de segments IBD ni de résultats de puces lorsque seule la méthode classique des chemins est exigée. Une validation en échec ne consomme pas le solde. Gardez la liste de chemins courte, figez relationship et kinship dans les tests, et vous obtenez des chiffres reproductibles de r de Wright pour les devoirs, les notes d'accouplement et les travailleurs en bordure sans base de pedigree à vous.
Cas d’usage
Devoirs de pedigree et de génétique quantitative en classe
Laissez les étudiants lister les chemins indépendants de liens générationnels d'un pedigree et vérifier le r de Wright, la parenté φ et la fraction réduite face aux valeurs de manuel pour parent, germains et cousins.
Contrôles d'accouplement pour le bétail et les animaux de compagnie
Comparez un appariement proposé en sommant les chemins par ancêtres partagés et, au besoin, élevez F_A lorsqu'un ancêtre commun est consanguin, avant de réserver l'accouplement.
Pedigrees de conservation et fiches de conseil génétique
Renvoyez une parenté et une relation déterministes pour des formulaires d'élevage en captivité ou de conseil sans importer une bibliothèque complète de graphes de pedigree.
Questions fréquentes
Quelle est la différence entre la parenté φ et la relation r ?
La parenté φ est la probabilité que deux allèles tirés au hasard, un de chaque personne, soient identiques par descendance. Le r de Wright vaut 2φ lorsque personne n'est consanguin, et 2φ / √((1+F_X)(1+F_Y)) lorsqu'ils le sont.
Peut-on inclure un ancêtre commun consanguin ?
La contribution du chemin est multipliée par (1+F_A).
Quel est le coefficient de parenté entre frères et sœurs germains ?
Un demi. Des germains partagent deux chemins de deux liens, un par chaque parent, et chaque chemin apporte un quart : ensemble, ils atteignent 0,5.
Quel est le coefficient de parenté entre cousins germains ?
Un huitième. Des cousins germains sont reliés par deux chemins de quatre liens chacun passant par un couple de grands-parents communs, et ces deux contributions donnent un huitième.
Comment compter les liens d'un chemin dans un pedigree ?
Comptez chaque pas de génération depuis la première personne jusqu'à l'ancêtre commun, puis jusqu'à la seconde. Un parent et son enfant sont à un lien ; des demi-frères, à deux liens par leur parent commun.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/bio/coefficient-of-relationship \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}'const res = await fetch("https://api.kit.forhosting.com/bio/coefficient-of-relationship", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/coefficient-of-relationship",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/coefficient-of-relationship", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/coefficient-of-relationship", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.coefficient_of_relationship",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_items | 50 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Contrat d'entrée, forme de la réponse et règles de validation
Chaque enregistrement exige links, un entier non négatif égal au nombre de pas générationnels, ou méioses, de la première personne jusqu'à l'ancêtre commun puis redescendu vers la seconde. Toute valeur de consanguinité doit être un nombre fini compris entre zéro et un inclus. Vous pouvez envoyer au plus cinquante chemins, et chaque valeur de links peut valoir au plus quarante afin que les puissances d'un demi restent dans la précision flottante habituelle. Exemple : deux enregistrements avec links égal à deux et ancestor inbreeding zéro décrivent des germains non consanguins et renvoient r égal à 0.5, φ égal à 0.25 et la fraction 1/2. Envoyez par POST un corps JSON dont le champ obligatoire paths est une liste non vide d'enregistrements de chemin. Un ancestor_inbreeding facultatif sur cet enregistrement est le coefficient de consanguinité de Wright F_A de l'ancêtre et vaut zéro par défaut. Les facultatifs de premier niveau inbreeding_a et inbreeding_b sont les coefficients de consanguinité des deux individus focaux et valent aussi zéro par défaut. L'absence de paths, une liste vide, un links non entier, un links négatif, une consanguinité hors de l'intervalle unitaire ou un nombre non fini échouent avec invalid_input en nommant le champ et ne sont pas facturés. En cas de succès, le corps renvoie les chemins normalisés avec la contribution de chacun à r, les deux valeurs individuelles de consanguinité, la parenté comme φ, relationship comme r, relationship_percent comme cent fois r et, lorsque tout coefficient de consanguinité est zéro, relationship_fraction comme chaîne dyadique réduite du type 1/2 ou 1/8. Un champ formula reformule les identités de Wright et method vaut wright_path.
Où une API du coefficient de parenté justifie son existence
Les éleveurs de bétail et d'animaux de compagnie comparent des accouplements proposés en lisant r à côté des bandes publiées pour demi-germains, oncle et nièce ou cousins germains, et peuvent élever ancestor_inbreeding lorsqu'un ancêtre commun est déjà consanguin. Comme l'implémentation est parse de niveau A, chaque appel réussi coûte le tarif de base publié $0.002 sans jetons de modèle ni réseau sortant.
Questions techniques
Comment calcule-t-on le coefficient de parenté à partir des chemins de pedigree ?
Envoyez paths sous forme d'enregistrements avec links (pas générationnels par chaque ancêtre commun) et, de façon facultative, ancestor_inbreeding. Les facultatifs inbreeding_a et inbreeding_b sont F_X et F_Y. L'API renvoie r = 2φ / √((1+F_X)(1+F_Y)) avec φ = Σ (1/2)^{L+1}(1+F_A).
Combien de liens utilisent les parents habituels ?
Parent et enfant est un chemin de 1 lien (r=1/2). Les germains sont deux chemins de 2 liens (r=1/2). Demi-germains ou grand-parent et petit-enfant sont un chemin de 2 liens (r=1/4). Les cousins germains sont deux chemins de 4 liens (r=1/8).
Combien coûte le calculateur du coefficient de parenté ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde prépayé KIT à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.