class CagnutPicard::Configuration

Attributes

add_or_replace_readgroups_params[RW]
build_bam_index_params[RW]
collect_gc_bias_metrics_params[RW]
collect_insert_size_metrics_params[RW]
collect_multiple_metrics_params[RW]
markduplicate_params[RW]
mean_quality_by_cycle_params[RW]
quailty_score_distribution_params[RW]
rg_str_picard[RW]
sort_sam_params[RW]

Public Class Methods

load(config, params) click to toggle source
# File lib/cagnut_picard/configuration.rb, line 13
def load config, params
  instance.load config, params
end

Public Instance Methods

add_java_params(method_params, verbose=false) click to toggle source
# 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
attributes() click to toggle source
# 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_str() click to toggle source
# 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) click to toggle source
# 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