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]
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|