require 'maasha/biopieces'
+require 'maasha/seq'
casts = []
Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output|
input.each_record do |record|
- if record.has_key? :SEQ and record.has_key? :ADAPTOR_POS
- record[:SEQ] = record[:SEQ][0 ... record[:ADAPTOR_POS].to_i]
- record[:SCORES] = record[:SCORES][0 ... record[:ADAPTOR_POS].to_i] if record[:SCORES]
- record[:SEQ_LEN] = record[:SEQ].length
+ if record[:SEQ] and (record[:ADAPTOR_POS_LEFT] or record[:ADAPTOR_POS_RIGHT])
+ entry = Seq.new_bp(record)
+
+ if record[:ADAPTOR_POS_RIGHT]
+ entry.subseq!(0, record[:ADAPTOR_POS_RIGHT].to_i)
+ end
+
+ if record[:ADAPTOR_POS_LEFT]
+ if record[:ADAPTOR_POS_LEFT].to_i + record[:ADAPTOR_LEN_LEFT].to_i < entry.length
+ entry.subseq!(record[:ADAPTOR_POS_LEFT].to_i + record[:ADAPTOR_LEN_LEFT].to_i)
+ end
+ end
+
+ record.merge! entry.to_bp
end
output.puts record