X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fjoin_seq;h=5804624df40bbacc26feea12c16919ca0febd594;hb=5de6112b70b59420b245ce636a8b2e3c90acbe00;hp=6abc8c8cdb5d31ccebba08f274385e846b2fceaa;hpb=7c5b28cd46a8dc97a6b9b737ddeba181e92ca707;p=biopieces.git diff --git a/bp_bin/join_seq b/bp_bin/join_seq index 6abc8c8..5804624 100755 --- a/bp_bin/join_seq +++ b/bp_bin/join_seq @@ -28,34 +28,38 @@ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -require 'biopieces' -require 'fasta' -require 'seq' +require 'maasha/biopieces' +require 'maasha/fasta' +require 'maasha/seq' casts = [] +casts << {:long=>'delimiter', :short=>'d', :type=>'string', :mandatory=>true, :default=>"", :allowed=>nil, :disallowed=>nil} -bp = Biopieces.new +options = Biopieces.options_parse(ARGV, casts) -options = bp.parse(ARGV, casts) +sequences = [] +seq = Seq.new(seq: "") -seq = Seq.new(nil, "") - -bp.each_record do |record| - if record.has_key? :SEQ - unless seq.seq_name - seq.seq_name = record[:SEQ_NAME] +Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + input.each_record do |record| + if record[:SEQ] + unless seq.seq_name + seq.seq_name = record[:SEQ_NAME] + end + sequences << record[:SEQ] end - seq.seq << record[:SEQ] + + output.puts record end - bp.puts record + unless sequences.empty? + seq.seq = sequences.join(options[:delimiter].to_s) + new_record = seq.to_bp + new_record[:REC_TYPE] = "JOIN" + output.puts new_record + end end -if seq.seq != "" - new_record = seq.to_bp - new_record[:REC_TYPE] = "JOIN" - bp.puts new_record -end # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<