-
Graham McVicker authored910024d0
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
exon.t 5.02 KiB
use lib 't';
use strict;
BEGIN { $| = 1;
use Test ;
plan tests => 27;
}
my $loaded = 0;
END {print "not ok 1\n" unless $loaded;}
use MultiTestDB;
use TestUtils qw(debug test_getter_setter count_rows);
our $verbose = 0; #set to 1 to turn on debug printouts
$loaded = 1;
my $multi = MultiTestDB->new();
ok(1);
my $db = $multi->get_DBAdaptor( 'core' );
ok($db);
# Exon specific tests
my $exonad = $db->get_ExonAdaptor();
my $slice_adaptor = $db->get_SliceAdaptor();
my $slice = $slice_adaptor->fetch_by_region('chromosome', '20',
30_811_000,
32_000_000);
ok($exonad);
my $exon = Bio::EnsEMBL::Exon->new();
$exon->start(1000);
ok(&test_getter_setter($exon, 'start', 200));
$exon->end(1400);
ok(&test_getter_setter($exon, 'end', 400));
$exon->strand(1);
ok(&test_getter_setter($exon, 'strand', -1));
$exon->phase(0);
ok(&test_getter_setter($exon, 'phase', -1));
$exon->slice( $slice );
ok(&test_getter_setter($exon, 'slice', $slice));
# should try to store (!)
$exon->end_phase( -1 );
ok(&test_getter_setter($exon, 'end_phase', 1));
#
# find supporting evidence for the exon
#
my @evidence = ();
my @fs = ();
push @fs, @{$db->get_DnaAlignFeatureAdaptor->fetch_all_by_Slice($slice)};
push @fs, @{$db->get_ProteinAlignFeatureAdaptor->fetch_all_by_Slice($slice)};
while(my $f = shift @fs) {
#debug("feature at: " . $f->start . "-" . $f->end);
next if $f->start > $exon->end || $f->end < $exon->start;
push(@evidence, $f);