Class: CagnutBwa::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/cagnut_bwa/configuration.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#aln_paramsObject

Returns the value of attribute aln_params.



6
7
8
# File 'lib/cagnut_bwa/configuration.rb', line 6

def aln_params
  @aln_params
end

#mem_paramsObject

Returns the value of attribute mem_params.



6
7
8
# File 'lib/cagnut_bwa/configuration.rb', line 6

def mem_params
  @mem_params
end

#rg_strObject

Returns the value of attribute rg_str.



6
7
8
# File 'lib/cagnut_bwa/configuration.rb', line 6

def rg_str
  @rg_str
end

#samp_paramsObject

Returns the value of attribute samp_params.



6
7
8
# File 'lib/cagnut_bwa/configuration.rb', line 6

def samp_params
  @samp_params
end

Class Method Details

.load(config, params) ⇒ Object



9
10
11
# File 'lib/cagnut_bwa/configuration.rb', line 9

def load config, params
  instance.load config, params
end

Instance Method Details

#add_bwa_path_in_params(method_params) ⇒ Object



32
33
34
35
36
# File 'lib/cagnut_bwa/configuration.rb', line 32

def add_bwa_path_in_params method_params
  return if method_params.blank?
  array = method_params['params'].dup
  array.unshift "#{@config['tools']['bwa']}"
end

#attributesObject



23
24
25
26
27
28
29
30
# File 'lib/cagnut_bwa/configuration.rb', line 23

def attributes
  {
    rg_str: @config['sample']['rg_str'],
    mem_params: add_bwa_path_in_params(@params['mem']),
    aln_params: add_bwa_path_in_params(@params['aln']),
    samp_params: add_bwa_path_in_params(@params['samp'])
  }
end

#generate_rg_strObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/cagnut_bwa/configuration.rb', line 38

def generate_rg_str
  @config['samples'].each do |sample|
    arg = %W(
      @RG
      ID:#{sample['rgid']}
      SM:#{sample['name']}
      PL:#{@config['info']['pl']}
      PU:#{sample['pu']}
      LB:#{@config['info']['lb']}
      DS:#{@config['info']['ds']}
      CN:#{@config['info']['cn']}
      DT:#{@config['info']['dt']}
    )
    rg_str = { 'rg_str' => arg.join('\t') }
    sample.merge! rg_str
  end
end

#load(config, params) ⇒ Object



14
15
16
17
18
19
20
21
# File 'lib/cagnut_bwa/configuration.rb', line 14

def load config, params
  @config = config
  @params = params
  generate_rg_str
  attributes.each do |name, value|
    send "#{name}=", value if respond_to? "#{name}="
  end
end