[BioRuby-ja] Bio::FlatFile.openの利用方法

GOTO Naohisa ngoto @ gen-info.osaka-u.ac.jp
2006年 6月 29日 (木) 11:55:23 UTC


後藤です。

On Thu, 29 Jun 2006 01:54:57 +0900
"Hideya KAWAJI" <kawaji @ unza.org> wrote:

> Bio::FlatFileを利用して、BLATのPSLファイル等を
> 扱ってみようとしています。ヘッダがきちんとついている
> 場合は扱うことができているのですが、ヘッダが無いPSLファイル
> を扱うことができていません。
> 
> 具体的には、
> 
>   Bio::FlatFile.open(Bio::Blat::Report,"file_with_no_header.psl")
> 
> として、Bio::Blat::Reportを明示的に指定してopenしてやると、
> ヘッダの無いPSLファイルでも扱えるかと期待してみたのですが
> 
>   1.8/gems/bio-1.0.0/lib/bio/io/flatfile.rb:571:in `next_entry':
>   undefined method `skip_leader' for nil:NilClass (NoMethodError)
>        from ~/ruby/1.8/gems/bio-1.0.0/lib/bio/io/flatfile.rb:609:in `each'
> 
> というエラーでこけてしまいました。

このエラーの直接の原因は、bioruby-1.0.0のバグです。
これを解決するには、CVS HEADにバージョンアップするか、
http://lists.open-bio.org/pipermail/bioruby-ja/attachments/20060620/e718c389/attachment.pl
のパッチを当てれば、とりあえず凌ぐことはできると思います。
(ただし、このパッチは不完全なので、上記エラーは解決しますが、かわりに
br_bioflat.rbによるFlatFileのインデックス作成がうまくいかなくなる
と思います。インデックスの検索は大丈夫です。)
もちろん、次のリリースでは解決します。

これが解決しても、Bio::Blat::Report の現在の作りでは、ヘッダ無しの
データには対応していませんでした。幸い、簡単に対応できそうだったので、
対応するように先ほど変更してcvs ciしました。

-- 
後藤 直久  ngoto @ gen-info.osaka-u.ac.jp
大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研)



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