identified neuron database design and implementation issues n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Identified Neuron Database Design and Implementation Issues PowerPoint Presentation
Download Presentation
Identified Neuron Database Design and Implementation Issues

Loading in 2 Seconds...

play fullscreen
1 / 17

Identified Neuron Database Design and Implementation Issues - PowerPoint PPT Presentation


  • 147 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Identified Neuron Database Design and Implementation Issues' - conlan


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
identified neuron database design and implementation issues

Identified Neuron DatabaseDesign and Implementation Issues

Raj Sunderraman

Department of Computer Science

Georgia State University

December 17, 2004

outline
Outline
  • Requirements
  • Database Design Issues
  • Implementation Options
    • Object-Oriented
    • Relational
    • Object-Relational
    • Native XML
  • System Architecture
  • User Interfaces
  • Platform
requirements
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.
requirements contd
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).
special characteristics of neuronal data
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
neuronal data contd
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.
neuronal data contd1
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?
database design
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
simplified er diagram

(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
slide10

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, …

object oriented database schema odl
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,

}

oo vs relational
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.
object relational approach a compromise
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.
object relational schema
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;

system architecture

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

user interfaces
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,…
platform
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