Calculadora de frecuencia alélica
Cuente genotipos y obtenga frecuencias alélicas: 320 individuos AA, 160 Aa y 20 aa suman 1000 copias del gen, así que p vale 0,8 y q vale 0,2, y suman uno. Se rechazan los recuentos negativos o todos en cero. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Homocigoto dominante
- 320
- Heterocigoto
- 160
- Homocigoto recesivo
- 20
- Total de individuos
- 500
- Alelos totales
- 1 000
- Cantidad de alelos dominantes
- 800
- Cantidad de alelos recesivos
- 200
Una calculadora de frecuencia alélica convierte los recuentos de individuos homocigotos dominantes, heterocigotos y homocigotos recesivos en las dos frecuencias de alelo de un locus diploide bialélico. En la notación habitual de aula esas frecuencias son p para el alelo dominante y q para el recesivo, y siempre suman uno porque cada copia génica es uno u otro alelo. Introduzca los tres recuentos genotípicos de una muestra poblacional. La herramienta cuenta dos copias de cada homocigoto y una de cada alelo en cada heterocigoto, divide por el doble del tamaño muestral y devuelve p, q y los recuentos de alelo de apoyo.
Qué es la frecuencia alélica y cómo se cuentan p y q a partir de los genotipos
La frecuencia alélica es la fracción de copias génicas de un locus que portan un alelo dado. En un locus diploide bialélico cada individuo aporta dos copias: un homocigoto dominante aporta dos alelos dominantes, un homocigoto recesivo aporta dos recesivos y un heterocigoto aporta uno de cada. Si AA, Aa y aa son los tres recuentos genotípicos y N es su suma, la muestra contiene 2N copias génicas.
La frecuencia dominante es por tanto p igual a (2 veces AA más Aa) dividido por 2N, y la recesiva es q igual a (2 veces aa más Aa) dividido por 2N. Esas dos identidades no son un supuesto extra: son un censo de los alelos que usted ya puntuó. También obligan a que p más q valga uno; un resultado que no sume uno delata un recuento omitido o una tabla de fenotipos tomada por una de genotipos.
Esta calculadora se limita a recuentos genotípicos observados. No invierte una frecuencia fenotípica recesiva bajo Hardy–Weinberg para adivinar q como la raíz cuadrada de la fracción aa, ni comprueba si la muestra encaja con p al cuadrado, 2pq y q al cuadrado. Esas son intenciones de búsqueda distintas: una estima un reparto no visto y la otra es una prueba de bondad de ajuste.
Aquí las tres clases ya están separadas, de modo que la única aritmética es el recuento ponderado de alelos. Un caso de aula resuelto es 320 AA, 160 Aa y 20 aa: N vale 500, hay 1000 copias génicas, 800 de ellas son dominantes y las frecuencias son p igual a 0.8 y q igual a 0.2. Otro reparto de manual de 16, 48 y 36 en una muestra de 100 produce p igual a 0.4 y q igual a 0.6.
El cero es un recuento legal para una clase ausente, pero los tres ceros se rechazan porque una frecuencia queda indefinida cuando nadie fue contado.
Qué puede hacer con ella
Comprobaciones de p y q en el aula
El alumnado envía recuentos AA, Aa y aa de una muestra de laboratorio y compara el reparto 0.8 / 0.2 o 0.4 / 0.6 con un recuento a mano antes del informe.
Fichas de población y conservación
Las notas de campo que ya puntúan los tres genotipos obtienen un censo alélico reproducible sin abrir un paquete de genética de poblaciones para un solo locus.
Preguntas frecuentes
¿Por qué las dos frecuencias suman siempre uno?
Cada copia génica de un locus bialélico es el alelo dominante o el recesivo.
¿Qué ocurre si un recuento genotípico es negativo?
Una frecuencia no está definida para un censo negativo. La solicitud no se factura.
¿Puedo enviar solo los homocigotos recesivos y asumir Hardy–Weinberg?
No. Esta calculadora necesita los tres recuentos genotípicos. Estimar q como la raíz cuadrada de la fracción aa es otro método y no se aplica aquí.
¿Cómo se calcula la frecuencia alélica a partir de los genotipos?
Cuente dos copias por cada homocigoto y una de cada alelo por cada heterocigoto, y divida entre el doble del número de individuos. Con 320, 160 y 20 individuos, p vale 0,8 y q vale 0,2.
¿Por qué se divide entre el doble del tamaño de la muestra?
Cada individuo diploide lleva dos copias del gen, así que 500 individuos tienen 1000 copias. Al dividir los recuentos de alelos entre ese total se obtiene su parte de todas las copias de la muestra.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/bio/allele-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"homozygous_dominant":320,"heterozygous":160,"homozygous_recessive":20}'const res = await fetch("https://api.kit.forhosting.com/bio/allele-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"homozygous_dominant": 320,
"heterozygous": 160,
"homozygous_recessive": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/allele-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"homozygous_dominant": 320,
"heterozygous": 160,
"homozygous_recessive": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/allele-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"homozygous_dominant":320,"heterozygous":160,"homozygous_recessive":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"homozygous_dominant":320,"heterozygous":160,"homozygous_recessive":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/allele-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"homozygous_dominant": 320,
"heterozygous": 160,
"homozygous_recessive": 20
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.allele_frequency",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_count | 1000000000000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
El mismo módulo determinista alimenta el ejecutor gratuito del navegador y la API de prepago, de modo que las comprobaciones de deberes, los informes de laboratorio y los scripts de calificación no discrepan nunca en un reparto 0.8 / 0.2.
Contrato de entrada, forma de la respuesta y errores
Una muestra cuyos tres recuentos suman cero también se rechaza, porque dividir por 2N no está definido. Esos fallos no se facturan. Empareje estas frecuencias con su propio paso de Hardy–Weinberg o de chi-cuadrado si aún necesita las cuotas genotípicas esperadas; este extremo resuelve solo el censo de alelos. Envíe por POST un cuerpo JSON con tres números finitos no negativos obligatorios: homozygous_dominant (alias AA, n_AA, dominant_homozygous, homo_dominant), heterozygous (alias Aa, n_Aa, hetero, heterozygotes) y homozygous_recessive (alias aa, n_aa, recessive_homozygous, homo_recessive). Cada valor puede llegar como número JSON o como cadena numérica. Los campos ausentes, las cadenas vacías, los valores no finitos, los superiores a un billón estadounidense y cualquier recuento negativo fallan con invalid_input nombrando el campo. Si tiene éxito, el cuerpo repite los tres recuentos limpios, publica total_individuals como N y total_alleles como 2N, informa dominant_allele_count y recessive_allele_count como el numerador de cada frecuencia y devuelve dominant_allele_frequency (p) y recessive_allele_frequency (q). frequency_sum vale siempre 1: tras calcular las dos fracciones brutas se normalizan y q se toma como el complemento de p redondeada para que el par publicado no se desvíe ni una unidad en el último lugar. formula reescribe las identidades p igual a (2·AA + Aa) / 2N y q igual a (2·aa + Aa) / 2N. Ejemplo: homozygous_dominant 320, heterozygous 160, homozygous_recessive 20 produce total_individuals 500, total_alleles 1000, dominant_allele_count 800, recessive_allele_count 200, dominant_allele_frequency 0.8, recessive_allele_frequency 0.2 y frequency_sum 1. Un recuento de menos uno en cualquier campo es invalid_input.
Dónde aporta valor una calculadora de frecuencia alélica
Las aulas de biología y las plataformas de tutoría usan una calculadora de frecuencia alélica para que el alumnado deje de tratar la fracción fenotípica recesiva como q, o de promediar tres porcentajes genotípicos como si fueran alelos. Las fichas de genética de poblaciones y los censos de conservación necesitan un oráculo determinista que rechace un pegado negativo en vez de publicar en silencio una frecuencia mayor que uno. La validación fallida no consume saldo. Las búsquedas de un cuadro de Punnett, de un paso de grados de libertad del chi-cuadrado o de una tabla de genotipos esperados de Hardy–Weinberg son intenciones distintas: quédese en esta página cuando la pregunta sea solo las frecuencias de alelo que implican los recuentos que usted ya tiene. Las notas de cría, los módulos docentes de grupos sanguíneos y los informes de laboratorio introductorio se reducen al mismo censo de tres recuentos en un locus; llamar a una API de parse pequeña registra p y q sin levantar un motor de pedigrí ni de coalescencia. Los generadores de preparación de exámenes y las katas de programación del alumnado fijan 0.8 / 0.2 y 0.4 / 0.6 más el camino invalid_input de un recuento negativo para que un calificador defectuoso no acepte un resultado que no sume uno. Como la implementación es parse puro de nivel A, cada llamada exitosa cuesta el precio base publicado $0.002 sin tokens de modelo ni red saliente. Mantenga honestos los tres recuentos genotípicos, fije dominant_allele_frequency y recessive_allele_frequency en las pruebas y obtendrá pares reproducibles que suman uno para deberes, complementos LMS y cuadernos de campo.
Casos de integración
Oráculos de examen y plantillas de calificación
Los generadores y los resolutores del alumnado fijan frecuencias esperadas que suman uno y casos invalid_input para un recuento negativo o todo cero.
Preguntas técnicas
¿Cómo se calcula la frecuencia alélica a partir de recuentos genotípicos?
Envíe homozygous_dominant (AA), heterozygous (Aa) y homozygous_recessive (aa). La API devuelve dominant_allele_frequency p = (2·AA + Aa) / 2N y recessive_allele_frequency q = (2·aa + Aa) / 2N, con frequency_sum igual a 1.
¿Cuánto cuesta la calculadora de frecuencia alélica?
La herramienta del navegador es gratuita. Las solicitudes API usan saldo prepago a $0.002 por llamada exitosa; la entrada no válida no se factura.