突然変異頻度計算機
コロニー数を1細胞あたりの変異体数に直せます。100000000個の生菌をまいて耐性コロニーが50個なら、2000000細胞に1個の変異体で、培養やスクリーニングどうしで比べられます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 変異体コロニー
- 50
- 生存可能な細胞
- 100,000,000
- 突然変異頻度
- 0.0000005
- 変異体あたりの細胞数
- 2,000,000
突然変異頻度は、プレーティングした培養中に観察される変異細胞の割合です。選択培地で数えた変異コロニーを、実際に平板へまいた生菌の総数で割ります。学生、ゆらぎ試験の執筆者、品質管理の微生物担当は、希釈とまき量をまだ隠した生のコロニー集計ではなく、細胞あたりの変異体としてその比が必要です。本突然変異頻度計算機は変異コロニー数とプレーティングした生菌総数を受け取り、前者を後者で割り、変異が記録されたときは N 個に1個という読みも添えて頻度を返します。総菌数がゼロまたは負の場合は、分母が頻度を未定義または非物理にするため無効入力として拒否されます。
突然変異頻度の意味と比の求め方
典型的な耐性または栄養要求性スクリーニングでは、既知の生菌数を選択培地にまき、生育したコロニーを数えます。そのコロニーが分子です。分母はピペットした体積でもフラスコの光学密度でもなく、希釈と体積をすでに適用したあと平板に実際に着地したコロニー形成単位の総数です。
突然変異頻度はその商であり、慣例では f を変異コロニー割るプレーティング生菌数と書き、単位は細胞あたりの変異体です。生菌1億から耐性コロニー50個なら、細胞あたり5×10のマイナス7乗の変異体であり、200万細胞に1個の変異体と同じ主張です。変異コロニー0は正当な観察であり、頻度0になります。
このモデルは1培養のスナップショットであり、速度ではありません。突然変異速度は世代あたり細胞あたり何回の突然変異が起こるかを問い、独立した複数培養と Luria–Delbrück、Lea–Coulson、または MSS の推定器を必要とします。すでにまき量と希釈係数を掛けていない限り、ミリリットルあたり CFU は送らないでください。
活用例
教室のプレーティング宿題
学生に変異コロニー数とプレーティング生菌数を送らせ、細胞あたりの変異体頻度を恒等式 f = mutants / N と照合させます。
ゆらぎ試験における培養ごとの頻度
独立した各培養の観察頻度を計算してから、集合を Luria–Delbrück または Lea–Coulson の速度推定器へ渡します。
品質管理の耐性スクリーニングと試験の自動採点
技術者と採点者に、総菌数がゼロまたは負なら拒否し比を捏造しない決定論的な突然変異頻度オラクルを提供します。
よくある質問
突然変異頻度は突然変異速度と同じですか?
違います。 頻度は1培養で観察された変異体の割合です。突然変異速度は世代あたり細胞あたりの突然変異であり、独立した複数培養のゆらぎ試験が必要です。
コロニー数から突然変異頻度はどう計算しますか?
選択培地の変異コロニー数を、まいた生菌数の合計で割ります。100000000細胞から50コロニーなら、2000000細胞に1個の変異体です。
生菌数には何を入力すればよいですか?
希釈と接種量を反映したうえで、実際にプレートにのったコロニー形成単位の数です。1ミリリットルあたりの値しかない場合は、先に接種量と希釈倍率を掛けてください。
変異コロニーが1つも生えなかったら?
変異コロニーがゼロなのは正当な観察結果で、頻度はゼロになります。「何細胞に1個」という表示は、変異体が1つ以上数えられた場合だけ出ます。
ゆらぎ試験に使えますか?
はい。独立した各培養の観察頻度を求めてから、Luria–Delbrück法などの突然変異率の推定に回せます。各結果は1つの培養の断面であり、突然変異率そのものではありません。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/mutation-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"mutant_colonies":50,"viable_cells":100000000}'const res = await fetch("https://api.kit.forhosting.com/bio/mutation-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"mutant_colonies": 50,
"viable_cells": 100000000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/mutation-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"mutant_colonies": 50,
"viable_cells": 100000000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/mutation-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"mutant_colonies":50,"viable_cells":100000000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"mutant_colonies":50,"viable_cells":100000000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/mutation-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"mutant_colonies": 50,
"viable_cells": 100000000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.mutation_frequency",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
突然変異頻度の意味と比の求め方
本エンドポイントはそれらのモデルを当てはめません。mutant_colonies と viable_cells は一致する計数単位のままにしてください。数値経路は安定した丸めの一回の除算なので、同一の2件の要求は常に同じ JSON を生み、試験用オラクルと継続的インテグレーションのフィクスチャが必要とするものです。
入力契約、応答フィールド、検証エラー
短い別名も同じように働きます。負のコロニー数は物理的な採点ではないからです。総菌数がゼロまたは負では突然変異頻度を計算できず、Infinity や NaN を返す代わりに本計算機がきれいに捕捉するエラーです。検証失敗は課金されません。必須の有限数を2つ含む JSON 本体を POST してください。選択培地で採点したコロニーが mutant_colonies、プレーティングした生菌総数が viable_cells です。mutants、mutant_count、colonies、colony_count、mutants_count、total_cells、total_viable、total_viable_cells、cells_plated、viable_count、n、N です。各フィールドは JSON 数または数値文字列で届いてよく、1e8 のような科学記数法も含みます。空文字、欠落キー、非有限値、許容絶対上限を超える大きさは、フィールド名を示す invalid_input で失敗します。mutant_colonies は非負でなければなりません。viable_cells は厳密にゼロより大きくなければなりません。成功時は安定丸めのあと両方の入力をエコーし、mutation_frequency を細胞あたりの変異体として報告し、恒等式を formula 文字列で再述し、変異数が正のときは cells_per_mutant を逆数として含め、ノートが二度目の除算なしに N 細胞に1個と印刷できるようにします。変異数がゼロのとき cells_per_mutant は null として送らず省略します。例として mutant_colonies が50、viable_cells が1億なら mutation_frequency は5×10のマイナス7乗、cells_per_mutant は200万です。成功した呼び出しは公開された基本価格 $0.002 で前払い KIT 残高を項目ごとに使います。
突然変異頻度計算機が役立つ場面
学部の遺伝学・微生物学の授業では、示されたコロニー数と生菌プレーティングから細胞あたりの変異体を復元させます。決定論的オラクルは、総菌数がゼロまたは負の場合を誤りと採点し、不具合のある採点器が成功とみなしうる Infinity を黙って返しません。ゆらぎ試験の報告書は、公表結果が速度であっても培養ごとの頻度が必要です。本計算機はミリリットルあたり CFU を換算せず、ジャックポット向けのポアソン補正もせず、世代あたり突然変異も推定しません。独立した各培養が独自の f を寄与し、本エンドポイントはそのフラスコに対する誠実な商です。生産株を挑んだり自然耐性を監視したりする品質管理チームは、丸めた JSON をノートに固定でき、1×10の8乗細胞から50コロニーが5×10のマイナス7乗なのかマイナス8乗なのかで二人の分析者が食い違うことはありません。実装が純粋な parse のティア A であるため、成功した呼び出しはモデルトークンも外向き通信もなく公開基本価格 $0.002 です。すでにスケールしたプレーティング数を送り、速度や信頼区間の独自コードへつなぐときは mutation_frequency をその培養で観察された割合として扱ってください。
技術的な質問
プレーティングしたコロニーから突然変異頻度をどう計算しますか。
mutant_colonies と正の viable_cells(すでに希釈とまき量でスケール済み)を送ってください。API は mutation_frequency = mutant_colonies / viable_cells を細胞あたりの変異体で返します。
総菌数がゼロまたは負だとどうなりますか。
タスクは invalid_input で失敗します。viable_cells がゼロまたは負ではプレーティングの分母にできず、頻度は計算されず課金もされません。
cells_per_mutant は何を意味しますか。
頻度の逆数です。viable_cells を mutant_colonies で割ります。1e8 細胞から変異体50なら 2e6、つまり200万細胞に1個です。変異数がゼロのときこのフィールドは省略されます。
突然変異頻度計算機の料金はいくらですか。
ブラウザツールは無料です。API 要求は成功呼び出しごとに $0.002 で前払い KIT 残高を使い、無効入力は課金されません。