Re: [BioRuby-ja] GenBank形式のファイルを読みこみたい

Toshiaki Katayama ktym @ hgc.jp
2005年 2月 28日 (月) 02:26:05 EST


福井さん

入れ違いになってしまいましたが、解決して良かったです。

先ほどの私のコメントはちょっと勘違いしていました。
直接には GenBank クラスの問題ではなく、福井さんの仰る通り、
gb.rb の FlatFile クラスが空行を次のエントリとして
処理しようとしているから、ということですね。

対処するとすれば flatfile.rb でデリミタの次のエントリが
空っぽだったらスキップする(or each_entry を抜ける?)
といった処理を入れることになるでしょうか。

片山


On 2005/02/28, at 15:57, FUKUI Toshifumi wrote:

> 福井です。
>
> デリミタ//の後の空行が原因だったようですね。
>
> 一応表示された後でエラーが出ているのは、空行を次のエントリとして処理し
> ようとしていた、ということですね。
> # ああ、こうやって分かってみると、ちょっと考えれば分かるじゃん、、、
> # ってことだった。
>
> すみません、お騒がせしました。
>
> これで解決しました。ありがとうございました。
>
>
> At Mon, 28 Feb 2005 15:46:42 +0900,
> fukui wrote:
>>
>> 福井です。
>>
>> 片山さん、西山さん、お世話になります。
>>
>> 例えば、NCBIから取得した、
>> VERSION     NM_178136.1  GI:30089918
>> というファイルで、そうなります。
>> ちなみに、Entrezで表示させて、「all to file」を選択して「send」のボタ
>> ンを押しただけの状態なので、僕が加工したファイルというわけでもありませ
>> ん。
>>
>> 余分な空行ということは、改行コードかなぁ、、、。
>> ちょっと調べてみます。
>>
>> At Mon, 28 Feb 2005 15:26:01 +0900 (JST),
>> Tomoaki NISHIYAMA wrote:
>>>
>>> 基生研の西山です。
>>>
>>> 下のような現象は、余分な空行があるファイルで見ることがあります。
>>> 福井さんの方では、余分な空行がないかを確認してみては如何でしょうか。
>>>
>>> biorubyの方では、余分な空行があってもうまく処理できるよう
>>> になるとより良いと思います。
>>>
>>> -- 
>>> Tomoaki Nishiyama
>>>   e-mail:tomoaki @ nibb.ac.jp
>>> National Institute for Basic Biology
>>>
>>>
>>> From: Toshiaki Katayama <ktym @ hgc.jp>
>>> Subject: Re: [BioRuby-ja] GenBank形式のファイルを読みこみたい
>>> Date: Mon, 28 Feb 2005 14:49:25 +0900
>>> Message-ID: <382e53b735eb225b9a15c3f3f3e098c8 @ hgc.jp>
>>>
>>> ktym> 福井さん
>>> ktym>
>>> ktym> 手元で少し試してみた限りではエラーにならないのですが、
>>> ktym> 最近は全 GenBank にかけてみるといったテストをしていないので、
>>> ktym> フォーマットの変更など対応漏れがある可能性はあります。
>>> ktym>
>>> ktym> エラーの出るエントリを教えて(or 送って)頂けないでしょうか?
>>> ktym>
>>> ktym> よろしくお願いします。
>>> ktym>
>>> ktym> 片山
>>> ktym>
>>> ktym> On 2005/02/28, at 13:35, FUKUI Toshifumi wrote:
>>> ktym>
>>> ktym> > 福井と申します。
>>> ktym> >
>>> ktym> > http://bioruby.org/wiki/Japanese/?Tutorial.rd.ja
>>> ktym> > の「GenBank のパース (Bio::GenBank クラス)」の
>>> ktym> >> 次に、GenBank の複雑な FEATURES の中もパースして、遺伝子ごとの塩基配列と
>>> ktym> >> アミノ酸配列を取り出してみます。
>>> ktym> > の例に従って、GenBank形式のファイルを読み込もうとしています。
>>> ktym> >
>>> ktym> > この例をそのままcopy & pasteした上で、NCBIから取ってきたGenBank形式の
>>> ktym> > ファイルを読み込ませてみると、
>>> ktym> >
>>> ktym> > /usr/lib/ruby/site_ruby/1.8/bio/db/genbank/common.rb:58:in 
>>> `accession':
>>> ktym> > private
>>> ktym> > method `split' called for nil:NilClass (NoMethodError)
>>> ktym> >         from ./gb.rb:11
>>> ktym> >         from ./gb.rb:8:in `each_entry'
>>> ktym> >         from ./gb.rb:8
>>> ktym> >
>>> ktym> > のようなエラーが出ます。
>>> ktym> > # gb.rbというのが、とりあえずcopy & pasteして作ったファイルの名前です。
>>> ktym> >
>>> ktym> > とりあえず、/usr/lib/ruby/site_ruby/1.8/bio/db/genbank/common.rb 
>>> を見て
>>> ktym> > はみたのですが、何がどういけないのか見当が付きません。
>>> ktym> > すみません、どう対処すべきでしょうか?どなたか、ヒントだけでも教えてくだ
>>> ktym> > さい。
>>> ktym> >
>>> ktym> > ちなみに、
>>> ktym> > % ruby -v
>>> ktym> > ruby 1.8.2 (2004-12-25) [i386-cygwin]
>>> ktym> > という環境で、bioruby-0.6.2をインストールしています。
>>> ktym> >
>>> ktym> > --
>>> ktym> > fukui
>>> ktym>



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