]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/assemble_seq_velvet
set cutoff to auto in velvet
[biopieces.git] / bp_bin / assemble_seq_velvet
index 71fc5c129c9972320fdc3d8d79976eca32fcfc58..90cf759b8c82c6fd947c6356a85961c2b20e2c19 100755 (executable)
@@ -63,25 +63,23 @@ class Velvet
     end
   end
 
-  def run_velvetg(cov_cutoffs, exp_cov)
+  def run_velvetg(cov_cutoff, exp_cov)
     Dir.glob("#{@directory}/Kmer_*").each do |dir_velveth|
       files_velveth = Dir.glob("#{dir_velveth}/*")
 
-      cov_cutoffs.each do |cov_cutoff|
-        dir_velvetg = File.join(dir_velveth, "Cov_cutoff_#{cov_cutoff}")
+      dir_velvetg = File.join(dir_velveth, "Cov_cutoff_#{cov_cutoff}")
 
-        Dir.mkdir(dir_velvetg)
-        FileUtils.cp_r files_velveth, dir_velvetg
-        
-        commands = []
-        commands << "velvetg"
-        commands << dir_velvetg
-        commands << "-cov_cutoff #{cov_cutoff}"
-        commands << "-exp_cov #{exp_cov}"
-        commands << "-clean yes"
+      Dir.mkdir(dir_velvetg)
+      FileUtils.cp_r files_velveth, dir_velvetg
+      
+      commands = []
+      commands << "velvetg"
+      commands << dir_velvetg
+      commands << "-cov_cutoff #{cov_cutoff}"
+      commands << "-exp_cov #{exp_cov}"
+      commands << "-clean yes"
 
-        execute(commands)
-      end
+      execute(commands)
     end
   end
 
@@ -139,16 +137,15 @@ class Velvet
 end
 
 types       = 'short,shortPaired,long,longPaired'
-cov_cutoffs = "2,4,8,16"
 
 casts = []
-casts << {:long=>'directory',  :short=>'d', :type=>'dir',    :mandatory=>true,  :default=>nil,         :allowed=>nil,   :disallowed=>nil}
-casts << {:long=>'type',       :short=>'t', :type=>'string', :mandatory=>true,  :default=>'short',     :allowed=>types, :disallowed=>nil}
-casts << {:long=>'kmer_min',   :short=>'k', :type=>'uint',   :mandatory=>true,  :default=>19,          :allowed=>nil,   :disallowed=>nil}
-casts << {:long=>'kmer_max',   :short=>'K', :type=>'uint',   :mandatory=>true,  :default=>31,          :allowed=>nil,   :disallowed=>nil}
-casts << {:long=>'cov_cutoff', :short=>'c', :type=>'list',   :mandatory=>true,  :default=>cov_cutoffs, :allowed=>nil,   :disallowed=>nil}
-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}
+casts << {:long=>'directory',  :short=>'d', :type=>'dir',    :mandatory=>true,  :default=>nil,     :allowed=>nil,   :disallowed=>nil}
+casts << {:long=>'type',       :short=>'t', :type=>'string', :mandatory=>true,  :default=>'short', :allowed=>types, :disallowed=>nil}
+casts << {:long=>'kmer_min',   :short=>'k', :type=>'uint',   :mandatory=>true,  :default=>19,      :allowed=>nil,   :disallowed=>nil}
+casts << {:long=>'kmer_max',   :short=>'K', :type=>'uint',   :mandatory=>true,  :default=>31,      :allowed=>nil,   :disallowed=>nil}
+casts << {:long=>'cov_cutoff', :short=>'c', :type=>'float',  :mandatory=>true,  :default=>'auto',  :allowed=>nil,   :disallowed=>nil}
+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}
 
 options = Biopieces.options_parse(ARGV, casts)
 
@@ -161,10 +158,13 @@ Dir.mkdir(options[:directory]) unless Dir.exists?(options[:directory])
 file_fasta = File.join(options[:directory], "sequence_in.fna")
 
 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
+  Fasta.open(file_fasta, mode="w") do |fasta_io|
+    input.each_record do |record|
+      if record[:SEQ_NAME] and record[:SEQ]
+        seq = Seq.new_bp(record)
+        fasta_io.puts seq.to_fasta
+      end
+    end
        end
 
        unless File.size(file_fasta) == 0