class Qu::Pcr::Amplicon
Attributes
fp[R]
probe[R]
product[R]
rp[R]
Public Class Methods
new(record, i, type='primer3')
click to toggle source
# File lib/qu/pcr/primer3.rb, line 37 def initialize(record, i, type='primer3') if type == 'primer3' (fp_5_pos, fp_size) = record["PRIMER_LEFT_%s" %[i]].split(',') (rp_5_pos, rp_size) = record["PRIMER_RIGHT_%s" %[i]].split(',') fp_seq = record["PRIMER_LEFT_%s_SEQUENCE" % [i]] rp_seq = record["PRIMER_RIGHT_%s_SEQUENCE" % [i]] fp_gc = record["PRIMER_LEFT_%s_GC_PERCENT" % [i]].to_f rp_gc = record["PRIMER_RIGHT_%s_GC_PERCENT" % [i]].to_f fp_tm = record["PRIMER_LEFT_%s_TM" % [i]].to_f rp_tm = record["PRIMER_RIGHT_%s_TM" % [i]].to_f product_opt_a = record["PRIMER_PAIR_%s_T_OPT_A" % [i]].to_f product_size = record["PRIMER_PAIR_%s_PRODUCT_SIZE" % [i]].to_i product_tm = record["PRIMER_PAIR_%s_PRODUCT_TM" % [i]].to_f penalty = record["PRIMER_PAIR_%s_PENALTY" % [i]].to_f fp_penalty = record["PRIMER_LEFT_%s_PENALTY" % [i]].to_f rp_penalty = record["PRIMER_RIGHT_%s_PENALTY" % [i]].to_f id = record["SEQUENCE_ID"].to_s product_seq = record["SEQUENCE_TEMPLATE"].to_s[fp_5_pos.to_i..rp_5_pos.to_i] if record.has_key?("PRIMER_INTERNAL_NUM_RETURNED") && record["PRIMER_INTERNAL_NUM_RETURNED"].to_i > 0 (probe_5_pos, probe_size) = record["PRIMER_INTERNAL_%s" %[i]].split(',') probe_seq = record["PRIMER_INTERNAL_%s_SEQUENCE" % [i]] probe_gc = record["PRIMER_INTERNAL_%s_GC_PERCENT" % [i]].to_f probe_tm = record["PRIMER_INTERNAL_%s_TM" % [i]].to_f probe_penalty = record["PRIMER_INTERNAL_%s_PENALTY" % [i]].to_f @probe = Primer.new(seq = probe_seq, type = 'probe', gc = probe_gc, tm = probe_tm, penalty = probe_penalty, pos = probe_5_pos, ) else @probe = nil end @fp = Primer.new(seq = fp_seq, type = 'forward', gc = fp_gc, tm = fp_tm, penalty = fp_penalty, pos = fp_5_pos, ) @rp = Primer.new(seq = rp_seq, type = 'reverse', gc = rp_gc, tm = rp_tm, penalty = rp_penalty, pos = rp_5_pos, ) @product = Product.new(seq = product_seq, tm = product_tm, opt_a = product_opt_a, size = product_size, id = id, penalty = penalty, ) end end