X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Ffind_genes;h=15e7f5703a74703a30f193cfcb5495beaa80d86f;hb=4926ddf7ba9dd7273dfcdedad8141833330f5d67;hp=f0d64c8365300b3c970dd43fd6f6f7c1ed67f9e1;hpb=49160fe9cb5472914fc4596a27605898974212ed;p=biopieces.git diff --git a/bp_bin/find_genes b/bp_bin/find_genes index f0d64c8..15e7f57 100755 --- a/bp_bin/find_genes +++ b/bp_bin/find_genes @@ -29,38 +29,38 @@ # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< -require 'biopieces' -require 'fasta' -require 'prodigal' +require 'maasha/biopieces' +require 'maasha/fasta' +require 'maasha/prodigal' casts = [] -casts << {:long=>'full', :short=>'f', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil} -casts << {:long=>'full', :short=>'p', :type=>'procedure', :mandatory=>true, :default=>'single', :allowed=>'single,meta', :disallowed=>nil} +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 = Biopieces.options_parse(ARGV, casts) -options = bp.parse(ARGV, casts) +tmpdir = Biopieces.mktmpdir +infile = File.join(tmpdir, "in.fna") +outfile = File.join(tmpdir, "out.prodigal") -tmpdir = bp.mktmpdir -infile = "#{tmpdir}/in.fna" -outfile = "#{tmpdir}/out.prodigal" +Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + Fasta.open(infile, mode="w") do |fasta_io| + input.each_record do |record| + output.puts record -Fasta.open(infile, mode="w") do |fasta_io| - bp.each_record do |record| - bp.puts record - fasta_io.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