[BioRuby-ja] gc_percentをfloatに

Toshiaki Katayama ktym @ hgc.jp
2006年 6月 14日 (水) 05:59:01 UTC


二階堂さん

元々はそんな感じになっていましたが、有効数字や ATGC 以外の文字があった時の
扱いなどを簡単には決められないので percent という名前の通り所詮は概算値である
という意味合いで整数値を返すように変更しました(それとともに gc メソッドは
無くしました)。

http://code.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/bioruby/lib/bio/sequence.rb.diff?r1=0.42&r2=0.43&cvsroot=bioruby

精度が必要な場合は composition メソッドの返り値から自分の基準で計算して
もらうのが良いと思います。

片山

On 2006/06/14, at 14:21, Itoshi NIKAIDO wrote:

> にかいどうです。
>
> 提案です。
>
> bio/sequence/na.rb の gc_percent ですが、float を返したほうが
> 良いのではないでしょうか。PCRプライマーなどオリゴの設計の
> 際には小数点第一位あたりが大事になってきます。実際に実験条件を
> 小数点第一位あたりで振るのは日常的ですので、floatのほうが現場に
> 合う気がします。如何でしょうか?
>
> 以下のコードを
>   gc = 100.0 * gc / (at + gc)
> とするだけですけど。
>
> # Calculate the ratio of GC / ATGC bases as a percentage rounded to
> # the nearest whole number.
> #
> #   s = Bio::Sequence::NA.new('atggcgtga')
> #   puts s.gc_percent                       #=> 55
> # ---
> # *Returns*:: Fixnum
> def gc_percent
>   count = self.composition
>   at = count['a'] + count['t'] + count['u']
>   gc = count['g'] + count['c']
>   gc = 100 * gc / (at + gc)
>   return gc
> end
>
> -- 
> Itoshi NIKAIDO, Ph.D.
> FF20 8296 ED6F D9E5 7D05  8A0F 65D8 C2F5 C8D7 2CE2




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