]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/digest_seq
removed debug message
[biopieces.git] / bp_bin / digest_seq
index 03e8ec9e0d0ebe303308b8eff8ee2aa9c347ba11..2aa9ff9837fded6ad832d44fffacf99b08f96742 100755 (executable)
 
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
-
 require 'maasha/biopieces'
-require 'maasha/fasta'
 require 'maasha/seq'
 
 casts = []
 casts << {:long=>'pattern', :short=>'p', :type=>'string', :mandatory=>true, :default=>nil, :allowed=>nil, :disallowed=>nil}
 casts << {:long=>'cut_pos', :short=>'c', :type=>'int',    :mandatory=>true, :default=>nil, :allowed=>nil, :disallowed=>nil}
 
-bp = Biopieces.new
+options = Biopieces.options_parse(ARGV, casts)
 
-options = bp.parse(ARGV, casts)
+Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output|
+  input.each_record do |record|
+    if record[:SEQ_NAME] and record[:SEQ]
+      seq = Seq.new_bp(record)
 
-bp.each_record do |record|
-  if record.has_key? :SEQ_NAME and record.has_key? :SEQ
-    seq    = Seq.new(record[:SEQ_NAME], record[:SEQ])
-    digest = Digest.new(seq, options[:pattern].to_s, options[:cut_pos])
+      seq.each_digest(options[:pattern].to_s, options[:cut_pos]) do |digest|
+        new_record = digest.to_bp
 
-    digest.each do |subseq|
-      new_record            = subseq.to_bp
+        if new_record[:SEQ_NAME] =~ /\[(\d+)-(\d+)\]$/
+          s_beg = $1
+          s_end = $2
+        end
 
-      if new_record[:SEQ_NAME] =~ /\[(\d+)-(\d+)\]$/
-        s_beg = $1
-        s_end = $2
-      end
+        new_record[:S_BEG]    = s_beg 
+        new_record[:S_END]    = s_end
+        new_record[:REC_TYPE] = "DIGEST"
 
-      new_record[:S_BEG]    = s_beg 
-      new_record[:S_END]    = s_end
-      new_record[:REC_TYPE] = "DIGEST"
-      bp.puts new_record
+        output.puts new_record
+      end
+    else
+      output.puts record
     end
-  else
-    bp.puts record
   end
 end
 
-
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<