[Bioperl-l] Bio::Tools::Run::Primer3 vs Web Primer 3

armendarez77 at hotmail.com armendarez77 at hotmail.com
Fri Jun 4 21:47:39 UTC 2010







Hello,

I'm noticing that Bio::Tools::Run::Primer3 doesn't always give me the same results as the Web Primer3.  For example,
I provided Bio::Tools::Run::Primer3 the following:

Template Sequence: atgagncttctaaccgagGTcGAAACGTAnGttCTnTcTatcnTnCCnTCagGCcCCCTCAAAGCcgAgaTcGCnCAGAgacTnGAanntgTnTTtgCnGGnAAnAanacnGAtCTtGAgGCtcTcaTgGAntGGcTaAAgACAAGaCCAATnnTgTCacCtCtgACtAAgGgnATttTnGGntTtGTgTTcACgCTCACcGTgCCcagtGAgCGaGGaCTGCAg

PRIMER_LEFT_INPUT: atgagncttctaaccgagGTcGAAACGTA
PRIMER_TASK: pick_left_only


I just want to know if the Tm is between 60 and 80C.  However, Bio::Tools::Run::Primer3 returns nothing, while Web Primer3 returns a result, as expected:

OLIGO            start  len      tm     gc%   any    3' seq 
LEFT_PRIMER          1   29   69.11   46.43  4.00  2.00 atgagncttctaaccgagGTcGAAACGTA
SEQUENCE SIZE: 225
INCLUDED REGION SIZE: 225

    1 atgagncttctaaccgagGTcGAAACGTAnGttCTnTcTatcnTnCCnTCagGCcCCCTC
      >>>>>>>>>>>>>>>>>>>>>>>>>>>>>                               

   61 AAAGCcgAgaTcGCnCAGAgacTnGAanntgTnTTtgCnGGnAAnAanacnGAtCTtGAg
                                                                  

  121 GCtcTcaTgGAntGGcTaAAgACAAGaCCAATnnTgTCacCtCtgACtAAgGgnATttTn
                                                                  

  181 GGntTtGTgTTcACgCTCACcGTgCCcagtGAgCGaGGaCTGCAg


_________________________________________


Here is a snippet of my code for the above parameters:

my $template = "atgagncttctaaccgagGTcGAAACGTAnGttCTnTcTatcnTnCCnTCagGCcCCCTCAAAGCcgAgaTcGCnCAGAgacTnGAanntgTnTTtgCnGGnAAnAanacnGAtCTtGAgGCtcTcaTgGAntGGcTaAAgACAAGaCCAATnnTgTCacCtCtgACtAAgGgnATttTnGGntTtGTgTTcACgCTCACcGTgCCcagtGAgCGaGGaCTGCAg";
my $leftInput = "atgagncttctaaccgagGTcGAAACGTA";
my $templateObj = Bio::PrimarySeq->new(-seq=>$template, -id=>'Template');
my $primer3 = Bio::Tools::Run::Primer3->new(-seq=>$templateObj, -path =>"/usr/bin/primer3_core");
unless ($primer3->executable) {print STDERR "primer3 can not be found. Is it installed?\n"; exit(-1)}
$primer3->add_targets('PRIMER_LEFT_INPUT'=>$primerSeq, 'PRIMER_TASK'=>'pick_left_only');
my $results=$primer3->run;
my $numberResults = $results->number_of_results();						
if($numberResults > 0){
	for(my $n=0; $n < $numberResults; $n++){
		my $pr = $results->primer_results($n);
		my $primer = ${$pr}{'PRIMER_LEFT_SEQUENCE'};
		my $gc = ${$pr}{'PRIMER_LEFT_GC_PERCENT'};
		my $tm = ${$pr}{'PRIMER_LEFT_TM'};
		my $selfAny = ${$pr}{'PRIMER_LEFT_SELF_ANY'};
		my $selfEnd = ${$pr}{'PRIMER_LEFT_SELF_END'};
		my $endStability = ${$pr}{'PRIMER_LEFT_END_STABILITY'};
		
		print "$primer\t$gc\t$tm\t$selfAny\t$selfEnd\t$endStability\n";
	}
}				


This seems pretty straightforward, but I don't get any results.  Can you see what I am doing wrong?


Thank you,

Veronica


 		 	   		  
_________________________________________________________________
Hotmail has tools for the New Busy. Search, chat and e-mail from your inbox.
http://www.windowslive.com/campaign/thenewbusy?ocid=PID28326::T:WLMTAGL:ON:WL:en-US:WM_HMP:042010_1



More information about the Bioperl-l mailing list