Class: CagnutPicard::Configuration

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#add_or_replace_readgroups_paramsObject

Returns the value of attribute add_or_replace_readgroups_params.



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

def add_or_replace_readgroups_params
  @add_or_replace_readgroups_params
end

#build_bam_index_paramsObject

Returns the value of attribute build_bam_index_params.



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

def build_bam_index_params
  @build_bam_index_params
end

#collect_gc_bias_metrics_paramsObject

Returns the value of attribute collect_gc_bias_metrics_params.



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

def collect_gc_bias_metrics_params
  @collect_gc_bias_metrics_params
end

#collect_insert_size_metrics_paramsObject

Returns the value of attribute collect_insert_size_metrics_params.



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

def collect_insert_size_metrics_params
  @collect_insert_size_metrics_params
end

#collect_multiple_metrics_paramsObject

Returns the value of attribute collect_multiple_metrics_params.



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

def collect_multiple_metrics_params
  @collect_multiple_metrics_params
end

#markduplicate_paramsObject

Returns the value of attribute markduplicate_params.



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

def markduplicate_params
  @markduplicate_params
end

#mean_quality_by_cycle_paramsObject

Returns the value of attribute mean_quality_by_cycle_params.



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

def mean_quality_by_cycle_params
  @mean_quality_by_cycle_params
end

#quailty_score_distribution_paramsObject

Returns the value of attribute quailty_score_distribution_params.



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

def quailty_score_distribution_params
  @quailty_score_distribution_params
end

#rg_str_picardObject

Returns the value of attribute rg_str_picard.



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

def rg_str_picard
  @rg_str_picard
end

#sort_sam_paramsObject

Returns the value of attribute sort_sam_params.



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

def sort_sam_params
  @sort_sam_params
end

Class Method Details

.load(config, params) ⇒ Object



13
14
15
# File 'lib/cagnut_picard/configuration.rb', line 13

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

Instance Method Details

#add_java_params(method_params, verbose = false) ⇒ Object



42
43
44
45
46
47
48
49
50
51
# File 'lib/cagnut_picard/configuration.rb', line 42

def add_java_params method_params, verbose=false
  return if method_params.blank?
  array = method_params['java'].dup
  array << "-verbose:sizes" if verbose
  array << "-jar #{@config['tools']['picard']}"
  {
    'java' => array,
    'params' => method_params['params']
  }
end

#attributesObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/cagnut_picard/configuration.rb', line 27

def attributes
  {
    rg_str_picard: @config['sample']['rg_str_picard'],
    add_or_replace_readgroups_params: add_java_params(@params['add_or_replace_readgroups'], true),
    build_bam_index_params: add_java_params(@params['build_bam_index']),
    collect_gc_bias_metrics_params: add_java_params(@params['collect_gc_bias_metrics']),
    collect_insert_size_metrics_params: add_java_params(@params['collect_insert_size_metrics']),
    collect_multiple_metrics_params: add_java_params(@params['collect_multiple_metrics']),
    markduplicate_params: add_java_params(@params['markduplicate']),
    mean_quality_by_cycle_params: add_java_params(@params['mean_quality_by_cycle']),
    quailty_score_distribution_params: add_java_params(@params['quailty_score_distribution']),
    sort_sam_params: add_java_params(@params['sort_sam'])
  }
end

#generate_rg_strObject



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/cagnut_picard/configuration.rb', line 53

def generate_rg_str
  @config['samples'].each do |sample|
    arg = %W(
      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']}
    )
    rg_str_picard = { 'rg_str_picard' => arg.join(' ') }
    sample.merge! rg_str_picard
  end

end

#load(config, params) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/cagnut_picard/configuration.rb', line 18

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