血縁係数計算機
全きょうだいは2段の経路を2本共有するため、血縁係数は0.5、つまり50%です。共通祖先を通る経路と、必要なら近交係数を入れるだけで、ライトのrと近縁係数が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
血縁係数は r またはライトの r と書かれ、共通祖先を通る系譜経路で結ばれるために、二人の個体が血統同一で共有すると期待される対立遺伝子の割合です。遺伝カウンセラー、家畜育種家、保全遺伝学者、量的遺伝学を学ぶ方は、その一つの数で、描いた系譜を親子、全兄弟、半兄弟、祖父母と孫、叔父と姪、いとこなどの教科書値と比べます。この血縁係数計算機は、共通祖先を通じて二人を結ぶ独立した世代リンクの鎖、その祖先の任意の近交、および二人の焦点個体の任意の近交を受け取ります。
ライトの r の意味と世代リンクがそれを作る仕組み
Sewall Wright は、系譜を絵ではなく確率にするために血縁係数を定義しました。共通祖先を通じて二人を結ぶ独立経路は、その経路の世代リンク数を指数とする二分の一に、その祖先の近交係数を一つ加えたものを掛けて寄与します。親子はリンク一つの経路を一つ共有するので、r は二分の一です。
全兄弟は各親を通るリンク二つの経路を二つ共有し、四分の一ずつの寄与が合わさって二分の一になります。半兄弟は片親だけを共有するので、リンク二つの経路一つで四分の一です。いとこは祖父母の組を通るリンク四つの経路を二つ共有し、八分の一を受け取ります。
焦点のどちらも近交でないとき、血縁係数 φ は r の半分です。一方から無作為に取った対立遺伝子が、他方から無作為に取った対立遺伝子と血統同一である確率です。どちらかが近交のとき、本計算機は r が二 φ を、一たす F_X と一たす F_Y の積の平方根で割った完全な恒等式を使います。
経路は独立でなければなりません。同じ鎖を二度数えず、同じ人を二度通るループも入れないでください。一卵性双生児はリンク零の同一性経路として扱い、r は一です。
これは定義であり、遠い祖先を辿る長い系譜歩きではありません。
血縁係数の計算が役立つ場面
遺伝学の教室では、系譜のスケッチをライトの r に直し、経路を落としたり祖父母経由のリンクを数え間違えたりしないために血縁係数計算機を使います。飼育下繁殖の保全系譜は、少数の経路のために完全なグラフライブラリを立てずに平均血縁を追うため、血縁と関係の両方を返す決定論的オラクルを必要とします。
相談票や LMS プラグインは、古典的経路法だけが必要なときに IBD 区間やマイクロアレイ結果を捏造しない小さな parse 端点から恩恵を受けます。検証失敗は残高を消費しません。
経路一覧を短く保ち、テストで relationship と kinship を固定すれば、自分の系譜データベースなしに課題、交配メモ、エッジワーカー向けの再現可能なライトの r を得られます。
活用例
教室の系譜・量的遺伝学の課題
学生に系譜上の独立した世代リンク経路を列挙させ、ライトの r、血縁 φ、既約分数を親子・兄弟・いとこの教科書値と照合させます。
家畜と伴侶動物の交配確認
共有祖先を通る経路を合計し、共通祖先が近交なら必要に応じて F_A を上げてから、予定交配を予約前に比較します。
保全系譜と遺伝相談票
完全な系譜グラフライブラリを取り込まずに、飼育下繁殖や相談フォームへ決定論的な血縁と関係を返します。
よくある質問
血縁 φ と関係 r の違いは何ですか?
血縁 φ は、各人から一つずつ取った無作為対立遺伝子が血統同一である確率です。ライトの r はどちらも近交でなければ 2φ、近交なら 2φ / √((1+F_X)(1+F_Y)) です。
全きょうだいの血縁係数はいくつですか?
2分の1です。全きょうだいは両親それぞれを通る2段の経路を2本共有し、1本あたり4分の1ずつ寄与するので、合わせて0.5になります。
いとこの血縁係数はいくつですか?
8分の1です。いとこどうしは共通の祖父母を通る4段の経路2本でつながっており、その2本の寄与を合わせると8分の1になります。
系譜の経路の段数はどう数えますか?
1人目から共通祖先まで上り、そこから2人目まで下りる世代の段を1つずつ数えます。親子は1段、異母・異父きょうだいは共通の親を通って2段です。
共通祖先が近交している場合はどう変わりますか?
その経路の寄与に、1に祖先の近交係数を足した値が掛けられます。そのため近交した祖先がいると、2人の血縁は教科書の通常の値より近くなります。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/bio/coefficient-of-relationship \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}'const res = await fetch("https://api.kit.forhosting.com/bio/coefficient-of-relationship", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/bio/coefficient-of-relationship",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/bio/coefficient-of-relationship", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"paths":[{"links":2,"ancestor_inbreeding":0},{"links":2,"ancestor_inbreeding":0}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/bio/coefficient-of-relationship", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"paths": [
{
"links": 2,
"ancestor_inbreeding": 0
},
{
"links": 2,
"ancestor_inbreeding": 0
}
]
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "bio.coefficient_of_relationship",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 50 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
入力契約・応答の形・検証規則
各記録には links が必要です。第一の人から共通祖先へ上り、第二の人へ下りる世代ステップ(減数分裂)の非負整数です。近交の値はいずれも零以上一以下の有限数でなければなりません。経路は最大五十まで、各 links は最大四十までとし、二分の一の累乗が通常の浮動小数精度に収まるようにします。例:links が二で祖先近交が零の記録二つは近交でない全兄弟を表し、r は 0.5、φ は 0.25、分数は 1/2 です。必須欄 paths が空でない経路記録の一覧である JSON 本体を POST してください。その記録の任意の ancestor_inbreeding は祖先のライト近交係数 F_A で、既定は零です。上位の任意欄 inbreeding_a と inbreeding_b は二人の焦点個体の近交係数で、こちらも既定は零です。paths の欠落、空一覧、非整数の links、負の links、単位区間外の近交、非有限数は欄名付きの invalid_input で失敗し、課金されません。成功時は正規化した経路と各経路の r への寄与、二人の近交、血縁 φ、relationship としての r、r の百倍の relationship_percent、すべての近交が零のときは 1/2 や 1/8 のような既約二進分数の relationship_fraction を返します。formula 欄はライトの恒等式を再掲し、method は wright_path です。
血縁係数 API が価値を発揮する場面
家畜や伴侶動物の育種家は、半兄弟・叔父と姪・いとこなどの公表帯の横に r を置いて予定交配を比べ、共通祖先がすでに近交なら ancestor_inbreeding を上げられます。実装が parse の tier A のため、成功した呼び出しは毎回公開の基本料金 $0.002 で、モデルトークンも外向きネットワークもありません。
技術的な質問
系譜経路から血縁係数をどう計算しますか。
各共通祖先を通る世代ステップの links と任意の ancestor_inbreeding を持つ記録として paths を送ってください。任意の inbreeding_a と inbreeding_b は F_X と F_Y です。API は φ = Σ (1/2)^{L+1}(1+F_A) のもとで r = 2φ / √((1+F_X)(1+F_Y)) を返します。
よくある親族では何本のリンクを使いますか。
親子はリンク 1 の経路一つ(r=1/2)。全兄弟はリンク 2 の経路二つ(r=1/2)。半兄弟または祖父母と孫はリンク 2 の経路一つ(r=1/4)。いとこはリンク 4 の経路二つ(r=1/8)です。
近交の共通祖先を含められますか。
はい。その経路の ancestor_inbreeding を祖先のライト F_A([0, 1])に設定します。経路寄与は (1+F_A) 倍されます。焦点の人が近交なら inbreeding_a または inbreeding_b を設定してください。
血縁係数計算機の料金はいくらですか。
ブラウザの用具は無料です。API 要求は成功した呼び出しごとに前払い KIT 残高を $0.002 で使い、無効な入力は課金されません。