Calcolatore di frequenza allelica
Conti i genotipi e ottenga le frequenze alleliche: 320 individui AA, 160 Aa e 20 aa portano 1000 copie del gene, quindi p vale 0,8 e q vale 0,2, con somma uno. I conteggi negativi o tutti a zero vengono rifiutati. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Omozigote dominante
- 320
- Eterozigote
- 160
- Omozigote recessivo
- 20
- Totale individui
- 500
- Alleli totali
- 1000
- Numero di alleli dominanti
- 800
- Numero di alleli recessivi
- 200
Un calcolatore di frequenza allelica trasforma i conteggi di individui omozigoti dominanti, eterozigoti e omozigoti recessivi nelle due frequenze alleliche di un locus diploide biallelico. Nella notazione scolastica consueta quelle frequenze sono p per l’allele dominante e q per il recessivo, e sommano sempre a uno perché ogni copia genica è l’uno o l’altro allele. Inserisca i tre conteggi genotipici di un campione di popolazione. Lo strumento conta due copie da ciascun omozigote e una di ciascun allele da ogni eterozigote, divide per il doppio della dimensione campionaria e restituisce p, q e i conteggi allelici di supporto.
Che cosa è la frequenza allelica e come si contano p e q dai genotipi
La frequenza allelica è la quota di copie geniche di un locus che portano un dato allele. Per un locus diploide biallelico ogni individuo apporta due copie: un omozigote dominante apporta due alleli dominanti, un omozigote recessivo due recessivi e un eterozigote uno di ciascuno. Se AA, Aa e aa sono i tre conteggi genotipici e N è la loro somma, il campione contiene 2N copie geniche.
La frequenza dominante è pertanto p uguale a (2 volte AA più Aa) diviso 2N, e quella recessiva è q uguale a (2 volte aa più Aa) diviso 2N. Quelle due identità non sono un assunto extra: sono un censimento degli alleli che Lei ha già segnato. Obbligano anche p più q a valere uno; un risultato che non somma a uno segnala un conteggio omesso o una tavola fenotipica scambiata per una genotipica.
Questo calcolatore è limitato ai conteggi genotipici osservati. Non inverte una frequenza fenotipica recessiva sotto Hardy–Weinberg per indovinare q come radice quadrata della frazione aa, e non verifica se il campione coincide con p al quadrato, 2pq e q al quadrato. Sono intenzioni di ricerca diverse: l’una stima una ripartizione non vista, l’altra è un test di bontà di adattamento.
Qui le tre classi sono già separate, così l’unica aritmetica è il conteggio ponderato degli alleli. Un caso d’aula risolto è 320 AA, 160 Aa e 20 aa: N vale 500, ci sono 1000 copie geniche, 800 di esse sono dominanti e le frequenze sono p uguale a 0.8 e q uguale a 0.2. Un’altra ripartizione da manuale di 16, 48 e 36 in un campione di 100 produce p uguale a 0.4 e q uguale a 0.6.
Lo zero è un conteggio lecito per una classe assente, ma i tre zeri sono rifiutati perché una frequenza è indefinita quando nessuno è stato contato.
Casi d'uso
Controlli di p e q in aula
Gli studenti inviano i conteggi AA, Aa e aa di un campione di laboratorio e confrontano la ripartizione 0.8 / 0.2 o 0.4 / 0.6 con un conteggio a mano prima della relazione.
Schede di popolazione e conservazione
Le note di campo che già segnano i tre genotipi ottengono un censimento allelico riproducibile senza aprire un pacchetto di genetica di popolazione per un solo locus.
Domande frequenti
Perché le due frequenze sommano sempre a uno?
Ogni copia genica di un locus biallelico è l’allele dominante oppure il recessivo.
Che cosa accade se un conteggio genotipico è negativo?
Una frequenza non è definita per un censimento negativo. La richiesta non è fatturata.
Posso inviare solo gli omozigoti recessivi e assumere Hardy–Weinberg?
No. Questo calcolatore richiede tutti e tre i conteggi genotipici. Stimare q come radice quadrata della frazione aa è un altro metodo e qui non è applicato.
Come si calcola la frequenza allelica dai genotipi?
Conti due copie per ogni omozigote e una di ciascun allele per ogni eterozigote, poi divida per il doppio del numero di individui. Con 320, 160 e 20 individui, p vale 0,8 e q vale 0,2.
Perché si divide per il doppio della dimensione del campione?
Ogni individuo diploide porta due copie del gene, quindi 500 individui ne hanno 1000. Dividendo i conteggi degli alleli per questo totale si ottiene la loro quota su tutte le copie del campione.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"homozygous_dominant": 320,
"heterozygous": 160,
"homozygous_recessive": 20
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.allele_frequency",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_count | 1000000000000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Lo stesso modulo deterministico alimenta l’esecutore gratuito del browser e l’API prepagata, così i controlli dei compiti, le relazioni di laboratorio e gli script di valutazione non divergono mai su una ripartizione 0.8 / 0.2.
Contratto di ingresso, forma della risposta e comportamento d’errore
Un campione i cui tre conteggi sommano a zero è rifiutato anch’esso, perché dividere per 2N è indefinito. Quei fallimenti non sono fatturati. Accoppi queste frequenze al Suo passo di Hardy–Weinberg o di chi-quadrato se Le servono ancora le quote genotipiche attese; questa estremità risolve solo il censimento degli alleli. Invii con POST un corpo JSON con tre numeri finiti non negativi obbligatori: homozygous_dominant (alias AA, n_AA, dominant_homozygous, homo_dominant), heterozygous (alias Aa, n_Aa, hetero, heterozygotes) e homozygous_recessive (alias aa, n_aa, recessive_homozygous, homo_recessive). Ciascun valore può arrivare come numero JSON o come stringa numerica. Campi mancanti, stringhe vuote, valori non finiti, valori oltre un bilione e qualsiasi conteggio negativo falliscono con invalid_input nominando il campo. In caso di successo il corpo ripete i tre conteggi ripuliti, pubblica total_individuals come N e total_alleles come 2N, segnala dominant_allele_count e recessive_allele_count come numeratore di ciascuna frequenza e restituisce dominant_allele_frequency (p) e recessive_allele_frequency (q). frequency_sum vale sempre 1: dopo il calcolo delle due quote grezze esse sono normalizzate e q è preso come complemento di p arrotondato così la coppia pubblicata non deriva mai di un’unità all’ultimo posto. formula riformula le identità p uguale a (2·AA + Aa) / 2N e q uguale a (2·aa + Aa) / 2N. Esempio: 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 e frequency_sum 1. Un conteggio di meno uno in qualsiasi campo è invalid_input.
Dove un calcolatore di frequenza allelica giustifica l’uso
Le aule di biologia e le piattaforme di tutoraggio usano un calcolatore di frequenza allelica perché gli apprendisti smettano di trattare la frazione fenotipica recessiva come q, o di mediare tre percentuali genotipiche come se fossero alleli. Le schede di genetica di popolazione e i censimenti di conservazione hanno bisogno di un oracolo deterministico che rifiuti un incolla negativo invece di pubblicare in silenzio una frequenza maggiore di uno. La convalida fallita non consuma il saldo. Le ricerche di un quadrato di Punnett, di un passo sui gradi di libertà del chi-quadrato o di una tavola di genotipi attesi di Hardy–Weinberg sono intenzioni diverse: resti su questa pagina quando la domanda è soltanto le frequenze alleliche implicate dai conteggi che Lei ha già. Note di allevamento, moduli didattici sui gruppi sanguigni e relazioni di laboratorio introduttivo si riducono allo stesso censimento a tre conteggi su un locus; chiamare una piccola API di parse registra p e q senza erigere un motore di pedigree o di coalescenza. I generatori di preparazione agli esami e i kata di programmazione degli studenti fissano 0.8 / 0.2 e 0.4 / 0.6 più il percorso invalid_input di un conteggio negativo così un valutatore difettoso non possa accettare un risultato che non somma a uno. Poiché l’implementazione è parse puro di livello A, ogni chiamata riuscita costa la tariffa base pubblicata $0.002 senza gettoni di modello né rete in uscita. Tenga onesti i tre conteggi genotipici, fissi dominant_allele_frequency e recessive_allele_frequency nei test e ottiene coppie riproducibili che sommano a uno per i compiti, i plugin LMS e i taccuini di campo.
Casi di integrazione
Oracoli d’esame e maschere di valutazione
Generatori e risolutori studenteschi fissano frequenze attese che sommano a uno e casi invalid_input per un conteggio negativo o tutto zero.
Domande tecniche
Come si calcola la frequenza allelica dai conteggi genotipici?
Invii homozygous_dominant (AA), heterozygous (Aa) e homozygous_recessive (aa). L’API restituisce dominant_allele_frequency p = (2·AA + Aa) / 2N e recessive_allele_frequency q = (2·aa + Aa) / 2N, con frequency_sum uguale a 1.
Quanto costa il calcolatore di frequenza allelica?
Lo strumento del browser è gratuito. Le richieste API usano saldo prepagato a $0.002 per chiamata riuscita; l’ingresso non valido non è fatturato.