use
lib
'.'
,
'./blib/lib'
;
use
vars
qw($DEBUG $NUMTESTS $exit)
;
$DEBUG
=
$ENV
{
'BIOPERLDEBUG'
} || 0;
BEGIN {
if
( $@ ) {
}
eval
{
};
if
( $@ ) {
warn
(
"A depedendancy for Bio::DB::Fasta is not installed - skipping tests. $@\n"
)
if
$DEBUG
;
$exit
= 1;
}
plan
test
=> (
$NUMTESTS
= 12);
}
my
$io
= Bio::Root::IO->new(
-verbose
=>
$DEBUG
);
my
$tempdir
=
$io
->tempdir(
'CLEANUP'
=> 1);
my
$test_dbdir
=
$io
->catfile(
$tempdir
,
'dbfa'
);
mkdir
(
$test_dbdir
);
my
$indir
=
$io
->catfile(
qw(. t data dbfa)
);
opendir
(INDIR,
$indir
) ||
die
(
"cannot open dir $indir"
);
for
my
$file
(
map
{
$io
->catfile(
$indir
,
$_
) }
readdir
(INDIR) ) {
next
unless
(-f
$file
);
copy(
$file
,
$test_dbdir
);
}
closedir
(INDIR);
my
$db
= Bio::DB::Fasta->new(
$test_dbdir
,
-reindex
=> 1);
ok(
$db
);
ok(
$db
->
length
(
'CEESC13F'
) > 0);
ok(
length
$db
->seq(
'CEESC13F:1,10'
) == 10);
ok(
length
$db
->seq(
'AW057119'
,1,10) == 10);
my
$primary_seq
=
$db
->get_Seq_by_id(
'AW057119'
);
ok(
$primary_seq
);
ok(
length
(
$primary_seq
->seq) > 0);
ok(!
defined
$db
->get_Seq_by_id(
'foobarbaz'
));
undef
$db
;
undef
$primary_seq
;
my
(
%h
,
$dna1
,
$dna2
);
ok(
tie
(
%h
,
'Bio::DB::Fasta'
,
$test_dbdir
));
ok(
$h
{
'AW057146'
});
ok(
$dna1
=
$h
{
'AW057146:1,10'
});
ok(
$dna2
=
$h
{
'AW057146:10,1'
});
my
$revcom
=
reverse
$dna1
;
$revcom
=~
tr
/gatcGATC/ctagCTAG/;
ok(
$dna2
eq
$revcom
);
END {
foreach
(
$Test::ntest
..
$NUMTESTS
) {
skip(
'Unable to complete DBFasta tests'
,1);
}
}