def initialize args
@drp_instance = args.drp_instance
@rule_method = args.rule_method
@max_depth = @rule_method.max_depth - 1
arg1, arg2, arg3 = args.user_args
if arg1.kind_of? Range
@range = arg1
if arg2.kind_of? Range
if (arg3.kind_of? Symbol) or (arg3.kind_of? String)
@function = arg3
end
min = Utils::map(@range, @drp_instance.next_meta_codon)
max = Utils::map(arg2, @drp_instance.next_meta_codon)
@range = min..max
elsif (arg2.kind_of? Symbol) or (arg2.kind_of? String)
@function = arg2
end
else
raise ArgumentError, 'bad argument to weight_fcd'
end
end