Institute for Systems Biology
  Home: Technology: Data Management: Data Object Management Print Page
Technology
Microarray Pipeline
SBEAMS
GDxBase
Gaggle
Data Object Management
Information Technology Central Services
 Data Object Management
AutoDB

General Technique

A perl module is used to provide almost transparent object persistence in a manner that permits relational access to parts of the object. Requires and works closely with AutoClass.

A simple method is provided to store an object in the database. Objects are subsequently retrieved via methods that run relational queries or that obtain the object based on an internal object identifier. Objects are stored in and retrieved from the database in a manner that ensures that shared object structures are reconstructed correctly. By default, objects are retrieved on demand making it possible to operated on very large object structures without consuming excessive memory.

The primary storage representation for an object is a serialized form that contains the entire content of the object, minus attributes declared by the programmer to be non-persistent. The current code uses the standard Perl module Data::Dumper to create the serialized form; a version using Storable (another standard Perl module) is in the works.

In addition, parts of the object are stored in relational form to permit content-based access using relational queries, and to permit co-existence of relational and object-oriented programming styles. The programmer specifies which attributes are to be stored in this manner; the AutoDB software creates the necessary tables.

Funded by: Juvenile Diabetes Research Foundation

Example(s) of projects at ISB that use this technique: T1DBase, HDBase, GDxBase, Connect the Dots

Is this technique an ongoing area of technology development?

The current version is a new "release 0" and is under active development.

Representative publication(s): Available on CPAN under the name Class::AutoDB. CPAN is the standard repository for publicly available Perl modules.

AutoClass

General Technique

A Perl module is used to automatically define simple get and set methods, and automatically initialize objects in a single, or possibly multiple, inheritance structure(s). The main features are:

  1. 1. Get and set methods for simple attributes are automatically generated.
  2. 2. Attributes may have synonyms.
  3. 3. Keyword argument lists are handled and can be used to automatically initialize attributes when objects are created; attributes can be initialized whether or not get and set methods are automatically generated.
  4. 4. Default values are handled and can be used to automatically initialize attributes when objects are created; this works whether or not get and set methods are automatically generated.
  5. 5. The protocol for object creation and initialization is close to the textbook approach generally suggested for object-oriented Perl.
  6. 6. Object initialization works correctly in the presence of multiple inheritance.
  7. 7. Object initialization works correctly in the presence of external base classes that know nothing about AutoClass.

The software is open source and licensed under the Perl Artistic License.

Funded by: Juvenile Diabetes Research Foundation

Give example(s) of projects at ISB that use this technique:
T1Dbase
HDBase
GDxBase
Connect the Dots
AutoDB

Is this technique an ongoing area of technology development? If so, elaborate.
The current version is a mature "release 0". An improved "release 1" has long been planned.

Representative publication(s):
AutoClass is available on CPAN under the name ´Class::AutoClass´. CPAN is the standard repository for publicly available Perl modules.

 Related Information


HOME | NEWS | CAREERS | CONTACT ISB | SITE MAP | TERMS OF USE | INTRANET
© 2012, Institute for Systems Biology, All Rights Reserved