電子情報工学演習B 第6回
課題
次の各ゲノムについて GC skew \((=\frac{C-G}{C+G})\) を求めよ
使えそうなもの
グラフ画像生成ツール
生物ごとに gnuplot の設定ファイルの生成をするのが面倒であればnumo-gnuplot
やGR.rb
などの Ruby からグラフ画像生成をするライブラリを使用するのも良いでしょう。
ライブラリを使わなくても設定ファイルを Ruby プログラム内で生成してsystem
などを使ってgnuplot
を実行することもできます。配列の累積和の算出
Ruby では他の言語に比べてモンキーパッチをするのが簡単です。
単独の関数としてaccumulate
を実装することもできますが、既存のArray
クラスを拡張することもできます。arr = [1, 2, 3] p arr.accumulate # この時点ではArrayクラスにaccumulateメソッドは存在しない class Array def accumulate sum = 0 accumulated = [] self.each do |content| sum += content accumulated.append(sum) end return accumulated end end p arr.accumulate # => [1, 3, 6]