From: timr Date: 2009-09-24T17:25:05+09:00 Subject: Can someone in Japan please kancho the authors of the bioruby gem at Kyoto University? With every method call, the bioruby gem is surprising me with its behavior--not pleasant surprises either (more like an unpleasant kancho kind of surprise--hence the request to repay the authors). For those who haven't been to Japan and are wondering what a kancho is: http://www.kancho.org/how_to_kancho.html First, it has rather strange behavior when it comes to opening files. For instance, when I try to open a genbank file like so: >>require 'bio' =>true >> f = Bio::GenBank.open("Ago2.seq") => #, @buffer="">, @header="LOCUS ", @delimiter="\n//\n">, @stream=#, @buffer="">, @skip_leader_mode=:firsttime, @dbclass=Bio::GenBank> #Surprise!!! I asked for a GenBank object and got a FlatFile object back. #Principle of least surprise would be Bio::GenBank.open => Bio::GenBank >> f.instance_variables => ["@raw", "@firsttime_flag", "@splitter", "@stream", "@skip_leader_mode", "@dbclass"] #looking for my object by iterating through the gratuitous FlatFile object. >> f.each{|x| puts x} # => nil >> f.instance_variables => ["@raw", "@firsttime_flag", "@splitter", "@stream", "@skip_leader_mode", "@dbclass", "@entry"] #Surprise!!! calling each on an object altered the object, by adding an instance variable. #What?!!?! I have never seen a case where calling each altered the object. Kancho! Kancho! Kancho! Tim