X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fjoin_seq;h=b2749e984aea9d94e533cf444dde24290681ff94;hb=2f0fd91b461033529a4a72e161bd133252a22eb6;hp=de80ad2a53246c67385bc4c3a0d28a9f721e87f4;hpb=494dc53ebd515b1e3e9b91bbebf43059899ca4ce;p=biopieces.git diff --git a/bp_bin/join_seq b/bp_bin/join_seq index de80ad2..b2749e9 100755 --- a/bp_bin/join_seq +++ b/bp_bin/join_seq @@ -33,29 +33,33 @@ 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 = bp.parse(ARGV, casts) +options = Biopieces.options_parse(ARGV, casts) +sequences = [] 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 # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<