]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/shred_seq
fixed bug in shred_seq
[biopieces.git] / bp_bin / shred_seq
index a59b688349e56bc76de5af42e6f401a66470b620..2a70b1a98af8deada5086bf5a391dc9aa827e809 100755 (executable)
@@ -47,7 +47,12 @@ class Seq
     strand  = '+'
 
     while (sum / self.seq.length) < max_cov
-      start    = rand(self.seq.size - size)
+      if self.seq.size - size == 0
+        start = 0
+      else
+        start    = rand(self.seq.size - size)
+      end
+
       stop     = start + size - 1
       seq_name = self.seq_name + "[#{start + 1}-#{stop + 1}:#{strand}]"
       seq      = self.seq[start .. stop]
@@ -79,7 +84,7 @@ bp = Biopieces.new
 options = bp.parse(ARGV, casts)
 
 bp.each_record do |record|
-  if record.has_key? :SEQ
+  if record.has_key? :SEQ and record[:SEQ].length >= options[:size]
     entry = Seq.new(record[:SEQ_NAME], record[:SEQ], record[:SCORES])
 
     entry.shred(options[:size], options[:coverage]) do |subentry|