【バイオインフォ実習】第2回:セントラルドグマの実装(転写・翻訳)
前回はDNA配列の基本操作を学びました。第2回は、生物学の核心である「セントラルドグマ」をコードで動かしてみます。
セントラルドグマとは、遺伝情報が「DNA → RNA → タンパク質」と流れる仕組みです。IT的に言えば、DNAという「ソースコード」を、RNAという「中間形式」を経て、タンパク質という「実行プログラム」にビルドする工程と捉えると非常に分かりやすくなります。
1. セントラルドグマの実装コード
解説を分かりやすくするため、最小単位である6文字(アミノ酸2つ分)の配列で試してみましょう。
from Bio.Seq import Seq
# 1. DNA配列(最小構成の6文字)
dna = Seq("ATGTAA")
print(f"DNA: {dna}")
# 2. 転写(transcribe):TをUに置換するだけ
mrna = dna.transcribe()
print(f"RNA: {mrna}")
# 3. 翻訳(translate):3文字を1文字に変換
protein = mrna.translate()
print(f"Protein: {protein}")
# 1. DNA配列(最小構成の6文字)
dna = Seq("ATGTAA")
print(f"DNA: {dna}")
# 2. 転写(transcribe):TをUに置換するだけ
mrna = dna.transcribe()
print(f"RNA: {mrna}")
# 3. 翻訳(translate):3文字を1文字に変換
protein = mrna.translate()
print(f"Protein: {protein}")
2. 実行結果の確認
DNA: ATGTAA
RNA: AUGUAA
Protein: M*
RNA: AUGUAA
Protein: M*
3. 「Protein: M*」の正体は?
出力された M* は、3文字ずつの塩基(コドン)がデコードされた結果です。ここには生命の「規約(プロトコル)」が隠されています。
- M(メチオニン)は「開始フラグ」:
AUGという配列は、アミノ酸の「メチオニン」を指すと同時に、システムに対して「ここから翻訳を開始せよ」と伝える開始コドンの役割を果たします。ITでいうmain()関数のエントリーポイントのような存在ですが、「開始地点には必ずメチオニンというパーツを置く」という物理的なルールがあるのが面白いところです。 - *(アスタリスク)は「終了フラグ」:
UAAは終止コドンと呼ばれます。これは特定のパーツ(アミノ酸)を指すのではなく、「ここで翻訳を終了せよ」という命令そのものです。ITでいうreturnやbreak、あるいはファイルの終端を示すEOFに相当します。
4. ITエンジニア的まとめ
今回の実習で、以下の変換プロセスを体験しました。
- 転写:
dna.transcribe()は、TをUに書き換えるだけの「形式変換」。 - 翻訳:
mrna.translate()は、3文字の暗号を1つの記号に変換する「デコード」。
生命もITシステムと同様に、決まった「開始」と「終了」の合図(プロトコル)に従って動いていることが分かると、バイオインフォマティクスがぐっと身近に感じられますね。
次回は、いよいよ本物の遺伝子データ(外部ファイル)を読み込んで解析する手法に挑戦します。
PR