# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-require 'biopieces'
+require 'maasha/biopieces'
casts = []
casts << {:long=>'no_stream', :short => 'x', :type => 'flag', :mandatory => false, :default => nil, :allowed => nil, :disallowed => nil}
casts << {:long=>'count', :short => 'c', :type => 'uint', :mandatory => false, :default => 1000, :allowed => nil, :disallowed => '0'}
-bp = Biopieces.new
+options = Biopieces.options_parse(ARGV, casts)
-options = bp.parse(ARGV, casts)
+Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output|
+ input.each_with_index do |record, count|
+ output.puts record unless options.has_key? :no_stream
+ $stderr.printf "\n% 9d ", count if (count % (options[:count] * 100)) == 0
+ $stderr.print "." if (count % options[:count]) == 0
+ end
-bp.each_with_index do |record, count|
- bp.puts record unless options.has_key? :no_stream
- $stderr.printf "\n% 8d ", count if (count % (options[:count] * 100)) == 0
- $stderr.print "." if (count % options[:count]) == 0
+ $stderr.puts
end