if record.has_key? :SEQ
seq = Seq.new_bp(record)
pos = 0
+ len = 0
if forward = seq.patscan(options[:forward].to_s, pos, options[:mismatches], options[:insertions], options[:deletions])
record[:FORWARD_POS] = forward.last.pos
record[:REVERSE_LEN] = reverse.first.length
pos = 0
len = reverse.first.pos
- seq.subseq!(pos, len) if len > 0
+
+ if len == 0
+ seq.seq = ""
+ seq.qual = "" if seq.qual
+ else
+ seq.subseq!(pos, len)
+ end
end
- if pos > 0
+ if forward or reverse
record.merge!(seq.to_bp)
end
--- /dev/null
+SEQ_NAME: test1
+SEQ: tcagtACTGAGCTAGCAGCGGTGCGccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcggTGCTGGACTGGGTGGAGCACatcaa
+SEQ_LEN: 99
+---
+SEQ_NAME: test2
+SEQ: ACTGAGCTAGCAGCGGTGCGccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcggTGCTGGACTGGGTGGAGCAC
+SEQ_LEN: 89
+---
+SEQ_NAME: test3
+SEQ: ccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcggTGCTGGACTGGGTGGAGCAC
+SEQ_LEN: 69
+---
+SEQ_NAME: test4
+SEQ: TGCTGGACTGGGTGGAGCACatcaa
+SEQ_LEN: 25
+---
+SEQ_NAME: test5
+SEQ: TGCTGGACTGGGTGGAGCAC
+SEQ_LEN: 20
+---
--- /dev/null
+SEQ_NAME: test1
+SEQ: ccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcgg
+SEQ_LEN: 49
+FORWARD_POS: 5
+FORWARD_LEN: 20
+REVERSE_POS: 49
+REVERSE_LEN: 20
+---
+SEQ_NAME: test2
+SEQ: ccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcgg
+SEQ_LEN: 49
+FORWARD_POS: 0
+FORWARD_LEN: 20
+REVERSE_POS: 49
+REVERSE_LEN: 20
+---
+SEQ_NAME: test3
+SEQ: ccgcaaacgacggtgaccaggcgcaggcggcgagcaccgcattctgcgg
+SEQ_LEN: 49
+REVERSE_POS: 49
+REVERSE_LEN: 20
+---
+SEQ_NAME: test4
+SEQ:
+SEQ_LEN: 0
+REVERSE_POS: 0
+REVERSE_LEN: 20
+---
+SEQ_NAME: test5
+SEQ:
+SEQ_LEN: 0
+REVERSE_POS: 0
+REVERSE_LEN: 20
+---
--- /dev/null
+#!/bin/bash
+
+source "$BP_DIR/bp_test/lib/test.sh"
+
+run "$bp -f ACTGAGCTAGCAGCGGTGCG -r TGCTGGACTGGGTGGAGCAC -m 0 -i 0 -d 0 -I $in -O $tmp"
+assert_no_diff $tmp $out.1
+clean