2 ## Bioperl Test Harness Script for Modules
8 test_begin( -tests => 16 );
9 use_ok('Bio::Tools::Run::Alignment::Muscle');
10 use_ok('Bio::AlignIO');
12 use_ok('Bio::Root::IO');
17 unlink qw(cysprot.dnd cysprot1a.dnd muscle.log muscle.out mlc);
20 my @params = ( 'quiet' => 1 );
21 my $factory = Bio::Tools::Run::Alignment::Muscle->new(@params);
22 is( $factory->quiet, 1 );
23 my $inputfilename = test_input_file("cysprot.fa");
28 -requires_executable => $factory,
32 my $version = $factory->version;
33 unless ( $version >= 3.6 ) {
35 "Only muscle version 3.6 or higher is supported by these tests. Skipping tests",
40 cmp_ok( $version, '>=', 3.6, "Code tested only on muscle versions > 3.6" );
42 $aln = $factory->align($inputfilename);
44 is( $aln->num_sequences, 7 );
46 my $str = Bio::SeqIO->new(
47 -file => test_input_file("cysprot.fa"),
51 while ( my $seq = $str->next_seq() ) {
52 push( @seq_array, $seq );
54 my $seq_array_ref = \@seq_array;
56 $aln = $factory->align($seq_array_ref);
57 is $aln->num_sequences, 7;
58 my $s1_perid = POSIX::ceil( $aln->average_percentage_identity );
59 is( $s1_perid == 43 || $s1_perid == 44,
60 1, 'diff versions of MUSCLE have different vals' );
62 my $logfile = test_output_file();
63 my $outfile = test_output_file();
65 # add some more params
68 '-outfile_name' => $outfile,
74 -seqtype => 'protein',
76 $factory = Bio::Tools::Run::Alignment::Muscle->new(@params);
77 is( $factory->log, $logfile, 'log file' );
78 $aln = $factory->align($seq_array_ref);
79 is $aln->num_sequences, 7;
80 $s1_perid = POSIX::ceil( $aln->average_percentage_identity );
81 is( $s1_perid == 43 || $s1_perid == 44,
82 1, 'diff versions of MUSCLE have different vals' );
84 $inputfilename = test_input_file("cysprot1a.fa");
85 $aln = $factory->align($inputfilename);
86 is $aln->num_sequences, 3;
87 $s1_perid = POSIX::ceil( $aln->average_percentage_identity );
89 is( $s1_perid == 41 || $s1_perid == 42,
90 1, 'diff versions of MUSCLE have different vals' );