Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

78 lines (65 sloc) 2.136 kb
# -*-Perl-*-
# $Id$
BEGIN {
use lib 't';
use Bio::Root::Test;
test_begin(-tests => 23);
# -----------------------------------------------
# REQUIREMENTS TESTED: (not yet!)
# unknown start/end (eg like we find in SP)
# must be handled gracefully
# cjm@fruitfly.org
# -----------------------------------------------
use_ok('DBTestHarness');
use_ok('Bio::SeqIO');
}
$biosql = DBTestHarness->new("biosql");
$db = $biosql->get_DBAdaptor();
ok $db;
my $seqio = Bio::SeqIO->new('-format' => 'embl',
'-file' => test_input_file('AB030700.embl'));
my $seq = $seqio->next_seq();
ok $seq;
my $pseq = $db->create_persistent($seq);
$pseq->namespace("mytestnamespace");
$pseq->create();
ok $pseq->primary_key();
my $seqadp = $db->get_object_adaptor($seq);
ok $seqadp;
eval {
my $sequk = Bio::Seq::RichSeq->new(-accession_number => "AB030700",
-version => 1,
-namespace => "mytestnamespace");
$dbseq = $seqadp->find_by_unique_key($sequk);
ok $dbseq;
is ($dbseq->display_id, $seq->display_id);
is ($dbseq->accession, $seq->accession);
is ($dbseq->subseq(3,10), $seq->subseq(3,10) );
is ($dbseq->subseq(1,15), $seq->subseq(1,15) );
is ($dbseq->length, $seq->length);
is ($dbseq->seq, $seq->seq);
is ($dbseq->desc, $seq->desc);
@dblinks = sort {
$a->primary_id cmp $b->primary_id
} $dbseq->annotation->get_Annotations('dblink');
@stdlinks = sort {
$a->primary_id cmp $b->primary_id
} $seq->annotation->get_Annotations('dblink');
ok (scalar(@dblinks));
is (scalar(@dblinks), scalar(@stdlinks));
for(my $i = 0; $i < @dblinks; $i++) {
is($dblinks[$i]->database, $stdlinks[$i]->database);
is($dblinks[$i]->primary_id, $stdlinks[$i]->primary_id);
TODO: {
local $TODO = 'optional_id() for dblinks is not working yet';
is($dblinks[$i]->optional_id, $stdlinks[$i]->optional_id);
}
}
};
print STDERR $@ if $@;
# delete seq
is ($pseq->remove(), 1);
my $ns = Bio::DB::Persistent::BioNamespace->new(-identifiable => $pseq);
ok $ns = $db->get_object_adaptor($ns)->find_by_unique_key($ns);
ok $ns->primary_key();
is ($ns->remove(), 1);
Jump to Line
Something went wrong with that request. Please try again.