X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bp_bin%2Ffind_genes;h=88dacf2ddee0c7ec899a13cf6f008a7b6380e61b;hb=4868b7e6e097f3d0eb0d512b93c069437a80d153;hp=367b9766763d85fe21dc9b8a080c764e3b168926;hpb=be77de27ae5af645ff75447371cf9b0383273d00;p=biopieces.git diff --git a/bp_bin/find_genes b/bp_bin/find_genes index 367b976..88dacf2 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=>'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, "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