X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Ffind_adaptor;h=2fd757aa09dfcf39e02be9037e5b9b1f372c6b6b;hb=e605ac14c9e2a30aa316db707674ac1d110724ab;hp=0534572bd4ff08669f934a57d1d1bfc9a64d9486;hpb=449502a619149d8b881cd0d1e7c2ba01b2ff88aa;p=biopieces.git diff --git a/bp_bin/find_adaptor b/bp_bin/find_adaptor index 0534572..2fd757a 100755 --- a/bp_bin/find_adaptor +++ b/bp_bin/find_adaptor @@ -53,11 +53,11 @@ casts << {:long=>'deletions', :short=>'d', :type=>'uint', :mandatory=>false, options = Biopieces.options_parse(ARGV, casts) if options[:forward_rc] - options[:forward] = Seq.new("test", options[:forward_rc], 'dna').revcomp.seq + options[:forward] = Seq.new(seq: options[:forward_rc], type: :dna).reverse.complement.seq end if options[:reverse_rc] - options[:reverse] = Seq.new("test", options[:reverse_rc], 'dna').revcomp.seq + options[:reverse] = Seq.new(seq: options[:reverse_rc], type: :dna).reverse.complement.seq end raise ArgumentError, "no adaptor specified" unless options[:forward] or options[:reverse] @@ -88,11 +88,11 @@ end Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| input.each do |record| - if record[:SEQ] and record[:SEQ].length > 0 + if record[:SEQ] entry = Seq.new_bp(record) - if options[:forward] - if m = entry.patmatch(options[:forward], 0, fmis, fins, fdel) + if options[:forward] and record[:SEQ].length >= options[:forward].length + if m = entry.patmatch(options[:forward], max_mismatches: fmis, max_insertions: fins, max_deletions: fdel) record[:ADAPTOR_POS_LEFT] = m.pos record[:ADAPTOR_LEN_LEFT] = m.length record[:ADAPTOR_PAT_LEFT] = m.match @@ -107,7 +107,7 @@ Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| pat = pat[1 ... pat.length] - if m = entry.patmatch(pat, [0, len], fmis, fins, fdel) + if m = entry.patmatch(pat, start: 0, stop: len, max_mismatches: fmis, max_insertions: fins, max_deletions: fdel) record[:ADAPTOR_POS_LEFT] = m.pos record[:ADAPTOR_LEN_LEFT] = m.length record[:ADAPTOR_PAT_LEFT] = m.match @@ -120,8 +120,8 @@ Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| end end - if options[:reverse] - if m = entry.patmatch(options[:reverse], 0, rmis, rins, rdel) + if options[:reverse] and record[:SEQ].length >= options[:reverse].length + if m = entry.patmatch(options[:reverse], max_mismatches: rmis, max_insertions: rins, max_deletions: rdel) record[:ADAPTOR_POS_RIGHT] = m.pos record[:ADAPTOR_LEN_RIGHT] = m.length record[:ADAPTOR_PAT_RIGHT] = m.match @@ -136,7 +136,7 @@ Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| pat = pat[0 ... pat.length - 1] - if m = entry.patmatch(pat, entry.length - len, rmis, rins, rdel) + if m = entry.patmatch(pat, start: entry.length - len, max_mismatches: rmis, max_insertions: rins, max_deletions: rdel) record[:ADAPTOR_POS_RIGHT] = m.pos record[:ADAPTOR_LEN_RIGHT] = m.length record[:ADAPTOR_PAT_RIGHT] = m.match