クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

ペアワイズアラインメントとは

このレッスンのあとで: 2本の配列の並べ方に、一致、不一致、ギャップの点をつけて、スコアを求められる。

60分のレッスンコマンド1件JupyterLab データサイエンスラボ:pandas、Matplotlib、scikit-learn をブラウザーで

2本の配列を並べて比べる

ペアワイズアラインメントとは、2本の配列を縦に並べて、どこが同じでどこが違うかを調べる方法です。並べ方に点をつければ、似ている度合いを1つの数で比べられます。

このレッスンでは、点のつけ方と、いちばん高い点の探し方を学びます。配列はすべて作り話です。

このレッスンのゴール

メモ

2本の配列の並べ方に、一致、不一致、ギャップの点をつけて、スコアを求められる。

キーワード

ことばいみれい
アラインメント2本の配列を縦に並べた形
一致同じ塩基が縦に並ぶことA と A
不一致違う塩基が縦に並ぶことA と G
ギャップ片方にだけ入れる空白-
スコア並べ方の良さを表す合計点

学生が入力するセルは、このプレビューでは空白です。

アラインメントは1列ずつ点をつける

2本の配列を、上と下に並べます。縦の1列ごとに、一致、不一致、ギャップのどれかです。

ここでは、一致は +1 点、不一致は -1 点、ギャップは -2 点とします。全部の列の点を足した値が、スコアです。

例: GATC と GA-C のスコア

列上下種類点
1GG一致+1
2AA一致+1
3T-ギャップ-2
4CC一致+1
合計1

学生が入力するセルは、このプレビューでは空白です。

並べ方のスコアを求める

コマンド
docker exec jupyter python3 -c 'A="GATC"; B="GA-C"; print(sum([1 if p == q else -2 if "-" in (p, q) else -1 for p, q in zip(A, B)]))'

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

並べ方は何通りもある

同じ2本の配列でも、ギャップの入れ方で、並べ方は何通りにもなります。スコアが最も高い並べ方が、いちばんよいアラインメントです。

下の表は、GATC と GAC の2通りの並べ方です。1つ目のほうが、スコアが高くなります。

例: 2通りの並べ方を比べる

並べ方上下スコア
1つ目GATCGA-C1
2つ目GATCG-AC-1

学生が入力するセルは、このプレビューでは空白です。

よくある間違い

注意

ギャップを入れるほど、よく似た並べ方になると考えがちです。ギャップは減点です。入れすぎるとスコアは下がります。ギャップを入れてよいのは、そのぶん一致が増えるときだけです。

表を埋めると最高のスコアが分かる

並べ方を全部試すと、配列が長いとき時間がかかります。そこで、表を作って、マスを1つずつ埋めます。

各マスは、3つの方向から来る値のうち、いちばん大きい値です。左上からは一致か不一致の点、上と左からはギャップの点を足します。右下のマスが、最高のスコアです。

例: GAC と GATC の表

空GATC
空0-2-4-6-8
G-21-1-3-5
A-4-120-2
C-6-3011

学生が入力するセルは、このプレビューでは空白です。

1つのマスの値を決める

コード: python
# 表のマス1つの値を、3つの方向から決めます。
diagonal = 0    # 左上のマスの値
above = -2      # 上のマスの値
left = 1        # 左のマスの値
match_score = 1
gap = -2

via_diagonal = diagonal + match_score
via_above = above + gap
via_left = left + gap
print("斜めから:", via_diagonal)
print("上から:", via_above)
print("左から:", via_left)
print("このマスの値:", max(via_diagonal, via_above, via_left))
# diagonal を -5 に変えて、もう一度実行してください。
# どの方向の値が選ばれますか。

このラボとソースについて: JupyterLab データサイエンスラボ:pandas、Matplotlib、scikit-learn をブラウザーで

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。