[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