-
Notifications
You must be signed in to change notification settings - Fork 182
/
SwissProt.t
executable file
·96 lines (79 loc) · 3.64 KB
/
SwissProt.t
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# -*-Perl-*- Test Harness script for Bioperl
# $Id$
use strict;
BEGIN {
use lib '.';
use Bio::Root::Test;
test_begin(-tests => 23,
-requires_modules => [qw(IO::String
LWP::UserAgent
HTTP::Request::Common
Data::Stag)],
-requires_networking => 1);
use_ok('Bio::DB::SwissProt');
}
ok my $gb = Bio::DB::SwissProt->new(-retrievaltype => 'pipeline',
-delay => 0);
my %expected_lengths = (
'NDP_MOUSE' => 131,
'NDP_HUMAN' => 133,
'BOLA_HAEIN' => 103,
'YNB3_YEAST' => 125,
'O39869' => 56,
'DEGP_CHLTR' => 497,
'DEGPL_CHLTR' => 497
);
my ($seq, $seqio);
SKIP: {
eval {$seq = $gb->get_Seq_by_id('YNB3_YEAST');};
skip "Couldn't connect to SwissProt with Bio::DB::SwissProt.pm. Skipping those tests", 14 if $@;
is $seq->length, $expected_lengths{$seq->display_id}, $seq->display_id;
is $seq->division, 'YEAST';
eval {$seq = $gb->get_Seq_by_acc('P43780');};
skip "Couldn't connect to SwissProt with Bio::DB::SwissProt.pm. Skipping those tests", 12 if $@;
is $seq->length, $expected_lengths{$seq->display_id}, $seq->display_id;
eval {$seq = $gb->get_Seq_by_acc('O39869');};
skip "Couldn't connect to SwissProt with Bio::DB::SwissProt.pm. Skipping those tests", 11 if $@;
is $seq->length, $expected_lengths{$seq->accession_number}, $seq->accession_number;
is $seq->accession_number, 'O39869';
is $seq->division, '9PICO';
# test for bug #958
eval {$seq = $gb->get_Seq_by_id('P18584');};
skip "Couldn't connect to SwissProt with Bio::DB::SwissProt.pm. Skipping those tests", 8 if $@;
ok exists $expected_lengths{$seq->display_id}, 'P18584';
is $seq->length, $expected_lengths{$seq->display_id}, $seq->display_id;
is $seq->division, 'CHLTR';
ok $gb = Bio::DB::SwissProt->new('-retrievaltype' => 'tempfile', '-delay' => 0);
eval {$seqio = $gb->get_Stream_by_id(['NDP_MOUSE', 'NDP_HUMAN']);};
skip "Couldn't connect to SwissProt with Bio::DB::SwissProt.pm. Skipping those tests", 4 if $@;
undef $gb; # testing to see if we can remove gb
ok $seq = $seqio->next_seq();
is $seq->length, $expected_lengths{$seq->display_id}, $seq->display_id;
ok $seq = $seqio->next_seq();
is $seq->length, $expected_lengths{$seq->display_id}, $seq->display_id;
}
# test idtracker() method
ok $gb = Bio::DB::SwissProt->new(-retrievaltype => 'pipeline',
-delay => 0,
-verbose => 2);
SKIP: {
my $map;
# check old ID
eval {$map = $gb->id_mapper(-from => 'ACC+ID',
-to => 'ACC',
-ids => [qw(MYOD1_PIG PYRC_YEAST)]
)};
skip("Problem with idtracker(), skipping these tests: $@", 6) if $@;
cmp_ok(@{$map->{MYOD1_PIG}}, '>=', 1);
is($map->{MYOD1_PIG}[0], 'P49811');
cmp_ok(@{$map->{PYRC_YEAST}}, '>=', 1);
is($map->{PYRC_YEAST}[0], 'P20051');
eval {$map = $gb->id_mapper(-from => 'ACC+ID',
-to => 'EMBL',
-ids => [qw(PYRC_YEAST)]
)};
skip("Problem with idtracker(), skipping these tests: $@", 2) if $@;
cmp_ok(@{$map->{PYRC_YEAST}}, '>=', 2);
like($map->{PYRC_YEAST}[0], qr/^[A-Z0-9]/);
}
1;