バイオインフォマティクス

Rubyプログラミング入門

塩基配列からアミノ酸配列に変換するプログラム

amino1a.rbの解説

 1| amino_acids = 
 2| {"TTT" => "F", "TCT" => "S", "TAT" => "Y", "TGT" => "C",
 3|  "TTC" => "F", "TCC" => "S", "TAC" => "Y", "TGC" => "C",
 4|  "TTA" => "L", "TCA" => "S", "TAA" => "*", "TGA" => "*",
 5|  "TTG" => "L", "TCG" => "S", "TAG" => "*", "TGG" => "W",
 6|  "CTT" => "L", "CCT" => "P", "CAT" => "H", "CGT" => "R",
 7|  "CTC" => "L", "CCC" => "P", "CAC" => "H", "CGC" => "R",
 8|  "CTA" => "L", "CCA" => "P", "CAA" => "Q", "CGA" => "R",
 9|  "CTG" => "L", "CCG" => "P", "CAG" => "Q", "CGG" => "R",
10|  "ATT" => "I", "ACT" => "T", "AAT" => "N", "AGT" => "S",
11|  "ATC" => "I", "ACC" => "T", "AAC" => "N", "AGC" => "S",
12|  "ATA" => "I", "ACA" => "T", "AAA" => "K", "AGA" => "R",
13|  "ATG" => "M", "ACG" => "T", "AAG" => "K", "AGG" => "R",
14|  "GTT" => "V", "GCT" => "A", "GAT" => "D", "GGT" => "G",
15|  "GTC" => "V", "GCC" => "A", "GAC" => "D", "GGC" => "G",
16|  "GTA" => "V", "GCA" => "A", "GAA" => "E", "GGA" => "G",
17|  "GTG" => "V", "GCG" => "A", "GAG" => "E", "GGG" => "G"}
18| amino_acids.default = "X"
19| 
20| lines = ARGF.read
21| lines.gsub!(/\n/,"")
22| lines.upcase!
23| [0,1,2].each do |start|
24|   i = start
25|   print "Frame #{start+1}:"
26|   while i <= lines.length-1
27|     codon = lines[i..i+2]
28|     print amino_acids[codon]
29|     i = i+3
30|   end
31|   print "\n"
32| end

トップページへ


2009年4月13日作成、2009年7月14日更新

國分 尚 (Hisashi Kokubun)
hkokubun@faculty.chiba-u.jp