]> git.donarmstrong.com Git - biopieces.git/commitdiff
fixed bug in find_adaptor
authormartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 18 Apr 2011 10:09:59 +0000 (10:09 +0000)
committermartinahansen <martinahansen@74ccb610-7750-0410-82ae-013aeee3265d>
Mon, 18 Apr 2011 10:09:59 +0000 (10:09 +0000)
git-svn-id: http://biopieces.googlecode.com/svn/trunk@1333 74ccb610-7750-0410-82ae-013aeee3265d

bp_bin/find_adaptor

index f19648e064fba502d6cc474ead97c6222580dd91..5c74eeac453d9b9a749298cf9be74b6836c8e1fc 100755 (executable)
@@ -60,11 +60,13 @@ class Seq
       pos = self.length - pos # pos offset from the right end
     end
 
-    match = adaptor_find_simple(adaptor_disamb, pos)          or
-            adaptor_find_complex(adaptor, pos, ed_percent)    or
-            adaptor_partial_find_complex(adaptor, ed_percent)
-
-    match
+    if match = adaptor_find_simple(adaptor_disamb, pos)
+      return match
+    elsif match = adaptor_find_complex(adaptor, pos, ed_percent)
+      return match
+    elsif match = adaptor_partial_find_complex(adaptor, ed_percent)
+      return match
+    end
   end
 
   private
@@ -82,9 +84,9 @@ class Seq
   def adaptor_find_complex(adaptor, pos, ed_percent)
     ed_max = (adaptor.length * ed_percent * 0.01).round
 
-    self.scan(adaptor, pos, ed_max).each do |match|
-      return match
-    end
+    match = self.match(adaptor, pos, ed_max)
+
+    match
   end
 
   # Method to find part of an adaptor at the right end of a sequence taking
@@ -133,7 +135,7 @@ bp.each_record do |record|
   if record.has_key? :SEQ
     entry = Seq.new(record[:SEQ_NAME], record[:SEQ], "dna", record[:SCORES])
 
-    if match = entry.adaptor_find(adaptor, adaptor_disamb, options[:pos], options[:edit_distance])
+    if match = entry.adaptor_find(adaptor, adaptor_disamb, pos, options[:edit_distance])
       record[:ADAPTOR_POS]   = match.pos
       record[:ADAPTOR_LEN]   = match.length
       record[:ADAPTOR_MATCH] = match.match