[BioRuby-ja] gc_percentをfloatに

GOTO Naohisa ngoto @ gen-info.osaka-u.ac.jp
2006年 6月 26日 (月) 13:57:54 UTC


後藤です。

メソッド名は、GenomeDiagramを参考に、gc_contentでよいと思います。
A/T/G/C/U以外の、R,Y等のIUPAC標準の曖昧な塩基やその他の文字は、
今までと同じく、分母・分子の両方から無視する計算法でよさそうです。

さらに、ついでに、
   def at_content; (略); return at.to_f / (at+gc).to_f; end
   def gc_skew; (略); return (g - c).to_f / (g + c).to_f
   def at_skew; (略); return (a - t).to_f / (a + t).to_f
も追加したいと思うのですが、どうでしょうか?
gc_skewおよびat_skewは-1以上1以下の範囲の数になります。

(ちなみに、GenomeDiagramやG-languageには、スライディングウインドウで
ゲノム全体の値を計算してグラフを描く機能が付くようですが、それは全く別の話。)

それともう一点。
現状では、空の配列に対して Bio::Sequence::NA#gc_percent を実行すると、
   s = Bio::Sequence::NA.new('')
   p s.gc_percent
例外 ZeroDivisionError: divided by 0
が発生します。しかし、gc_percentの定義は、配列中にGとCがどれくらい含まれ
ているかの割合であり、長さ0の配列ではGC含有量は0なのだから、例外を出さず
0を返したほうがよいと思うのですが、いかがでしょうか?

-- 
後藤 直久  ngoto @ gen-info.osaka-u.ac.jp
大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研)



BioRuby-ja メーリングリストの案内