シロイヌナズナのたんぱく質データに含まれるアミノ酸の生起確率を調べてみました.

データはTAIRからFTPで入手しました.

プログラム

アミノ酸配列データはFASTAフォーマットで書かれているので,Ruby 1.9で次のようなプログラムを作りました.

require 'zlib'

h = Hash.new  # カウントを保存するハッシュ
"ABCDEFGHIKLMNPQRSTUVWXYZ".each_char do |c|
  h[c] = 0  # カウントを0に初期化
end

sum = 0  # 合計
Zlib::GzipReader.open('At_GB_all_prot.gz') do |gz|
  gz.each do |l|
    next if l[0] == '>'  # ヘッダ行はスキップ
    l.chomp!.each_char do |c|  # データ行から一文字ずつ取り出す
      h[c] += 1
      sum += 1
    end
  end
end

h.each do |key,value|
  print "#{key},#{value/sum.to_f}\n"  # 結果出力
end

実行結果

A,0.0642287712757009
B,2.08357264367207e-07
C,0.0185773741032083
D,0.0539519338703533
E,0.0660423609871986
F,0.0428138917814487
G,0.0655695502719038
H,0.0227656436116629
I,0.0533824293569103
K,0.0629008944024068
L,0.0951645680201763
M,0.0245421136751396
N,0.0440100868636627
P,0.0486483599807048
Q,0.034537203976617
R,0.0535271254632724
S,0.0894924582123078
T,0.0513570524999242
U,0.0
V,0.067004602916492
W,0.0125394851040022
X,0.000255478061077945
Y,0.0286882469337464
Z,1.60274818744005e-07

グラフ

amino_probabilities.jpg

コメント

当初の予想に反して,X(不明)が極少数ですが含まれていました.

ちなみに,たんぱく質の生起確率を考慮していないので,シロイヌナズナに含まれるアミノ酸の生起確率ではありません.

参考情報

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS