X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Fanalyze_assembly;h=614a9e54d8e85bc00e84e2a6deab96049c0ddb5d;hb=2f0fd91b461033529a4a72e161bd133252a22eb6;hp=bcc727ca9a97f47fee777a018abea8b1e359623a;hpb=494dc53ebd515b1e3e9b91bbebf43059899ca4ce;p=biopieces.git diff --git a/bp_bin/analyze_assembly b/bp_bin/analyze_assembly index bcc727c..614a9e5 100755 --- a/bp_bin/analyze_assembly +++ b/bp_bin/analyze_assembly @@ -40,27 +40,29 @@ casts << {:long=>'procedure', :short=>'p', :type=>'string', :mandatory=>true, : casts << {:long=>'no_stream', :short=>'x', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil} casts << {:long=>'data_out', :short=>'o', :type=>'file', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil} -bp = Biopieces.new - -options = bp.parse(ARGV, casts) +options = Biopieces.options_parse(ARGV, casts) options[:full] = true; total = 0 lengths = [] -tmpdir = bp.mktmpdir -infile = "#{tmpdir}/in.fna" -outfile = "#{tmpdir}/out.prodigal" - -Fasta.open(infile, mode="w") do |fasta_io| - bp.each_record do |record| - if record.has_key? :SEQ - total += record[:SEQ].length - lengths << record[:SEQ].length +tmpdir = Biopieces.mktmpdir +infile = File.join(tmpdir, "in.fna") +outfile = File.join(tmpdir, "out.prodigal") + +Fasta.open(infile, "w") do |fasta_output| + Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + input.each_record do |record| + if record[:SEQ] + seq = Seq.new_bp(record) + + total += record[:SEQ].length + lengths << record[:SEQ].length + end + + output.puts record unless options[:no_stream] + fasta_output.puts seq.to_fasta end - - bp.puts record unless options[:no_stream] - fasta_io.puts record end end @@ -82,8 +84,6 @@ lengths.sort.reverse.each do |length| end end -bp.out = Stream.write(options[:data_out]) if options[:data_out] - new_record = {} new_record[:N50] = n50 new_record[:MAX] = lengths.max @@ -93,7 +93,10 @@ new_record[:TOTAL] = total new_record[:COUNT] = lengths.size new_record[:GENE_COV] = gene_cov if options[:gene_cov] -bp.puts new_record +Biopieces.open(nil, options[:data_out]) do |input, output| + output.puts new_record +end + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<