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

無料レッスン

コドンからタンパク質への翻訳

このレッスンのあとで: コドン表を使って、DNA配列を3文字ずつ読み、タンパク質の配列に翻訳できる。

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

コドンは塩基3つの区切り

コドンとは、DNAの塩基を3つずつ区切った並びのことです。コドンごとに決まったアミノ酸の文字が対応していて、順に並べるとタンパク質の配列になります。

このレッスンでは、コドン表を使って、配列を読んで翻訳します。配列はすべて作り話で、実在の遺伝子ではありません。

このレッスンのゴール

メモ

コドン表を使って、DNA配列を3文字ずつ読み、タンパク質の配列に翻訳できる。

キーワード

ことばいみれい
コドン塩基を3つずつ区切った並びATG
コドン表コドンとアミノ酸の対応表
アミノ酸タンパク質の部品で、1文字で表すM
読み枠3文字ずつ区切り始める位置
終止コドン翻訳をここで終えるという目印

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

配列を3文字ずつ区切って読む

翻訳では、k-mer と違って、窓を3文字ずつずらします。重ならずに、3文字ずつ区切ります。

こうして区切った1つ1つがコドンです。コドン表を引くと、コドンごとにアミノ酸の文字が分かります。

例: コドン表の一部

コドン文字意味
ATGMアミノ酸
TTTFアミノ酸
GGCGアミノ酸
GCTAアミノ酸
AAAKアミノ酸
TGGWアミノ酸
GAAEアミノ酸
TAA*終止コドン

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

3文字ずつに区切る

コマンド
docker exec jupyter python3 -c 'S="ATGAAAGGC"; print([S[i:i+3] for i in range(0, len(S), 3)])'

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

コドン表を引いて翻訳する

コドンを順に表で引き、文字をつなげると、タンパク質の配列になります。終止コドンが出たら、そこで翻訳を終えます。

最後に、3文字に足りない塩基が余ったら、読まずに捨てます。表にないコドンは、X という文字にします。

小さな表で翻訳する

コマンド
docker exec jupyter python3 -c 'T={"ATG":"M","TTT":"F","GGC":"G"}; S="ATGTTTGGC"; print("".join([T[S[i:i+3]] for i in range(0, len(S), 3)]))'

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

終止コドンまで翻訳するコード

コード: python
# 小さなコドン表を使って、3文字ずつ読みます。
table = {"ATG": "M", "TTT": "F", "GGC": "G", "TAA": "*"}
dna = "ATGTTTGGCTAAATG"
protein = ""
for start in range(0, len(dna) - 2, 3):
    codon = dna[start:start + 3]
    letter = table[codon]
    if letter == "*":
        # 終止コドンが出たら、そこで読むのをやめます。
        break
    protein = protein + letter
print("タンパク質:", protein)
# dna の TAA を GGC に変えて、もう一度実行してください。
# 何が起きますか。

読み枠が変わると読み方が変わる

3文字の区切りを始める位置が読み枠です。1文字目から始めるものを枠 0、2文字目からを枠 1、3文字目からを枠 2 と呼びます。

同じ配列でも、枠が変われば、コドンはまったく別になります。

例: ATGAAATGGTAA の3つの枠

枠コドン翻訳
0ATG AAA TGG TAAM K W と終止
1TGA AAT GGT最初が終止コドン
2GAA ATG GTAE M と、表にない X

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

よくある間違い

注意

どの位置から3文字ずつ区切っても、同じタンパク質になると考えがちです。実際は、1文字ずれるだけで、コドンの区切りがすべて変わります。まず ATG を探し、その位置から読み始めます。

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

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