Bio::Tools::CodonTable and Bio::Tools::IUPAC: prepare with dzil.
[bioperl-live.git] / t / Tools / Primer3.t
blob35f87b9571110860269d36da61b23ed989c72604
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
5 use strict;
7 BEGIN {
8     use Bio::Root::Test;
9     
10     test_begin(-tests => 14);
12     use_ok('Bio::Tools::Primer3');
15 my ($p3, $num, $primer);
17 ok $p3 = Bio::Tools::Primer3->new(-file => test_input_file('primer3_output.txt'));
18 ok $num = $p3->number_of_results;
19 is $num, 5 or diag "Got $num";
20 ok $num = $p3->all_results;
21 is defined $num, 1 or diag "Can't get all results";
22 ok $num = $p3->primer_results(1);
23 is defined $num, 1 or diag "Can't get results for 1";
24 ok $primer = $p3->next_primer;
25 isa_ok $primer, "Bio::Seq::PrimedSeq" or diag
26   "reference for primer stream is not right";
28 # get the left primer
29 my $left_primer = $primer->get_primer('left');
31 # get the sequence for that primer. This is a test to verify behavior 
32 # on the bioperl list in or about 050315
33 my $seqobj = $left_primer->seq();
35 my $seq = $seqobj->seq();
37 my $other_left_primer = $primer->get_primer();
39 # a different way to access the primers in the stream
40 my $alt = $p3->primer_results(0,'PRIMER_LEFT_INPUT');
42 # next one
43 ok $primer = $p3->next_primer;
44 # get the left primer
45 my $left_primer_seq = $primer->get_primer('left')->seq;
46 is $left_primer_seq->seq, "GAGGGTAACACGCTGGTCAT";
48 # bug 2862
49 ok $p3 = Bio::Tools::Primer3->new(-file => test_input_file('bug2862.pmr'));
50 $num = 0;
51 while ($p3->next_primer) { $num++ };
52 is $p3->number_of_results, $num, 'bug 2862';