From bf27d061fd78649910d6a3641c1d6cbe04ae2da8 Mon Sep 17 00:00:00 2001 From: martinahansen Date: Tue, 24 May 2011 11:44:09 +0000 Subject: [PATCH] fixed asseble_seq_velvet git-svn-id: http://biopieces.googlecode.com/svn/trunk@1422 74ccb610-7750-0410-82ae-013aeee3265d --- bp_bin/assemble_seq_velvet | 40 +++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/bp_bin/assemble_seq_velvet b/bp_bin/assemble_seq_velvet index 0862985..7569811 100755 --- a/bp_bin/assemble_seq_velvet +++ b/bp_bin/assemble_seq_velvet @@ -150,9 +150,7 @@ casts << {:long=>'cov_cutoff', :short=>'c', :type=>'list', :mandatory=>true, casts << {:long=>'exp_cov', :short=>'e', :type=>'float', :mandatory=>true, :default=>'auto', :allowed=>nil, :disallowed=>nil} casts << {:long=>'clean', :short=>'x', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil} -bp = Biopieces.new - -options = bp.parse(ARGV, casts) +options = Biopieces.options_parse(ARGV, casts) raise ArgumentError, "kmer_min #{options[:kmer_min]} must be uneven." if options[:kmer_min].even? raise ArgumentError, "kmer_max #{options[:kmer_max]} must be uneven." if options[:kmer_max].even? @@ -162,23 +160,25 @@ Dir.mkdir(options[:directory]) unless Dir.exists?(options[:directory]) file_fasta = File.join(options[:directory], "sequence_in.fna") -Fasta.open(file_fasta, mode="w") do |fasta_io| - bp.each_record do |record| - fasta_io.puts record - end -end - -unless File.size(file_fasta) == 0 - velvet = Velvet.new(options[:directory], file_fasta, options[:verbose]) - velvet.run_velveth(options[:kmer_min], options[:kmer_max], options[:type]) - velvet.run_velvetg(options[:cov_cutoff], options[:exp_cov]) - file_contigs = velvet.pick_best_assembly - - Fasta.open(file_contigs, mode="r") do |fasta_io| - fasta_io.each do |entry| - bp.puts entry.to_bp - end - end +Biopieces.open(options[:stream_in], options[:stream_out]) do |input, output| + Fasta.open(file_fasta, mode="w") do |fasta_io| + input.each_record do |record| + fasta_io.puts record + end + end + + unless File.size(file_fasta) == 0 + velvet = Velvet.new(options[:directory], file_fasta, options[:verbose]) + velvet.run_velveth(options[:kmer_min], options[:kmer_max], options[:type]) + velvet.run_velvetg(options[:cov_cutoff], options[:exp_cov]) + file_contigs = velvet.pick_best_assembly + + Fasta.open(file_contigs, mode="r") do |fasta_io| + fasta_io.each do |entry| + output.puts entry.to_bp + end + end + end end FileUtils.remove_entry_secure file_fasta -- 2.39.5