From kawashima @ develop.zool.kyoto-u.ac.jp Tue Feb 3 03:49:24 2004 From: kawashima @ develop.zool.kyoto-u.ac.jp (takeshi kawashima) Date: Tue Feb 3 04:05:23 2004 Subject: [BioRuby-ja] bioruby =?iso-2022-jp?b?GyRCJE4bKEIubmFzZXEgGyRCJWElPSVDJUkbKEI=?= Message-ID: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> 川島武士@京大動物です。 質問です。 Tutorialのサンプルメソッド ==================================================================== seq=Bio::Sequence::NA.new("atctatacgtgatcgtagctagtcgatcgtagctagcta") i = 1 remainder = seq.window_search(60, 60) do |subseq| puts subseq.to_fasta("segment #{i}", 60) i += 1 end puts remainder.to_fasta("segment #{i}", 60) ===================================================================== とてもべんりで、使っています。 しかし、マルチファスタを読み込んで同じことをしようと思い、 m = Bio::FlatFile.new(Bio::FastaFormat, ARGF) m.each_entry do |x| i = 1 remainder = x.naseq.window_search(60, 60) do |subseq| puts subseq.to_fasta("segment #{i}", 60) i += 1 end puts remainder.to_fasta("segment #{i}", 60) #####<=ここ end とすると、ループの最後の putsの行でエラーがでてしまいます。 remainderがStringクラスだからのようですが、 うまい回避方法はないでしょうか? 今は、 tmpseq = Bio::Sequence.new("#{remainder}") puts tmpseq.to_fasta("segment #{i}", 60) としてます。 ==================================== 川島 武士   京都大学・大学院理学研究科   分子・進化発生生物学研究室 kawashima@develop.zool.kyoto-u.ac.jp ==================================== From kawashima @ develop.zool.kyoto-u.ac.jp Tue Feb 3 04:01:28 2004 From: kawashima @ develop.zool.kyoto-u.ac.jp (takeshi kawashima) Date: Tue Feb 3 04:17:19 2004 Subject: [BioRuby-ja] =?iso-2022-jp?b?GyRCJDUkLSRbJEkkTjxBTGQbKEI=?= Message-ID: <200402030901.AA01414@naozane.develop.zool.kyoto-u.ac.jp> 川島@動物です。 へんな質問でした。すみません。 m = Bio::FlatFile.new(Bio::FastaFormat, ARGF) m.each_entry do |x| .......... end としたときに、 xがBio::FastaFormatクラスで、 シーケンスをとりだそうとおもって、 x.naseq とすると、 Bio::Sequence::NAクラス で、Bio::Sequenceクラスには戻らない(?)ようなので、 それによる不都合って、使うときには考えなくても良いでしょうか? ということです。m(_ _)m ==================================== 川島 武士   京都大学・大学院理学研究科   分子・進化発生生物学研究室 kawashima@develop.zool.kyoto-u.ac.jp ==================================== From ktym @ hgc.jp Tue Feb 3 05:04:42 2004 From: ktym @ hgc.jp (Toshiaki Katayama) Date: Tue Feb 3 05:11:00 2004 Subject: =?ISO-2022-JP?B?UmU6IFtCaW9SdWJ5LWphXSBiaW9ydWJ5IBskQiROGyhCLm5h?= =?ISO-2022-JP?B?c2VxIBskQiVhJT0lQyVJGyhC?= In-Reply-To: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> References: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> Message-ID: <632AA494-5630-11D8-B55F-000A9599C910@hgc.jp> どうも。 On 2004/02/03, at 17:49, takeshi kawashima wrote: > Tutorialのサンプルメソッド > ==================================================================== > seq=Bio::Sequence::NA.new("atctatacgtgatcgtagctagtcgatcgtagctagcta") > i = 1 > remainder = seq.window_search(60, 60) do |subseq| > puts subseq.to_fasta("segment #{i}", 60) > i += 1 > end > puts remainder.to_fasta("segment #{i}", 60) > ===================================================================== この引用がチュートリアルそのままではないのですが、おかげで1つバグが見つかりました。 seq.window_search(window_size, step_size) は seq が window_size より短いと エラーになっていました。 このエラーは CVS で修正しておきますが、その場合も何を返すべきかはちょっと悩みます。 (現状では nil になりますが self を返す方が使いやすそう?) > m = Bio::FlatFile.new(Bio::FastaFormat, ARGF) > m.each_entry do |x| > i = 1 > remainder = x.naseq.window_search(60, 60) do |subseq| > puts subseq.to_fasta("segment #{i}", 60) > i += 1 > end > puts remainder.to_fasta("segment #{i}", 60) #####<=ここ > end > > とすると、ループの最後の putsの行でエラーがでてしまいます。 > > remainderがStringクラスだからのようですが、 > うまい回避方法はないでしょうか? こちらは再現条件がまだわからないのですが、remainder が nil なわけではないんですねぇ。 String を返すとすると ruby のバージョンに依存するような気もするので、 以下の2点をまず教えていただけますでしょうか? (1) エラーの場合はエラー表示をそのまま載せていただけた方が良いです。 (2) Ruby のバージョン、BioRuby のバージョンも書いてあった方が良いので ruby -v -r bio -e 'p Bio::BIORUBY_VERSION' の結果を載せて下さると助かります。 2通目の方はよくわからなかったのでこちらに返答させていただきました。 よろしくお願いします。 片山 From shuichi @ kuicr.kyoto-u.ac.jp Tue Feb 3 05:31:14 2004 From: shuichi @ kuicr.kyoto-u.ac.jp (KAWASHIMA Shuichi) Date: Tue Feb 3 05:22:34 2004 Subject: [BioRuby-ja] bioruby =?ISO-2022-JP?B?GyRCJE4bKEIubmFzZXEg?= =?ISO-2022-JP?B?GyRCJWElPSVDJUkbKEI=?= In-Reply-To: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> References: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> Message-ID: 川島@京大化研です。 At Tue, 03 Feb 2004 17:49:24 +0900, takeshi kawashima wrote: > しかし、マルチファスタを読み込んで同じことをしようと思い、 > > m = Bio::FlatFile.new(Bio::FastaFormat, ARGF) > m.each_entry do |x| > i = 1 > remainder = x.naseq.window_search(60, 60) do |subseq| > puts subseq.to_fasta("segment #{i}", 60) > i += 1 > end > puts remainder.to_fasta("segment #{i}", 60) #####<=ここ > end > > とすると、ループの最後の putsの行でエラーがでてしまいます。 試しましたが、動いているようですが? > remainderがStringクラスだからのようですが、 > うまい回避方法はないでしょうか? > 今は、 > tmpseq = Bio::Sequence.new("#{remainder}") > puts tmpseq.to_fasta("segment #{i}", 60) > としてます。 NA クラスは、String クラスを継承しているので String クラスで実装されて いる to_fasta は、NA クラスでも使えるはずですが。 何か別の問題では? 川島 From shuichi @ kuicr.kyoto-u.ac.jp Tue Feb 3 05:31:14 2004 From: shuichi @ kuicr.kyoto-u.ac.jp (KAWASHIMA Shuichi) Date: Tue Feb 3 05:22:38 2004 Subject: [BioRuby-ja] bioruby =?ISO-2022-JP?B?GyRCJE4bKEIubmFzZXEg?= =?ISO-2022-JP?B?GyRCJWElPSVDJUkbKEI=?= In-Reply-To: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> References: <200402030849.AA01412@naozane.develop.zool.kyoto-u.ac.jp> Message-ID: 川島@京大化研です。 At Tue, 03 Feb 2004 17:49:24 +0900, takeshi kawashima wrote: > しかし、マルチファスタを読み込んで同じことをしようと思い、 > > m = Bio::FlatFile.new(Bio::FastaFormat, ARGF) > m.each_entry do |x| > i = 1 > remainder = x.naseq.window_search(60, 60) do |subseq| > puts subseq.to_fasta("segment #{i}", 60) > i += 1 > end > puts remainder.to_fasta("segment #{i}", 60) #####<=ここ > end > > とすると、ループの最後の putsの行でエラーがでてしまいます。 試しましたが、動いているようですが? > remainderがStringクラスだからのようですが、 > うまい回避方法はないでしょうか? > 今は、 > tmpseq = Bio::Sequence.new("#{remainder}") > puts tmpseq.to_fasta("segment #{i}", 60) > としてます。 NA クラスは、String クラスを継承しているので String クラスで実装されて いる to_fasta は、NA クラスでも使えるはずですが。 何か別の問題では? 川島 From kawashima @ develop.zool.kyoto-u.ac.jp Wed Feb 4 06:10:46 2004 From: kawashima @ develop.zool.kyoto-u.ac.jp (takeshi kawashima) Date: Wed Feb 4 06:26:46 2004 Subject: [BioRuby-ja] bioruby =?ISO-2022-JP?B?GyRCJE4bKEIu?= =?ISO-2022-JP?B?bmFzZXE=?= =?ISO-2022-JP?B?IBskQiVhJT0lQyVJGyhC?= In-Reply-To: <632AA494-5630-11D8-B55F-000A9599C910@hgc.jp> References: <632AA494-5630-11D8-B55F-000A9599C910@hgc.jp> Message-ID: <200402041110.AA01415@naozane.develop.zool.kyoto-u.ac.jp> 返事ありがとうございます。 正直に言いますが、昨日はどうしてもうごかなかったのが、 今日になると、どうやっても上手く動いて、昨日のエラーが 再現できなくなりました。大変お騒がせしました。 すみませんでした。 ==================================== 川島 武士   京都大学・大学院理学研究科   分子・進化発生生物学研究室 kawashima@develop.zool.kyoto-u.ac.jp ====================================