[BUG] bug 2598
[bioperl-live.git] / t / Domcut.t
blob71ac6db39940701bb6890c0ed0890d4c92d26696
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
4 use strict;
6 BEGIN {
7         use lib 't/lib';
8         use BioperlTest;
9         
10         test_begin(-tests => 26,
11                            -requires_modules => [qw(IO::String
12                                                                             LWP::UserAgent)],
13                            -requires_networking => 1);
14         
15         use_ok('Bio::PrimarySeq');
16         use_ok('Bio::Tools::Analysis::Protein::Domcut');
19 my $verbose = test_debug();
21 ok my $tool = Bio::WebAgent->new(-verbose =>$verbose);
23 SKIP: {
24         ######## test using PrimarySeq object ##############
25         my $seq = Bio::PrimarySeq->new(-seq        => 'MSADQRWRQDSQDSFGDSFDGDPPPPPPPPFGDSFGDGFSDRSRQPPPPPPPPPPPPPDQRS',
26                                                                    -display_id => 'test2');
27         
28         ok $tool = Bio::Tools::Analysis::Protein::Domcut->new( -seq=>$seq);
29         ok $tool->run ();
30         if ($tool->status eq 'TERMINATED_BY_ERROR') {
31                 skip('Problem with DomCut run, check status', 21);
32         }
33         
34         ok my $raw    = $tool->result('');
35         ok my $parsed = $tool->result('parsed');
36         is ($parsed->[23]{'score'}, '-0.209');
37         my @res       = $tool->result('Bio::SeqFeatureI');
38         if (scalar @res > 0) {
39                 ok 1;
40         } else {
41                 skip('No network access - could not connect to Domcut server', 18);
42         }
43         ok my $meta = $tool->result('meta');
44         
45         SKIP: {
46                 test_skip(-tests => 2, -requires_module => 'Bio::Seq::Meta::Array');
47                 is($meta->named_submeta_text('Domcut', 1,2), "0.068 0.053");
48                 is ($meta->seq, "MSADQRWRQDSQDSFGDSFDGDPPPPPPPPFGDSFGDGFSDRSRQPPPPPPPPPPPPPDQRS");
49         }
50         
51         ########## test using Bio::Seq object ##############
52         ok my $tool2 = Bio::WebAgent->new(-verbose =>$verbose);
53         
54         ok my $seq2  = Bio::Seq->new(-seq => 'MSADQRWRQDSQDSFGDSFDGDPPPPPPPPFGDSFGDGFSDRSRQDQRS',
55                                  -display_id => 'test2');
56         
57         ok $tool2 = Bio::Tools::Analysis::Protein::Domcut->new( -seq=>$seq2->primary_seq);
58         ok $tool2->run ();
59         
60         @res = $tool2->result('Bio::SeqFeatureI');
61         
62         if (scalar @res > 0) {
63                 ok 1;
64         } else {
65                 skip('No network access - could not connect to Domcut server', 10);
66         }
67         
68         ok my $parsed2 = $tool2->result('parsed');
69         is ($parsed2->[23]{'score'}, '-0.209');
70         
71         ok my $meta2 = $tool2->result('meta');
72         
73         is($meta2->named_submeta_text('Domcut', 1,2), "0.068 0.053");
74         is ($meta2->seq, "MSADQRWRQDSQDSFGDSFDGDPPPPPPPPFGDSFGDGFSDRSRQDQRS");
75         
76         ok my $seq4 = Bio::Seq->new();
77         ok $seq2->primary_seq($meta2);
78         ok $seq2->add_SeqFeature(@res);
79         ok $seq2->primary_seq->named_submeta_text('Domcut', 1,2);