The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

SiRNA - Perl object for designing small inhibitory RNAs.

SYNOPSIS

  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";
  }

DESCRIPTION

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.

SEE ALSO

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

FEEDBACK

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/

AUTHOR

Donald Jackson (donald.jackson@bms.com)

CONTRIBUTORS

Additional contributors names and emails here

APPENDIX

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