Method: Bio::SiRNA#uitei?

Defined in:
lib/bio/util/sirna.rb

#uitei?(target) ⇒ Boolean

Ui-Tei’s rule.

Returns:

  • (Boolean)


73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'lib/bio/util/sirna.rb', line 73

def uitei?(target)
  return false unless /^.{2}[GC]/i =~ target
  return false unless /[AU].{2}$/i =~ target
  return false if     /[GC]{9}/i   =~ target

  one_third  = target.size * 1 / 3
  start_pos  = @target_size - one_third - 1
  remain_seq = target.subseq(start_pos, @target_size - 2)
  au_number  = remain_seq.scan(/[AU]/i).size
  return false if au_number < 5
  
  return true
end