Calcolatore della frazione di utilizzo dei codoni
Questo calcolatore misura quanto un codone contribuisce a tutti i codoni osservati che codificano lo stesso amminoacido in un gene.
Esegui gratis nel browser
Inserisca i conteggi e scelga il codone di interesse: il risultato mostra frazione normalizzata, percentuale, amminoacido e gruppo sinonimo completo usato come denominatore. Sono accettate le notazioni DNA e RNA, le righe duplicate vengono unite e ai sinonimi mancanti viene assegnato zero. In questo modo Lei può riassumere il bias dei codoni in modo riproducibile, senza fogli di calcolo o tabelle genetiche gestite a mano.
Significato della frazione d’uso del codone
Molti amminoacidi sono codificati da più di un codone. La frazione d’uso risponde a una domanda precisa: tra i codoni osservati per un amminoacido in questo gene, quale quota utilizza il codone selezionato? Se un gene contiene 18 occorrenze di TTT e 12 di TTC, entrambi per la fenilalanina, la frazione di TTT è 18 diviso 30, cioè 0.6. Il calcolo riguarda l’amminoacido e non tutti i codoni del gene. Il valore descrive quindi la preferenza sinonima senza che la composizione degli altri amminoacidi modifichi il denominatore. Una frazione vicina a uno segnala che il codone scelto domina il gruppo; una vicina a zero indica un uso raro o assente. Il valore riassume la composizione osservata, ma da solo non dimostra selezione, efficienza di espressione o significatività statistica. Tali interpretazioni richiedono un riferimento adeguato e contesto biologico. Usi conteggi ricavati con una cornice di lettura e una definizione del gene coerenti.
Preparazione e interpretazione dei dati
Inserisca ogni codone osservato con il relativo conteggio intero non negativo, quindi indichi il codone di interesse. Sono ammesse lettere DNA come TTT e RNA come UUU; nell’output U viene normalizzata in T. Maiuscole, minuscole e spazi esterni non influiscono. Se lo stesso codone normalizzato compare più volte, i conteggi vengono sommati, una soluzione utile per dati provenienti da regioni o lotti distinti. Non occorre elencare tutti i sinonimi. Ogni codone sinonimo omesso compare con conteggio zero e rimane nel risultato, rendendo trasparente il denominatore. I conteggi relativi ad altri amminoacidi sono validi ma non modificano la frazione selezionata. Il calcolatore usa il codice genetico standard e rifiuta come obiettivo un codone di stop, che non codifica un amminoacido. Rifiuta inoltre un gruppo sinonimo con totale zero, perché una divisione per zero non descrive l’uso. Prima di confrontare geni, controlli l’elenco sinonimo restituito.
Impiego del risultato negli studi sul bias
usage_fraction varia tra zero e uno, mentre percentage esprime lo stesso valore tra zero e cento. Il conteggio del codone e il totale sinonimo sono restituiti insieme alla frazione, così le analisi successive conservano le prove alla base del rapporto. Questo è importante perché frazioni identiche possono avere supporto molto diverso: una occorrenza su due e cinquecento su mille producono entrambe 0.5, ma non meritano automaticamente la stessa fiducia. Per uno studio esplorativo, calcoli la frazione di ciascun codone sinonimo e confronti i profili tra geni, condizioni, organismi o sequenze progettate. Mantenga coerenti il codice genetico, la versione dell’annotazione e le regole di conteggio. Come controllo, le frazioni di una famiglia sinonima devono sommare a uno se derivate dagli stessi dati. Il prezzo API è $0.002 per richiesta; nel browser lo stesso calcolo deterministico viene eseguito localmente. Non intervengono rete, campionamento casuale o frequenze esterne variabili.
Casi d'uso
Riassumere un gene
Misuri se un codone sinonimo domina oppure viene usato raramente in un gene.
Confrontare progetti genici
Calcoli frazioni equivalenti per sequenze native e riprogettate con le stesse regole.
Verificare una tabella di conteggi
Controlli il denominatore sinonimo e i membri a zero prima di un’analisi più ampia.
Domande frequenti
Qual è la formula?
Il conteggio del codone scelto viene diviso per la somma dei conteggi di tutti i codoni dello stesso amminoacido nel codice standard.
Posso inserire codoni RNA?
Sì. U viene normalizzata in T, quindi UUU e TTT sono trattati come lo stesso codone.
Che cosa accade a un sinonimo mancante?
Riceve un conteggio pari a zero. L’output elenca l’intera famiglia sinonima utilizzata nel calcolo.
Sono ammesse righe duplicate?
Sì. I codoni duplicati vengono normalizzati e i loro conteggi interi non negativi vengono sommati.
L’obiettivo può essere un codone di stop?
No. La metrica collega un codone al suo amminoacido, quindi i segnali di stop vengono rifiutati.
Una frazione alta dimostra un’espressione ottimale?
No. Descrive soltanto i conteggi forniti; le conclusioni sull’espressione richiedono riferimenti e contesto biologico.
Quanto costa una richiesta API?
Il prezzo è $0.002 per richiesta. La pagina può anche eseguire localmente il calcolo deterministico nel browser.
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/codon-usage-fraction \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"codon_counts":[{"codon":"TTT","count":18},{"codon":"TTC","count":12},{"codon":"ATG","count":7}],"target_codon":"TTT"}'const res = await fetch("https://api.kit.forhosting.com/bio/codon-usage-fraction", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"codon_counts": [
{
"codon": "TTT",
"count": 18
},
{
"codon": "TTC",
"count": 12
},
{
"codon": "ATG",
"count": 7
}
],
"target_codon": "TTT"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/codon-usage-fraction",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"codon_counts": [
{
"codon": "TTT",
"count": 18
},
{
"codon": "TTC",
"count": 12
},
{
"codon": "ATG",
"count": 7
}
],
"target_codon": "TTT"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/codon-usage-fraction", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"codon_counts":[{"codon":"TTT","count":18},{"codon":"TTC","count":12},{"codon":"ATG","count":7}],"target_codon":"TTT"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"codon_counts":[{"codon":"TTT","count":18},{"codon":"TTC","count":12},{"codon":"ATG","count":7}],"target_codon":"TTT"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/codon-usage-fraction", 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
{
"codon_counts": [
{
"codon": "TTT",
"count": 18
},
{
"codon": "TTC",
"count": 12
},
{
"codon": "ATG",
"count": 7
}
],
"target_codon": "TTT"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.codon_usage_fraction",
"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_items | 64 |
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. |