Supply TEMPLATE and SUFFIX for temporary query sequence files.
[bioperl-run.git] / t / Probalign.t
blob5307f8b00a2baf5b59871709c28944c9a248828f
1 # -*-Perl-*-
2 ## Bioperl Test Harness Script for Modules
3 ## $Id$
5 use strict;
6 BEGIN {
7     use Bio::Root::Test;
8     test_begin(-tests => 13);
9         
10         use_ok('Bio::Tools::Run::Alignment::Probalign');
11         use_ok('Bio::AlignIO');
12         use_ok('Bio::SeqIO');
13         use_ok('Cwd', qw(cwd));
14         use_ok('POSIX');
17 END { unlink qw(cysprot.dnd cysprot1a.dnd) }
19 END {     
20         unlink('probalign.log', 'probalign.out');
23 my @params = ();
24 my $factory = Bio::Tools::Run::Alignment::Probalign->new(@params);
25 my $inputfilename = test_input_file('cysprot.fa');
26 my $aln;
28 SKIP: {
29     test_skip(-requires_executable => $factory,
30               -tests => 8);
31         my $version = $factory->version;
32         cmp_ok ($version, '>=', 3.3,"Code tested only on probalign versions > 3.3" );
33         $aln = $factory->align($inputfilename);
34         ok($aln);
35         is( $aln->num_sequences, 7);
36         
37         my $str = Bio::SeqIO->new('-file' => $inputfilename,
38                                   '-format' => 'Fasta');
39         my @seq_array =();
40         
41         while ( my $seq = $str->next_seq() ) {
42                 push (@seq_array, $seq) ;
43         }
44         
45         my $seq_array_ref = \@seq_array;
46         
47         $aln = $factory->align($seq_array_ref);
48         is $aln->num_sequences, 7;
49         my $s1_perid = POSIX::ceil($aln->average_percentage_identity);
50         is($s1_perid == 43 || $s1_perid == 44, 1,
51            'diff versions of PROBALIGN have different vals');
52         
53         my $outfile = test_output_file();
54         # add some more params
55         @params = ('-outfile_name'      => $outfile);
56         $factory = Bio::Tools::Run::Alignment::Probalign->new(@params);
57         $aln = $factory->align($seq_array_ref);
58         is $aln->num_sequences, 7;
59         $s1_perid = POSIX::ceil($aln->average_percentage_identity);
60         is($s1_perid == 43 || $s1_perid == 44, 1,
61            'diff versions of PROBALIGN have different vals');
62         
63         
64         $inputfilename = test_input_file("cysprot1a.fa");
65         $aln = $factory->align($inputfilename);
66         is $aln->num_sequences, 3;
67         $s1_perid = POSIX::ceil($aln->average_percentage_identity);
68         
69         is($s1_perid == 41 || $s1_perid == 42, 1,
70            'diff versions of PROBALIGN have different vals');