if record[:SEQ]
forward = false
reverse = false
- seq = Seq.new_bp(record)
+ entry = Seq.new_bp(record)
- seq.patscan(options[:forward].to_s,
+ entry.patscan(options[:forward].to_s,
max_mismatches: options[:mismatches],
max_insertions: options[:insertions],
max_deletions: options[:deletions]) do |match|
record[:FORWARD_POS] = match.pos
record[:FORWARD_LEN] = match.length
pos = match.pos + match.length
- len = seq.length - pos
- seq.subseq!(pos, len) if len > 0
+ len = entry.length - pos
+ entry = entry[pos ... pos + len] if len > 0
forward = true
break
end
- seq.patscan(options[:reverse].to_s,
+ entry.patscan(options[:reverse].to_s,
max_mismatches: options[:mismatches],
max_insertions: options[:insertions],
max_deletions: options[:deletions]) do |match|
len = match.pos
if len == 0
- seq.seq = ""
- seq.qual = "" if seq.qual
+ entry.seq = ""
+ entry.qual = "" if entry.qual
else
- seq.subseq!(pos, len)
+ entry = entry[pos ... pos + len]
end
reverse = true
end
if forward or reverse
- record.merge!(seq.to_bp)
+ record.merge!(entry.to_bp)
end
output.puts record