]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/analyze_seq
refactoring of assemble_pairs
[biopieces.git] / bp_bin / analyze_seq
index 303d5e4ae22c80bb853cea3952ee006f74ee6453..2c38a274beeb593394ec5d33663d4dec1129de23 100755 (executable)
 
 require 'maasha/biopieces'
 require 'maasha/seq'
-require 'pp'
 
 casts = []
 
-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]
+      seq  = Seq.new_bp(record)
+      comp = seq.composition
 
-bp.each_record do |record|
-  if record.has_key? :SEQ
-    seq  = Seq.new(record[:SEQ_NAME], record[:SEQ], record[:SEQ_TYPE], record[:SCORE])
-    comp = seq.composition
+      comp.each_pair do |key,val|
+        record["RES[#{key}]"] = val
+      end
 
-    comp.each_pair do |key,val|
-      record["RES[#{key}]"] = val
+      record["SOFT_MASK%"] = seq.soft_mask
+      record["HARD_MASK%"] = (comp["N"].to_f / (seq.len - seq.indels).to_f * 100.0).round(2)
+      record["GC%"]        = ((comp["G"] + comp["C"]).to_f / (seq.len - seq.indels).to_f * 100.0).round(2)
     end
 
-    record["SOFT_MASK%"] = seq.soft_mask
-    record["HARD_MASK%"] = (comp["N"].to_f / (seq.len - seq.indels).to_f * 100.0).round(2)
-    record["GC%"]        = ((comp["G"] + comp["C"]).to_f / (seq.len - seq.indels).to_f * 100.0).round(2)
+    output.puts record
   end
-
-  bp.puts record
 end
 
 
-
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<