From c86b56ac1742ef0cb015054efdc4a25bf0986547 Mon Sep 17 00:00:00 2001 From: martinahansen Date: Mon, 18 Apr 2011 10:09:59 +0000 Subject: [PATCH] fixed bug in find_adaptor git-svn-id: http://biopieces.googlecode.com/svn/trunk@1333 74ccb610-7750-0410-82ae-013aeee3265d --- bp_bin/find_adaptor | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/bp_bin/find_adaptor b/bp_bin/find_adaptor index f19648e..5c74eea 100755 --- a/bp_bin/find_adaptor +++ b/bp_bin/find_adaptor @@ -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 -- 2.39.5