イスミゴのぽぽぽ

日々思ったことや趣味,勉強メモとして活用していきます.黒歴史となるか否か...

Rubyメモ①ファイル内の数字を3倍にしてcsv出力する

    f:id:sigumi:20170828133805j:plain

何がしたいのか

まず,個人的なことを言うとpfamからドメイン構造を取得した後,それぞれのドメインアミノ酸の位置から塩基における位置を知りたかったんです

 

ということは,アミノ酸がわかってるから3倍すればいいじゃん??

 

しかし,10個以上あるやんけ→めんどくさい→一気にやってくれるやつ作ろう!!

 

入力ファイルにはアミノ酸の前と後ろが書いてある

(もしかして入力ファイル作るのめんどくね?)

 

出力ファイルには

  1. アミノ酸の前と後ろ
  2. 塩基の前と後ろ
  3. そのドメインの総塩基数

を出力させたい(どちらもcsvファイルです)

 

 ※もしかすると,出力させたファイルを解析していく方法(ないかもしれない)があるかもしれないけど,まだ知識が疎い自分にはこれしかできなかった;;

 

やってみた

 

まず組んだもの
require 'csv'


INFILE = "amino.csv"
OUTFILE = "bp.csv"
HEADER = ["name", "Afoward", "Areverse", "BF", "BR", "ALLbp"]

CSV.open(OUTFILE, "w", :headers => HEADER, :write_headers => true) do |csv|
CSV.foreach(INFILE, headers: true) do |row|
bf = row[1].to_f * 3
br = row[2].to_f * 3
allbp = br - bf
csv << [row[0], row[1], row[2], bf, br, allbp]
end
end
 

 

こちらのサイトを参考にして(ほぼコピペ)やってみました

Ruby - csvから数値を読み取って計算結果をcsvに出力する方法(35165)|teratail

 

入力ファイル

f:id:sigumi:20170828115918p:plain

 出力ファイル

f:id:sigumi:20170828115911p:plain

 

うまくできました

 

コメント

Rubyは実行させるとすぐ構文の間違いがわかるのがいいですね

 

実際,これ作ったの初心者すぎて1日ぐらいかけてる

 

普通に計算したほうが早かったんじゃね?というのは置いといて

 

次,もしかすると使うかもしれないじゃないですかぁ...(震え声)

 

こんな感じに初心者感丸出しです

 

別の話になりますけど遺伝子のタンパク質を解析する手順でスタンダードな方法とかあるんですかね??

 

あるなら聞いてみたいです(若手交流会とか行ってみたいのん)

 

 

 

苦悩はまだまだ続く...