LoginSignup
0
0

More than 1 year has passed since last update.

`Bio::GenBank` なオブジェクトをファイルに書き出す

Posted at

Bio::GenBank なオブジェクトをファイルに書き出す

bioruby で起動したシェルでは、 getent したデータを savefile することができる。

biopython だと SeqIO.write() で書き出すことができる。

しかし、 bioruby ではなく Ruby のプログラム内で Bio::NCBI::REST::Efetch で取得し、パースして Bio::GenBank になったオブジェクトをファイルに書き出したかったので調べた結果を記録する。

できた方法

Bio::DB に実装されている tags()get() を使う。

obj = ... # Bio::GenBank のオブジェクトが入っている

File.open("sample.gbk", "w") do |f|
  obj.tags.each do |tag|
    f.puts obj.get(tag)
  end
end

Ruby の Hash は登録順で key と value が保持されているようなのでこれでもとの gbk に復元できる。

できなかった方法

  • to_s
obj = ...

File.open("sample.gbk", "w") do |f|
  f.puts obj.to_s
end

"#<Bio::GenBank:...>" がファイルに書き出されてしまう。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0