Probabilité combinée de pedigree et risque pour la descendance
Ce calculateur de probabilité combinée de pedigree estime la probabilité d’un génotype ou d’une affection chez la descendance lorsque plusieurs scénarios génotypiques parentaux peuvent y conduire.
Lancer gratuitement
Pour chaque voie mutuellement exclusive, indiquez la probabilité du génotype du parent A, celle du parent B et la probabilité conditionnelle de transmission. L’outil multiplie les trois facteurs indépendants de chaque voie, puis additionne leurs contributions. Il fournit chaque résultat intermédiaire, la probabilité totale et son pourcentage afin que vous puissiez contrôler les règles du produit et de la somme.
Décrivez le pedigree par des voies mutuellement exclusives
Définissez d’abord un seul résultat cible : enfant atteint, porteur ou héritant d’un génotype précis. Recensez ensuite toutes les combinaisons génotypiques parentales susceptibles de produire ce résultat. Chaque ligne exige un libellé unique, une probabilité pour le parent A, une pour le parent B et la probabilité conditionnelle du résultat chez l’enfant pour ce couple de génotypes. Les voies doivent être exclusives : ne décrivez pas deux fois le même état parental et évitez tout chevauchement. Une ligne où les deux parents sont porteurs diffère d’une ligne où A est atteint et B porteur. Saisissez les pourcentages sous forme décimale entre 0 et 1 ; 25% devient 0.25. Le calcul suppose l’indépendance des probabilités parentales dans chaque ligne. En présence de parenté, de structure de population ou d’éléments de preuve communs, établissez au préalable une probabilité conjointe adaptée avant d’utiliser ce modèle simplifié.
Multipliez dans chaque ligne, puis additionnez les lignes
Le calculateur multiplie d’abord la probabilité du parent A par celle du parent B. Sous l’hypothèse d’indépendance, ce produit est la probabilité parentale conjointe. Il la multiplie ensuite par la probabilité conditionnelle de transmission afin d’obtenir la contribution de la voie au risque. Avec 0.5, 0.4 et 0.25, la contribution vaut 0.05. L’outil additionne enfin les contributions, car les lignes constituent des routes alternatives et exclusives vers le même résultat. La réponse contient la probabilité parentale conjointe, chaque contribution, le total décimal et le pourcentage, arrondis à douze décimales pour garantir des résultats automatisés stables. Un total supérieur à 1 est refusé, puisqu’il révèle vraisemblablement un chevauchement ou des données incohérentes. Zéro reste valide. Aucun appel réseau, tirage aléatoire ou élément temporel n’intervient.
Interprétez le résultat sans surestimer la certitude génétique
Considérez la valeur combinée comme la conséquence des nombres et hypothèses fournis, non comme un diagnostic ou une évaluation clinique complète. Le risque réel peut dépendre de la pénétrance, du phénotype, de l’ascendance, de variants de novo, de la sensibilité des tests, de la phase, d’une liaison au sexe, de la consanguinité ou de dépendances entre apparentés. Cet outil ne déduit aucun de ces facteurs et ne construit pas un pedigree à partir de dossiers familiaux. Il combine uniquement des probabilités déjà déterminées. Vérifiez que chaque valeur de transmission correspond au mode d’hérédité et au résultat exact. Veillez aussi à ne pas compter deux fois les mêmes preuves. Les contributions détaillées servent à contrôler un exercice, présenter un exemple ou tester un logiciel. Pour toute décision médicale ou reproductive, faites examiner le pedigree, les analyses et les incertitudes par un spécialiste en génétique. Le navigateur est gratuit ; une requête API coûte $0.002.
Cas d’usage
Combiner des scénarios incertains de portage
Multipliez les probabilités parentales par le risque mendélien pertinent, puis additionnez les voies génotypiques distinctes.
Contrôler des exercices de génétique
Affichez la probabilité parentale conjointe et chaque contribution afin de vérifier les règles du produit et de la somme.
Créer des jeux de test déterministes
Produisez des résultats reproductibles pour outils pédagogiques et tests logiciels, sans réseau ni bruit de simulation.
Questions fréquentes
Que représente chaque voie ?
Une combinaison génotypique parentale mutuellement exclusive pouvant conduire au même résultat cible chez la descendance.
Pourquoi multiplier les probabilités d’une voie ?
Avec l’indépendance, leur produit donne la probabilité parentale conjointe ; la transmission fournit ensuite la contribution filiale.
Pourquoi additionner les contributions ?
Ce sont des routes alternatives et exclusives vers le même résultat. Des routes qui se chevauchent ne doivent pas être séparées.
Cet outil peut-il diagnostiquer une affection génétique ?
Non. Il calcule uniquement à partir des valeurs fournies et ne remplace ni interprétation clinique ni conseil génétique.
Que se passe-t-il si le total dépasse 1 ?
La saisie est refusée, car les voies se chevauchent probablement ou les probabilités sont incohérentes.
Quel est le tarif du calculateur ?
Son utilisation dans le navigateur est gratuite. Chaque requête API réussie coûte $0.002.
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/pedigree-probability-combined \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"pathways":[{"label":"Both parents are carriers","parent_a_probability":0.5,"parent_b_probability":0.4,"transmission_probability":0.25},{"label":"Parent A affected, parent B carrier","parent_a_probability":0.1,"parent_b_probability":0.4,"transmission_probability":0.5}]}'const res = await fetch("https://api.kit.forhosting.com/bio/pedigree-probability-combined", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"pathways": [
{
"label": "Both parents are carriers",
"parent_a_probability": 0.5,
"parent_b_probability": 0.4,
"transmission_probability": 0.25
},
{
"label": "Parent A affected, parent B carrier",
"parent_a_probability": 0.1,
"parent_b_probability": 0.4,
"transmission_probability": 0.5
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/pedigree-probability-combined",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"pathways": [
{
"label": "Both parents are carriers",
"parent_a_probability": 0.5,
"parent_b_probability": 0.4,
"transmission_probability": 0.25
},
{
"label": "Parent A affected, parent B carrier",
"parent_a_probability": 0.1,
"parent_b_probability": 0.4,
"transmission_probability": 0.5
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/pedigree-probability-combined", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"pathways":[{"label":"Both parents are carriers","parent_a_probability":0.5,"parent_b_probability":0.4,"transmission_probability":0.25},{"label":"Parent A affected, parent B carrier","parent_a_probability":0.1,"parent_b_probability":0.4,"transmission_probability":0.5}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"pathways":[{"label":"Both parents are carriers","parent_a_probability":0.5,"parent_b_probability":0.4,"transmission_probability":0.25},{"label":"Parent A affected, parent B carrier","parent_a_probability":0.1,"parent_b_probability":0.4,"transmission_probability":0.5}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/pedigree-probability-combined", 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
{
"pathways": [
{
"label": "Both parents are carriers",
"parent_a_probability": 0.5,
"parent_b_probability": 0.4,
"transmission_probability": 0.25
},
{
"label": "Parent A affected, parent B carrier",
"parent_a_probability": 0.1,
"parent_b_probability": 0.4,
"transmission_probability": 0.5
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.pedigree_probability_combined",
"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.
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. |