]> git.donarmstrong.com Git - biopieces.git/commitdiff
fixed remove_primers
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Thu, 17 Nov 2011 16:53:31 +0000 (16:53 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Thu, 17 Nov 2011 16:53:31 +0000 (16:53 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1661 74ccb610-7750-0410-82ae-013aeee3265d

bp_bin/remove_primers

index 4e4e2e7fe48abdb101f4de2ae0a7e59e1097a1d3..108f5856746485329dbc812daf56d07693b42f33 100755 (executable)
@@ -52,14 +52,16 @@ Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output|
         record[:FORWARD_POS] = forward.last.pos
         record[:FORWARD_LEN] = forward.last.length
         pos = forward.last.pos + forward.last.length
-        seq.subseq!(pos)
+        len = seq.length - pos
+        seq.subseq!(pos, len) if len > 0
       end
 
-      if reverse = seq.patscan(options[:reverse].to_s, pos, options[:mismatches], options[:insertions], options[:deletions])
+      if pos < seq.length && reverse = seq.patscan(options[:reverse].to_s, pos, options[:mismatches], options[:insertions], options[:deletions])
         record[:REVERSE_POS] = reverse.first.pos
         record[:REVERSE_LEN] = reverse.first.length
-        pos = reverse.first.pos
-        seq.subseq!(0, pos)
+        pos = 0
+        len = reverse.first.pos
+        seq.subseq!(pos, len) if len > 0
       end
 
       if pos > 0