require 'fasta'
casts = []
-casts << {:long=>'name', :short=>'n', :type=>'string', :mandatory=>true, :default=>nil, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'directory', :short=>'d', :type=>'dir', :mandatory=>true, :default=>nil, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'scaffold', :short=>'s', :type=>'flag', :mandatory=>false, :default=>nil, :allowed=>nil, :disallowed=>nil}
casts << {:long=>'kmer_min', :short=>'k', :type=>'uint', :mandatory=>false, :default=>25, :allowed=>nil, :disallowed=>nil}
Dir.mkdir(options[:directory]) unless Dir.exists?(options[:directory])
-file_fasta = [options[:directory], options[:name]].join(File::SEPARATOR) + ".fna"
+file_fasta = [options[:directory], "IDBA"].join(File::SEPARATOR) + ".fna"
Fasta.open(file_fasta, mode="w") do |fasta_io|
bp.each_record do |record|
end
unless File.size(file_fasta) == 0
- output = [options[:directory], options[:name]].join(File::SEPARATOR)
+ output = [options[:directory], "IDBA"].join(File::SEPARATOR)
commands = []
commands << "nice -n 19"
commands << "> /dev/null 2>&1" unless options[:verbose]
command = commands.join(" ")
- system(command)
- raise "Command failed: #{command}" unless $?.success?
- file_contig = [options[:directory], options[:name] ].join(File::SEPARATOR) + "-contig.fa"
+ begin
+ system(command)
+ raise "Command failed: #{command}" unless $?.success?
+ rescue
+ $stderr.puts "Command failed: #{command}"
+ end
+
+ file_contig = [options[:directory], "IDBA"].join(File::SEPARATOR) + "-contig.fa"
Fasta.open(file_contig, mode="r") do |fasta_io|
fasta_io.each do |entry|