]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/shred_seq
refactoring of assemble_pairs
[biopieces.git] / bp_bin / shred_seq
index f9e1a42d1181fe204cfadf8cde7c232fbb505aa0..322916426e606dd11259eb6f34757486296e039d 100755 (executable)
@@ -29,8 +29,8 @@
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
 
 
-require 'biopieces'
-require 'seq'
+require 'maasha/biopieces'
+require 'maasha/seq'
 require 'pp'
 
 class Seq
@@ -51,7 +51,7 @@ class Seq
 
     while coverage(sum) < max_cov
       entry = self.subseq_rand(size)
-      entry.revcomp if strand == '-'
+      entry.reverse!.complement! if strand == '-'
 
       if block_given?
         yield entry
@@ -79,21 +79,22 @@ casts = []
 casts << {:long=>'size',     :short=>'s', :type=>'uint', :mandatory=>true, :default=>500, :allowed=>nil, :disallowed=>'0'}
 casts << {:long=>'coverage', :short=>'c', :type=>'uint', :mandatory=>true, :default=>100, :allowed=>nil, :disallowed=>'0'}
 
-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] and record[:SEQ].length >= options[:size]
+      entry      = Seq.new_bp(record)
+      entry.type = :dna
 
-bp.each_record do |record|
-  if record.has_key? :SEQ and record[:SEQ].length >= options[:size]
-    entry      = Seq.new(record[:SEQ_NAME], record[:SEQ], record[:SCORES])
-    entry.type = 'dna'
-
-    entry.shred(options[:size], options[:coverage]) do |subentry|
-      bp.puts subentry.to_bp
+      entry.shred(options[:size], options[:coverage]) do |subentry|
+        output.puts subentry.to_bp
+      end
     end
   end
 end
 
+
 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<