Équilibre mutation-sélection
Voyez à quel point un allèle récessif caché peut rester courant : avec un taux de mutation de 0,000001 et un coefficient de sélection de 0,01, l'allèle se stabilise à 0,01, les porteurs à 0,0198 et les personnes atteintes à 0,0001. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Taux de mutation
- 0,000001
- Coefficient de sélection
- 0,01
- Dominance
- 0
- Fréquence d'équilibre
- 0,01
- Fréquence du type sauvage
- 0,99
- Fréquence des hétérozygotes
- 0,0198
Le bilan mutation-sélection est l'équilibre déterministe de la génétique des populations auquel les nouvelles copies d'un allèle délétère créées par mutation à chaque génération sont éliminées par la sélection au même rythme. Pour un allèle nuisible complètement récessif, le résultat de manuel est que la fréquence d'équilibre q-chapeau égale la racine carrée du taux de mutation μ divisé par le coefficient de sélection s. Les conseillers en génétique, les généticiens de la conservation et les étudiants utilisent cette identité pour estimer à quel point un allèle récessif de maladie caché peut rester fréquent dans une grande population à accouplement aléatoire, et pour retrouver la fréquence des porteurs 2pq et la fréquence des homozygotes atteints q au carré.
Ce que l'équilibre mutation-sélection signifie pour un allèle récessif
Chaque génération, la mutation convertit quelques copies sauvages d'un locus en un allèle délétère. Si cet allèle est complètement récessif, la sélection ne le voit que chez les homozygotes : les hétérozygotes ont une valeur sélective sauvage et les copies nuisibles qu'ils portent restent cachées à la purge. Dans une grande population à accouplement aléatoire, l'apport de nouveaux mutants est d'environ μ par génération (la rétromutation est négligée), tandis que la sélection retire environ s fois q au carré copies lorsque l'homozygote paie le coût s.
Égaler ces flux donne le classique bilan mutation-sélection μ égal à s q au carré, de sorte que la fréquence d'équilibre est la racine carrée de μ sur s. Cette dépendance à la racine carrée explique pourquoi un allèle récessif rare de maladie peut siéger à une fréquence étonnamment élevée : si μ vaut un sur un million et s un pour cent, q-chapeau vaut un pour cent, et non un sur un million. La plupart de ces copies vivent chez des porteurs sains.
Le régime complémentaire est un allèle délétère partiellement ou pleinement dominant (h supérieur à zéro). Alors la plupart des copies sont exposées chez les hétérozygotes, le bilan est μ égal à h s q, et q-chapeau est simplement μ sur h s — en général bien plus petit que la racine récessive. Ce calculateur implémente ces deux approximations de manuel.
Il ne simule ni la dérive génétique, ni la consanguinité, ni la surdominance, ni un recensement fini ; cela change le tableau et appartient à d'autres modèles. Utilisez-le lorsque vous disposez déjà de μ et de s et que vous avez besoin de la fréquence déterministe en population infinie, du taux de porteurs et de la charge mutationnelle que Haldane a montrée égale à environ μ pour un récessif complet et à environ 2μ lorsque les hétérozygotes sont exposés.
Contrat d'entrée, formules, forme de la réponse et validation
Une dominance h optionnelle vaut zéro par défaut et doit rester dans l'intervalle unitaire fermé si elle est fournie. Si le q-chapeau de manuel dépassait un — μ plus grand que s en récessif, ou μ plus grand que h s lorsque h est positif — la requête échoue au lieu d'être rabotée jusqu'à la fixation. Exemple : μ égal à 1e-6 et s égal à 0.01 avec h par défaut donne q-chapeau 0.01, fréquence de porteurs 0.0198, fréquence d'atteints 0.0001 et charge 1e-6.
Exemple : le même μ avec s égal à 0.1 et h égal à 0.5 donne q-chapeau 2e-5. Associez vous-même les locus successifs ; chaque requête résout un seul locus autosomique.
Qui utilise l'équilibre entre mutation et sélection
Les cours de génétique des populations utilisent un calculateur d'équilibre mutation-sélection pour que les étudiants voient pourquoi un létal récessif avec μ de 10 à la moins cinq siège à q près de 0.003 plutôt qu'au taux de mutation lui-même, sans erreurs de signe à la main sous la racine carrée.
Les formations de conseil génétique et les plugins LMS ont besoin d'un oracle déterministe qui renvoie aussi 2pq, car cette fréquence de porteurs est le chiffre que l'on cite lorsqu'on demande à quel point un allèle récessif caché est fréquent à l'équilibre. Les programmes de conservation et d'élevage qui comparent la purge d'une charge récessive à un variant délétère partiellement dominant peuvent passer h de zéro à une petite valeur positive et lire la baisse de q-chapeau et le changement de charge de Haldane sans dresser un simulateur Wright–Fisher.
Une validation échouée ne consomme pas le solde.
Cas d’usage
Génétique des populations en classe et corrigés de devoirs
Laissez les étudiants envoyer μ et s pour un allèle récessif délétère et vérifier q = √(μ/s), 2pq et q² face aux exercices de manuel sur le bilan mutation-sélection.
Estimations de fréquence de porteurs aux locus récessifs
Transformez un taux de mutation et un coefficient de sélection publiés en fréquence de porteurs 2pq de Hardy–Weinberg à l'équilibre mutation-sélection.
Questions fréquentes
Quand devez-vous fournir un coefficient de dominance h ?
Laissez h à 0 (ou omettez-le) pour un allèle complètement récessif. Pour un allèle délétère partiellement ou pleinement dominant, envoyez h dans (0, 1] ; le calculateur utilise alors q = μ/(h s) au lieu de la formule de la racine carrée.
Qu'est-ce que la charge mutationnelle à cet équilibre ?
Pour un récessif complet cela égale μ (Haldane). Lorsque les hétérozygotes sont exposés, elle vaut environ 2μ.
Pourquoi le calculateur refuse-t-il certains taux de mutation ?
Si μ > s (récessif) ou μ > h s (h > 0), la fréquence d'équilibre de manuel dépasserait 1.
Comment calcule-t-on la fréquence d'équilibre d'un allèle récessif délétère ?
On prend la racine carrée du taux de mutation divisé par le coefficient de sélection. Un taux de 0,000001 pour une sélection de 0,01 donne une fréquence allélique de 0,01 : 0,99 des copies sont donc la version normale.
Le résultat vaut-il pour n'importe quelle population ?
Il décrit une grande population à reproduction aléatoire, où l'équilibre entre mutations nouvelles et sélection est prévisible. C'est un équilibre de manuel, pas une prévision pour un petit groupe isolé.
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/mutation-equilibrium-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mutation_rate":0.000001,"selection_coefficient":0.01}'const res = await fetch("https://api.kit.forhosting.com/bio/mutation-equilibrium-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mutation_rate": 0.000001,
"selection_coefficient": 0.01
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/mutation-equilibrium-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mutation_rate": 0.000001,
"selection_coefficient": 0.01
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/mutation-equilibrium-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mutation_rate":0.000001,"selection_coefficient":0.01}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mutation_rate":0.000001,"selection_coefficient":0.01}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/mutation-equilibrium-frequency", 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
{
"mutation_rate": 0.000001,
"selection_coefficient": 0.01
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.mutation_equilibrium_frequency",
"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. |
Notes techniques
Ce calculateur d'équilibre mutation-sélection accepte un taux de mutation positif et un coefficient de sélection positif, plus un coefficient de dominance h optionnel qui vaut zéro par défaut dans le cas récessif, et renvoie la fréquence d'équilibre de manuel avec les fréquences sauvage, hétérozygote et homozygote et la charge mutationnelle de Haldane. Les valeurs invalides échouent avec invalid_input au lieu d'inventer une fréquence supérieure à un.
Contrat d'entrée, formules, forme de la réponse et validation
Envoyez en POST un corps JSON avec deux nombres finis obligatoires : mutation_rate (μ, strictement positif et au plus un) et selection_coefficient (s contre l'homozygote délétère, strictement positif et au plus un ; s égal à un est létal récessif). Chaque champ accepte un nombre JSON ou une chaîne numérique, y compris la notation scientifique telle que 1e-6 ; les alias mu, u, mutation, mut pour le taux de mutation, s, selection, sel pour le coefficient de sélection, et h, dominance_coefficient, het_dominance pour la dominance sont normalisés vers les clés canoniques. Champs manquants, booléens, chaînes vides et valeurs non finies échouent avec invalid_input en nommant le champ. μ ou s nuls ou négatifs, valeurs au-dessus de un et h hors de [0, 1] sont rejetés avec un message clair et ne sont pas facturés. En cas de succès le corps renvoie les entrées arrondies, indique equilibrium_frequency q-chapeau à partir de √(μ/s) lorsque h est zéro ou de μ/(h s) lorsque h est positif, wildtype_frequency comme un moins q-chapeau, heterozygote_frequency comme 2pq, homozygote_frequency comme q au carré, mutation_load comme 2 h s p q plus s q au carré, plus formula, model (recessive, partial_dominance ou dominant) et un court message.
Où une API d'équilibre mutation-sélection prouve son utilité
Comme l'implémentation est parse de niveau A, chaque appel réussi coûte le prix de base publié $0.002 sans jetons de modèle ni réseau sortant. Gardez les requêtes légères, figez equilibrium_frequency et heterozygote_frequency dans les tests, et vous obtenez des chiffres mutation-sélection reproductibles pour les devoirs, les fiches de conseil et les workers en périphérie sans héberger votre propre pile de génétique des populations.
Cas d'intégration
Plugins LMS et oracles pour fiches de conseil génétique
Intégrez un contrôle déterministe mutation-sélection qui passe de √(μ/s) à μ/(h s) lorsque la dominance est fournie, sans bibliothèque de simulation.
Questions techniques
Comment calcule-t-on la fréquence d'équilibre d'un allèle récessif délétère ?
Envoyez mutation_rate μ et selection_coefficient s positifs (la dominance vaut 0 par défaut). L'API renvoie q = √(μ/s), plus le sauvage p, les porteurs 2pq, les homozygotes q² et la charge mutationnelle L = s q².
Combien coûte le calculateur d'équilibre mutation-sélection ?
L'outil du navigateur est gratuit. Les requêtes API utilisent le solde KIT prépayé à $0.002 par appel réussi ; une entrée invalide n'est pas facturée.