1 / 17

Identified Neuron Database Design and Implementation Issues

Identified Neuron Database Design and Implementation Issues. Raj Sunderraman Department of Computer Science Georgia State University December 17, 2004. Outline. Requirements Database Design Issues Implementation Options Object-Oriented Relational Object-Relational Native XML

conlan
Download Presentation

Identified Neuron Database Design and Implementation Issues

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Identified Neuron DatabaseDesign and Implementation Issues Raj Sunderraman Department of Computer Science Georgia State University December 17, 2004

  2. Outline • Requirements • Database Design Issues • Implementation Options • Object-Oriented • Relational • Object-Relational • Native XML • System Architecture • User Interfaces • Platform

  3. Requirements • A comprehensive repository of “identified” neuron and connections data for “tritonia” and related molluscs. • Ability to perform ad-hoc querying, browsing, and searching of this data. • Ability to accept “submissions” of data. • Ability to validate data – through a review process. • Ability to attach “source” information with data – credit to authors of data.

  4. Requirements (contd.) • Web-based Interfaces for ease of use. • Tie-ins to related data in other databases such as genomic data. • Ability to import/export data in XML. • Development of stand-alone software toolkits to enable data collection and eventual submission. • Web services interfaces to enable external software to access repository data and even possibly send data to repository (submissions).

  5. Special Characteristics of Neuronal Data • Complex Data – heavily structured with complex relationships. • Evolving Schemas – need support for data object migrations and schema evolutions across database releases. • Read access by many and write access by few – read accesses are quite varied and indexing of data becomes important

  6. Neuronal Data (contd.) • Complex Queries – need ability to generate query forms on the fly to satisfy varied needs of users. • Access to “old” data – need to preserve trail of changes made to data; efficient logging of updates. • Complex Data Input – need sophisticated UIs to allow complex data to be input; e.g. location specification input on a 3-D model using a virtual laser pointer.

  7. Neuronal Data (contd.) • Incomplete and negative information • Database at any point in time contains “what is known to be true” as of then. • Lots of unknowns. • Need to record “negative” data, such as neuron A does not make a synaptic connection with neuron B. • Requires us to record both “positive” and “negative” facts explicitly (3-valued logic or even 4-valued logic?) • Reasoning with Open World Assumption? Or a combination of Closed World and Open World assumptions?

  8. Database Design • High level “Conceptual Modeling” using Entity-Relationship approach • Initial E-R Diagram completed • Implementation Options: • Relational Database - Oracle, MS SQLServer • Purely Object-Oriented Database - ObjectStore, EyeDB, Jasmine, POET • Hybrid approach; Object-relational – Oracle • Native XML database – Xindice, eXcelon, ozone

  9. (1,1) (0,N) Update Log (1,1) (1,1) XMLStore XMLfile (1,1) (1,1) TextStore TextFile (1,1) (1,1) (0,1) (0,1) Has Soma Belong Soma Cluster (0,N) (0,N) GLocate Primary (0,N) (1,N) (1,N) (1,1) IsAt Pass Section Ganglion (1,1) (0,1) (0,N) (0,N) (0,N) GLocate Has Axons Project Axons Nerve (1,2) Neuron (0,N) (0,N) hasMolecule Molecule (0,1) (0,N) (0,N) (1,1) Conduct HasEP (2,2) Conductance Electrophysiology (0,N) (0,N) Connect FP Firing Pattern ElectricalSynapse (0,1) Neuromodulation (1,N) (0,N) Connections U HasComponent Component ChemicalSynapse NegativeConnection Simplified ER Diagram

  10. Relational Schema create table neuron ( neuronId char(5), name varchar2(50), specis varchar2(50) … ); create table neuronSynonyms ( neuronId char(5), synonym varchar2(50), primary key (neuronId, synonym), foreign key neuronId references neuron ); create table connections ( neuron1 char(5), neuron2 char(5), primary key (neuron1, neuron2), foreign key neuron1 references neuron, foreign key neuron2 references neuron ); Separate tables for subclasses: electricalSynapse, chemicalSynapse, …

  11. Object-Oriented Database Schema (ODL) interface neuron (extent neurons key (neuronId) { attribute string neuronId; attribute string name; attribute Set<string> synonyms; attribute string species; … relationship Soma hasSoma; relationship Set<Connection> connect; … void addConnection(neuron n2); XMLType extractXML(); } interface connection (extent connections) { relationship neuron neuron1, relationship neuron neuron2 } interface electricalSynapse:connection { double couplingCoefficient, boolean hasDyeCoupling, … }

  12. OO vs Relational • Relational DBs are simple and intuitive to use and suitable for traditional business applications. Generally not suitable for life sciences data; Some drawbacks: • Set Valued attributes are awkwardly handled • IsA hierarchies (sub-classing) are also problematic • Impedance mismatch – SQL and host language • Complex structures – difficult to handle • Blobs, Clobs: possible but not flexible; entire blob/clob is retrieved in queries even if part of it required • OO DBs handle above problems well; “less mature” than relational systems.

  13. Object-Relational ApproachA Compromise • Relational Systems have been extended with object capabilities (all major relational systems are now object-relational) • At the top level, we have tables. But what resides in tables is quite complex – set valued attributes, nested attributes, objects and references to objects, … • SQL standards have incorporated object-relational features. • Such systems still suffer with “impedance mismatch” problem and other limitations as well.

  14. Object-Relational Schema Create type somaType as ( … ); Create type axonType as ( … ); Create type neuronType ( neuronId char(4), synonyms varying array(string), soma somaType; axon axonType, ); Create table neuron of neuronType;

  15. DB Web Services D B M S Web Server App Server J2EE Servlets JSP System Architecture XML Web Services Java Client App Neuron DB Browser Client Server Side Clients

  16. User Interfaces • Browse, Search, Query • Flexible Query Forms (allow users to customize search pages without any programming) • Data Entry – as client application • Data Visualization (in the form of plots, charts etc.) • Location specification: 3-D models, virtual laser • pointers,…

  17. Platform Database: Relational.Object-Relational: Oracle, mySQL, Postgres OO-DB: ObjectStore, EyeDB XML DB – Xindice, ozone, eXcelon Application Server: Apache Tomcat Apache Axis for Web Services Development Language: Java (for universality and portability) Hardware/OS: Dell server, Linux Clients: Windows, Linux, or any other OS

More Related