class CagnutBwa::Samp
Public Class Methods
new(opts = {})
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 9 def initialize opts = {} @order = sprintf '%02i', opts[:order] @fastq = opts[:input].nil? ? "#{seqs_path}" : opts[:input] @fastq2 = File.expand_path fetch_filename(@fastq), File.dirname(@fastq) @input = "#{opts[:dirs][:input]}/#{File.basename(@fastq)}.sai" @input2 = File.expand_path fetch_filename(@input), File.dirname(@input) abort('Cant recognized sequence files') if @input2.nil? @output = "#{opts[:dirs][:output]}/#{sample_name}_aligned.sam.gz" @job_name = "#{prefix_name}_#{sample_name}_Samp" end
Public Instance Methods
fetch_filename(file)
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 20 def fetch_filename file filename = File.basename(file) if filename.match '_R1_' filename.gsub '_R1_', '_R2_' elsif filename.match '_1_' filename.gsub '_1_', '_2_' end end
generate_script()
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 56 def generate_script script_name = "#{@order}_bwa_samp" file = File.join jobs_dir, "#{script_name}.sh" template = Tilt.new(File.expand_path '../templates/samp.sh', __FILE__) File.open(file, 'w') do |f| f.puts template.render Object.new, job_params(script_name) end File.chmod(0700, file) script_name end
job_params(script_name)
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 67 def job_params script_name { jobs_dir: jobs_dir, script_name: script_name, input: @input, input2: @input2, fastq: @fastq, fastq2: @fastq2, output: @output, samp_options: samp_options, run_local: ::Cagnut::JobManage.run_local } end
queuing_options(previous_job_id = nil)
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 36 def queuing_options previous_job_id = nil { previous_job_id: previous_job_id, adjust_memory: ['h_vmem=5G'], tools: ['bwa', 'samp'] } end
run(previous_job_id = nil)
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 29 def run previous_job_id = nil puts "Submitting bwaSamp #{sample_name} RG_STR= #{rg_str}" script_name = generate_script ::Cagnut::JobManage.submit script_name, @job_name, queuing_options(previous_job_id) [@job_name, @output] end
samp_options()
click to toggle source
# File lib/cagnut_bwa/functions/samp.rb, line 44 def samp_options array = samp_params.dup array.insert 1, 'sampe' array << "-r \"#{rg_str}\"" array << "#{ref_fasta}" array << "#{@input}" array << "#{@input2}" array << "#{@fastq}" array << "#{@fastq2} | gzip > #{@output}" array.uniq.compact end