[Bioperl-l] Request for comments: Bio::DB::GFF3 namespace
Lincoln Stein
lstein at cshl.edu
Tue Mar 21 23:27:30 UTC 2006
Hi All,
I'm pretty much ready to check in the replacement for the Bio::DB::GFF
database. What I ended up writing has only a remote relationship to gff3
files -- it is more like a general storage engine for Bio::SeqFeatureI
objects. So I don't want to call the thing Bio::DB::GFF, but want to place it
somewhere else in the namespace hierarchy.
Here are my current classes and what they do; the names are placeholders so
don't get hung up on what they're called now:
Bio::SeqFeature::Store
- implements the Bio::SeqFeature::CollectionI interface. You can
store any Bio::SeqFeatureI into a database (mysql, berkeleydb, in-memory)
and fetch it out using a variety of queries.
Bio::SeqFeature::Store::DBI
- base class for DBI databases
Bio::SeqFeature::Store::DBI::mysql
- mysql storage implementation
Bio::SeqFeature::Store::DBI::mysql::Iterator
- helper class for the mysql adaptor. Implements
(part of) the Bio::SeqIO interface
Bio::SeqFeature::Store::memory
- in-memory storage implementation
Bio::SeqFeature::Store::bdb
- Berkeley DB storage implementation
Bio::SeqFeature::Store::Cacher
- An in-memory cache for the store; uses an LRU cache
to avoid going to the database for frequently used
objects. Also implements scheme that lets features
share the same in-memory subfeatures (like shared
exons).
Bio::SeqFeature::LazyFeature
- A Bio::SeqFeatureI class that stores its subfeatures in an
underlying Bio::SeqFeature::Store and fetches them
in a lazy fashion as needed.
Bio::SeqFeature::LazyTableFeature
- A Bio::SeqFeatureI class that stores its subfeatures in
an underlying Bio::SeqFeature::Store, AND stores
the parent/child relationship data in the Store as
well. Fetches subfeatures as needed in a lazy fashion.
A utility script, currently called gff3_load.pl, parses a gff3 file, creates
the proper objects, and stores them in the Store. Eventually some of this
functionality will be moved into Bio::Tools::GFF.
So where should I put these files? The Bio::DB namespace? A new
Bio::Collection namespace? A Bio::SeqFeature::Collection namespace?
Lincoln
--
Lincoln D. Stein
Cold Spring Harbor Laboratory
1 Bungtown Road
Cold Spring Harbor, NY 11724
FOR URGENT MESSAGES & SCHEDULING,
PLEASE CONTACT MY ASSISTANT,
SANDRA MICHELSEN, AT michelse at cshl.edu (516 367-5008)
More information about the Bioperl-l
mailing list