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

Rubyプログラミング入門

PHYLIP形式のデータ整形プログラムphylip.rbの解説

このプログラムはClustalWでアラインした配列の出力(seq.aln)をPHYLIPで解析できる形に整形するプログラムである。

 1| data = Hash.new
 2| while line = ARGF.gets
 3|   unless /CLUSTAL|\*/ =~ line
 4|     x = line.chomp.split(/ +/)
 5|     unless x[0].nil?
 6|       if data.key?(x[0])
 7|         data[x[0]] << x[1]
 8|       else
 9|         data[x[0]] = x[1]
10|       end
11|     end
12|   end
13| end
14| puts "#{data.size} #{data.values.first.size}"
15| data.each do | k,v |
16|   if k.size >= 10
17|     print k[0..9]
18|   else
19|     print k+" "*(10-k.size)
20|   end
21|   puts v
22| end

トップページへ


2009年7月27日作成、2011年6月6日更新

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