BioSQL
From BioPerl
BioSQL is a part of the OBDA standard and was developed as a common sequence database schema for the different language projects within the Open Bioinformatics Foundation.
The BioPerl client implementation is bioperl-db. It provides an Object-Relational Mapping (ORM) for various BioPerl objects, such as Bio::SeqI. Here is a simple example:
#!/usr/bin/perl use strict; use Bio::Seq; use Bio::DB::BioDB; # create a database adaptor, actual parameters depend on your local database installation, here postgresql my $dbadp = Bio::DB::BioDB->new(-database => 'biosql', -user => 'biosql', -dbname => 'biosql', -host => 'localhost', -driver => 'Pg'); my $adp = $dbadp->get_object_adaptor("Bio::SeqI"); my $acc = "XP_000001"; # just a dummy my $seq = Bio::Seq->new(-accession_number => $acc, -namespace => 'swissprot', -version => $ver); my $dbseq = $adp->find_by_unique_key($seq); my $feat = Bio::SeqFeature::Generic->new(-primary_tag => $primary_tag, -strand => 1, -start => 100, -end => 10000, -source_tag => 'blat'); $dbseq->add_SeqFeature($feat); $dbseq->store;