二点交雑の組換え頻度計算機
組換え頻度計算機は、遺伝学的な二点交雑で得た子孫数を、組換え型表現型の割合へ換算します。組換え型の子孫数と、判定した子孫の総数を入力すると、観測頻度の標準式を適用します。結果には、組換え型数、そこから求めた非組換え型数、および百分率で表した組換え頻度が含まれます。遺伝学の演習結果を確認するとき、交雑実験のデータを要約するとき、または連鎖解析の最初の段階を手計算なしで準備するときに役立ちます。
無料で実行
計算前に組換え型の子孫を特定します
最初に、交雑で調べる2つの遺伝子座について、どの子孫クラスを組換え型とするか判断します。一般的な検定交雑では、最も多い表現型クラスが親型の組み合わせを示し、少ない相反クラスが組換え型を示すことが通常です。すべての組換え型クラスを合計して組換え型数を求め、次に親型と組換え型を含む全観測クラスを合計して総数を求めます。この計算機に入力するのは表現型の一覧ではなく、この2つの集計値です。そのため、分類そのものは実験上および生物学上の判断として残ります。標本変動によって相反する組換え型クラスの数が異なっていても、両方を含めてください。数をそろえるためだけに、有効な観測を除外してはいけません。総数と組換え型数は、同じ判定対象集団から得る必要があります。確実に分類できない子孫がある場合は、結果を見る前に除外規則を決め、両方の集計へ一貫して適用してください。計算処理だけでは、誤ったクラスへ割り当てた表現型を検出できません。
百分率の意味と限界を理解します
組換え頻度は、組換え型の子孫数を総子孫数で割り、100を掛けて求めます。たとえば18パーセントなら、判定した子孫のうち、その割合が2つのマーカーについて組換え型の組み合わせを持っていたことを意味します。通常の二点連鎖解析では、低い観測頻度は遺伝子座が近いことと整合します。一方、50パーセント付近の値は、独立の法則に従う場合、または遺伝子座が遠く、複数の交差が連鎖を見えにくくしている場合と整合します。この割合は観測標本の統計量であり、すべての交差事象を直接記録した値ではありません。二重交差など偶数回の交差は親型のマーカー配置を復元するため、二点交雑では数えられないことがあります。したがって、あらゆる範囲で正確な物理距離として解釈することはできません。検出されない複数交差が少ない短い区間に限り、センチモルガン単位の地図距離の近似として扱われることがあります。本計算機は頻度のみを示し、地図関数や染色体距離は算出しません。
結果を確認し、適切に報告します
結果を利用する前に、組換え型数が総数を超えておらず、総数が0より大きいことを確認してください。子孫は離散的な観測値であるため、本計算機はこの2条件を適用し、0以上の整数だけを受け付けます。整合性確認のため、推定した非組換え型数も返します。この値と組換え型数の合計は、入力した総数に一致する必要があります。頻度を報告するときは、計算を示すのに十分でありながら、現実以上の確実性を印象づけない精度を選んでください。本計算機は小数第6位を超える部分だけを丸めますが、実験報告では標本数に応じて桁を減らせます。20個体に基づく結果と2000個体に基づく同じ百分率を区別できるよう、元の個体数も併記してください。標本誤差、交雑設計、生存率、判定誤差、マーカークラスの割り当ても考慮する必要があります。正式な連鎖地図作成では、相反クラスの比較、標本の拡大、三点交雑、または適切な地図関数をご検討ください。
活用例
遺伝学の演習を確認する
二点検定交雑の表現型クラス総数から、組換え型の割合を確認できます。
実験室の交雑データを要約する
検証済みの子孫数を、報告書やデータ表で使える一貫した百分率へ変換します。
連鎖の可能性を調べる
詳しい連鎖解析を行う前の初期指標として、観測頻度を利用できます。
よくある質問
どのような式で計算しますか?
組換え型の子孫数を総子孫数で割り、その結果に100を掛けます。
どの子孫を組換え型と数えますか?
2つの遺伝子座について、親型ではない対立遺伝子の組み合わせを持つ子孫です。特定方法は交雑設計と表現型クラスによって異なります。
組換え頻度が50パーセントを超えることはありますか?
標本変動や分類上の問題により、観測計算値が50パーセントを超える場合があります。ただし、古典的な連鎖解釈で用いる期待上限は50パーセントです。解釈前にクラス割り当てと実験設計をご確認ください。
百分率は常にセンチモルガン単位の地図距離と等しいですか?
いいえ。短い区間では有用な近似ですが、複数交差により二点組換え頻度は長い距離を過小評価します。
API による計算の料金はいくらですか?
API の各リクエストは $0.002 です。同じ決定論的計算をブラウザーでも実行できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/recombination-frequency \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"recombinant_offspring":184,"total_offspring":1000}'const res = await fetch("https://api.kit.forhosting.com/bio/recombination-frequency", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"recombinant_offspring": 184,
"total_offspring": 1000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/recombination-frequency",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"recombinant_offspring": 184,
"total_offspring": 1000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/recombination-frequency", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"recombinant_offspring":184,"total_offspring":1000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"recombinant_offspring":184,"total_offspring":1000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/recombination-frequency", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"recombinant_offspring": 184,
"total_offspring": 1000
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.recombination_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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |