[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