X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Ffind_genes;h=88dacf2ddee0c7ec899a13cf6f008a7b6380e61b;hb=5de6112b70b59420b245ce636a8b2e3c90acbe00;hp=b365ab27a261d0cbf93d9659ce58009ca37ac26a;hpb=494dc53ebd515b1e3e9b91bbebf43059899ca4ce;p=biopieces.git diff --git a/bp_bin/find_genes b/bp_bin/find_genes index b365ab2..88dacf2 100755 --- a/bp_bin/find_genes +++ b/bp_bin/find_genes @@ -37,30 +37,30 @@ casts = [] casts << {:long=>'full', :short=>'f', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil} casts << {:long=>'procedure', :short=>'p', :type=>'string', :mandatory=>true, :default=>'single', :allowed=>'single,meta', :disallowed=>nil} -bp = Biopieces.new - -options = bp.parse(ARGV, casts) - -tmpdir = bp.mktmpdir -infile = "#{tmpdir}/in.fna" -outfile = "#{tmpdir}/out.prodigal" - -Fasta.open(infile, mode="w") do |fasta_io| - bp.each_record do |record| - bp.puts record - fasta_io.puts record +options = Biopieces.options_parse(ARGV, casts) + +tmpdir = Biopieces.mktmpdir +infile = File.join(tmpdir, "in.fna") +outfile = File.join(tmpdir, "out.prodigal") + +Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + Fasta.open(infile, "w") do |fasta_io| + input.each_record do |record| + output.puts record + + if record[:SEQ_NAME] and record[:SEQ] + seq = Seq.new_bp(record) + fasta_io.puts seq.to_fasta + end + end end -end -prodigal = Prodigal.new(infile, outfile, options) -prodigal.run + prodigal = Prodigal.new(infile, outfile, options) + prodigal.run -prodigal.each do |record| - record[:DEFINITION].match /seqhdr="([^"]+)/ do |m| - record[:S_ID] = $1 + prodigal.each do |record| + output.puts record end - - bp.puts record end