def each_sequence
start = false
res = Gmap::Result.new
all_results = []
query = nil
@io.each_line do |l|
if l=~/>(\d+|\w+)\s/ and !start then
start = true
query = "#{$1}"
elsif l=~/>(\d+|\w+)\s/ and start then
res.query = query
all_results << res.dup if res.target != nil
query = "#{$1}"
if block_given?
yield all_results
else
raise ArgumentError, "Block needed"
end
all_results.clear
res.clear
elsif l=~/Path\s\d+/ and res.target != nil then
res.query = query
all_results << res.dup
res.clear
end
res = parse_line(res,l)
end
if start then
res.query = query
all_results << res.dup if res.target != nil
if block_given?
yield all_results
else
raise ArgumentError, "Block needed"
end
end
end