2 ## Bioperl Test Harness Script for Modules
5 use vars qw($NUMTESTS);
7 eval { require Test; };
14 plan tests => $NUMTESTS;
17 END { unlink qw(cysprot.dnd cysprot1a.dnd) }
19 use Bio::Tools::Run::Alignment::Probcons;
25 for ( $Test::ntest..$NUMTESTS ) {
26 skip("Probcons program not found. Skipping.\n",1);
33 my $factory = Bio::Tools::Run::Alignment::Probcons->new(@params);
34 my $inputfilename = Bio::Root::IO->catfile("t","data","cysprot.fa");
37 my $present = $factory->executable();
38 unless ($present && -e $present ) {
39 warn "probcons program not found. Skipping tests $Test::ntest to $NUMTESTS.\n";
42 my $version = $factory->version;
43 ok ($version >= 1.09, 1, "Code tested only on probcons versions > 1.09" );
44 $aln = $factory->align($inputfilename);
46 ok( $aln->no_sequences, 7);
48 my $str = Bio::SeqIO->new('-file' =>
49 Bio::Root::IO->catfile("t","data","cysprot.fa"),
50 '-format' => 'Fasta');
53 while ( my $seq = $str->next_seq() ) {
54 push (@seq_array, $seq) ;
57 my $seq_array_ref = \@seq_array;
59 $aln = $factory->align($seq_array_ref);
60 ok $aln->no_sequences, 7;
61 my $s1_avg_perid = $aln->average_percentage_identity;
62 ok(int($s1_avg_perid), 43);
63 my $s1_ovl_perid = $aln->overall_percentage_identity;
64 ok(int($s1_ovl_perid), 15);
66 my ($tfhparams,$paramsfilename) = $factory->io->tempfile(-dir=>$factory->tempdir);
67 my ($tfhannot,$annotfilename) = $factory->io->tempfile(-dir=>$factory->tempdir);
68 my ($tfhdummy,$dummyfilename) = $factory->io->tempfile(-dir=>$factory->tempdir);
69 my $factory2 = new Bio::Tools::Run::Alignment::Probcons
71 'iterative-refinement' => '1000',
75 'train' => $paramsfilename,
77 $factory2->outfile_name($paramsfilename);
79 my $probcons_present = $factory->executable();
80 unless ($probcons_present) {
81 warn "probcons program not found.\n";
85 my $aln2 = $factory2->align($seq_array_ref);
89 $factory2 = new Bio::Tools::Run::Alignment::Probcons
91 'iterative-refinement' => '1000',
94 'annot' => $annotfilename,
95 'paramfile' => $paramsfilename,
97 $factory->outfile_name($dummyfilename);
98 $aln2 = $factory2->align($seq_array_ref);
99 my $s2_avg_perid = $aln2->average_percentage_identity;
100 my $s2_ovl_perid = $aln2->overall_percentage_identity;
101 ok(int($s2_avg_perid), 42);
102 ok(int($s2_ovl_perid), 16);