[BioRuby] help to understand the codes

chen li chen_li3 at yahoo.com
Wed Jun 17 14:32:01 UTC 2009


Hi all,

I read source codes in sirna.rb in Bioruby. It implements the codes based on the following 4 rules( I copy the ruels from the paper):
These rules indicate that siRNAs which
simultaneously satisfy all four of the following
sequence conditions are capable of inducing highly
effective gene silencing in mammalian cells: 

(i) A/U at the 5' end of the antisense strand; 
(ii) G/C at the 5' end of the sense strand;
(iii) at least five A/U residues in the 5' terminal one-third of the antisense
strand; 
and (iv) the absence of any GC stretch of more than 9 nt in length.


And here are the codes:
In sirna.rb
 # Ui-Tei's rule.
    def uitei?(target)
      return false unless /^.{2}[GC]/i =~ target  #which rule is for this line ?
      return false unless /[AU].{2}$/i =~ target   #which rule is for this line
      
      return false if     /[GC]{9}/i   =~ target   # rule 4
      
      #rule 3
      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


from these codes I don't think I understand how rule 1 and rule 2 are implemented. I wonder if someone can explain them a little more.


Thanks,

Li


      



More information about the BioRuby mailing list