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
|
# -*-Perl-*- Test Harness script for Bioperl
# $Id$
use strict;
use File::Spec;
use File::Temp;
BEGIN {
use Bio::Root::Test;
test_begin(-tests => 5,
-requires_module => 'IO::String');
use_ok('Cwd');
use_ok('Bio::SearchIO');
use_ok('Bio::Index::Blast');
}
sub test_results {
my $index = shift;
my @ids = @_;
foreach my $id (@ids) {
my $fh = $index->get_stream($id);
ok($fh);
ok( ! eof($fh) );
my $report = Bio::SearchIO->new(-noclose => 1,
-format => 'blast',
-fh => $fh);
my $result = $report->next_result;
like($result->query_name, qr/$id/);
ok( $result->next_hit);
like( $index->fetch_report($id)->query_name, qr/$id/);
}
}
subtest 'BLASTP' => sub {
plan tests => 2 + 2*5;
my $dir = File::Temp->newdir();
my $basename = 'Wibbl';
my $filepath = File::Spec->catfile($dir, $basename);
my $index = Bio::Index::Blast->new(-filename => $filepath,
-write_flag => 1);
ok($index);
$index->make_index(test_input_file('multi_blast.bls'));
($index->dbm_package eq 'SDBM_File') ?
(ok(-e "$filepath.pag" && -e "$filepath.dir")) :
(ok(-e "$filepath"));
test_results($index, qw(CATH_RAT PAPA_CARPA));
};
subtest 'RPS-BLAST' => sub {
plan tests => 1 + 2*5;
my $dir = File::Temp->newdir();
my $basename = 'Wibbl.index';
my $filepath = File::Spec->catfile($dir, $basename);
my $index = Bio::Index::Blast->new(-filename => $filepath,
-write_flag => 1);
ok($index);
$index->make_index(test_input_file('rpsblast.bls'));
test_results($index, qw(orf20 orf40));
};
|