Bio-DB-SwissProt

 view release on metacpan or  search on metacpan

t/SwissProt.t  view on Meta::CPAN

#!/usr/bin/env perl
use utf8;

use strict;
use warnings;

use Test::More;
use Test::Needs qw(LWP::UserAgent HTTP::Request::Common Data::Stag);
use Test::RequiresInternet;

use 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);

# keep the SKIP block to deal with intermittent fails
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



( run in 1.026 second using v1.01-cache-2.11-cpan-39bf76dae61 )