SiRNA - Perl object for designing small inhibitory RNAs. use Bio::Tools::SiRNA; my $sirna_designer = Bio::Tools::SiRNA->new( -target => $bio_rich_seq ); my @pairs = $sirna_designer->design; foreach $pair (@pairs) { my $sense_oligo_sequence = $pair->sense->seq; my $antisense_oligo_sequence = $pair->antisense->seq; # print out results print join ("\t", $pair->start, $pair->end, $pair->rank, $sense_oligo_sequence, $antisense_oligo_sequence), "\n"; } Package for designing SiRNA reagents. Input is a Bio::RichSeq object (the target). Output is a list of Bio::SeqFeature::SiRNA::Pair objects, which are added to the feature table of the target sequence. Each Bio::SeqFeature::SiRNA::Pair contains two subfeatures (Bio::SeqFeature::Oligo objects) which correspond to the individual oligos. These objects provide accessors for the information on the individual reagent pairs. This module implements the design rules described by Tuschl and colleagues (see http://www.mpibpc.gwdg.de/abteilungen/100/105/sirna.html). They describe three rules for RNAi oligos, which I label as rank 1 (best), 2, and 3 (worst). I added two modifications: SiRNAs that overlap known SNPs (identified as SeqFeatures with primary tag = variation) are avoided, and other regions (with primary tag = 'Excluded') can also be skipped. I use this with Bio::Tools::Run::Mdust to avoid low-complexity regions (must be run separately), but other programs could also be used.

EXPORT
None. Bio::Tools::Run::Mdust, Bio::SeqFeature::SiRNA::Pair, Bio::SeqFeature::SiRNA::Oligo, perl.

Mailing Lists
User feedback is an integral part of the evolution of this and other Bioperl modules. Send your comments and suggestions preferably to the Bioperl mailing list. Your participation is much appreciated. bioperl-l@bioperl.org - General discussion http://bioperl.org/MailList.shtml - About the mailing lists

Reporting Bugs
Report bugs to the Bioperl bug tracking system to help us keep track of the bugs and their resolution. Bug reports can be submitted via the web: http://bugzilla.bioperl.org/ Donald Jackson (donald.jackson@bms.com) Additional contributors names and emails here The rest of the documentation details each of the object methods. Internal methods are usually preceded with a _

new
Title : new Usage : my $sirna_designer = Bio::Tools::SiRNA->new(); Function : Constructor for designer object Returns : Bio::Tools::SiRNA object Args : target - the target sequence for the SiRNAs as a Bio::Seq::RichSeq start_pad - distance from the CDS start to skip (default 75) end_pad - distance from the CDS end to skip (default 50) min_gc - minimum GC fraction (NOT percent) (default 0.4) max_gc - maximum GC fraction (NOT percent) (default 0.6) cutoff - worst 'rank' accepted(default 3) avoid_snps - boolean - reject oligos that overlap a variation SeqFeature in the target (default true) gstring - maximum allowed consecutive Gs. Too many can cause problems in synthesis (default 4) Note : All arguments can also be changed/accessed using autoloaded methods such as: my $start_pad = $sirna_designer->start_pad().

target
Title : target Usage : my $target_seq = $sirna_designer->target(); # get the current target OR $sirna_designer->target($new_target_seq); # set a new target Function : Set/get the target as a Bio::Seq::RichSeq object Returns : a Bio::Seq::RichSeq object Args : a Bio::Seq::RichSeq object (optional)

design
Title : design Usage : my @pairs = $sirna_designer->design(); Purpose : Design SiRNA oligo pairs. Returns : A list of SiRNA pairs as Bio::SeqFeature::SiRNA::Pair objects Args : none