# Presentation: 074256

## caWorkbench 2.0: Architecture and Functionality

- Andrea Califano
- Columbia University

## Integrated Genomics

- DNA Sequences

- Gene Expression

- Protein Structure

- Literature

- Proteomics

- Comparative Genomics

- Lead Compounds

- Medical Records

- Scientific and Technological
- Innovation

- caWorkbench

##   caWorkbench 2.0 = BioWorks 1.0

- Some History:
- caWorkbench 1.0 (NCICB sponsored)
- BioWorks (AMDeC/Columbia sponsored)
- caWorkbench 2.0 = BioWorks for caBIG
- A platform for caGRID enablement
- A platform for module interoperability (CDE)
- _[http://amdec-bioinfo.cu-genome.org/html/BioWorks.htm](http://amdec-bioinfo.cu-genome.org/html/BioWorks.htm)_
- Source code available later in the year
- Integration with Cytoscape
- caWorkbench 2.0 is fully integrated with Cytoscape
- Demonstrated at the recent Cytoscape retreat
- Additional partners Welcome!

## BioWorks: Driving Principles

- Repository Based Server-Grid for the integration of distributed interoperable components
- Open Source
- Plug&Play
- Grid-Enabled and Scaleable
- Easily Extensible
- Ontology-Anchored
- A platform for Integrative Biomedicine
- Community based  and driven

## Plug&Play

- Plugin GUI
- Custom Skins
- Visual Builder
- Plugin Components
- Repository based model
- Ontology Based Interface Development

- Plugin Algorithms
- Discovery
- Composition
- Plugin Data Parsers
- Local
- Remote

## BioWorks: Plugin Model

**Plug&Play Client**
**Application**

**Data-Grid**
**Enabled**
**Databases**

**Computational-Grid**
**Enabled**
**Algorithms**

## BioWorks: Architecture

**BioWorks Backbone (Ontology Anchored, Grid-Enabled)**

- Adapter Layer

- Adapter Layer

**BioWorks**

## Universal Client-Server Model (caGRID)

**Columbia**

**Rochester**

**MSK**

- caGRID Network

- 1

## caWorkbench Modules

- Microarray Analysis
- Normalization (Plugin)
- Filtering (Plugin)
- Analysis (Plugin)
**Biclustering (Plugin)**
- Microarray Visualization
- Color Mosaic
- Dendrograms
- SOM
- Expression Profiles
- Tabular View (w edit)
- Microarray View
- Expression on Pathways
**Cytoscape Expression**

- Sequence Analysis
**BLAST (Server)**
**Motifs (SPLASH Server)**
- Promoter Analysis (TRANSFAC)
**Synteny (Server)**
- Sequence Visualization
- Alignment Results
- Motif Visualization
- Motif Histograms
- Dot Plots (Synteny)

## caWorkbench Modules

**Pathways**
**Reverse Engineering**
- caBIO BioCarta
**Cytoscape**
- Pathway Browser
**Genotypic Data Analysis**
**Association Discovery**
**Genotypic Data Visualization**
- Color Mosaic
- Tabular View (w edit)
- Microarray View

**Ontologies**
- Gene Ontology Browser
**Other**
- Project Panel
- Phenotype Sel. Panel
- Gene Selection Panel
- Gene Annotation
- Image Viewer
- Dataset Annotation
- Dataset History
- Experiment Info
- Session Manager (caGRID)
- Visual Builder

## caWorkbench Desiderata

**Expression Profiles**
- Algorithms
- SVM
- PCA
- ANOVA
- ...
**Classifiers**
- ...
**Cross Validation/Evaluation**
- ...
**Converters**
- Any to UniMarker
- GetGene
- GetProtein
- GetSNP
- ...

**Sequence Analysis**
- Multiple Sequence Alignment
- ...
**Pathways**
- caPathways
- ...
**Ontologies**
- Biomedical ontologies
- Snomed
- Metathesaurus
- ...
**Others**
- Access to caArray
- Evidence Integration

## Communication Models: Asynchronous

**Component E**

***Interface-A***
*Listener*

**Component B**

***Interface-A***
*Listener*

**Component D**

*Interface-B*
*Listener*

**Event Queue**

**...**

**...**

**Component C**

***Interface-A***
*Listener*

**Component A**

- Interface *Int-A*

## Communication Models: Synchronous

**Builder**

**Component B**

***Interface-A***

**Component D**

*Interface-B*

**Component C**

***Interface-A***

**Component A**

*Reference*
*Interface A*

## Universal Component Repository

## Interface Design

- Indiscriminate interface development
- Babel of non-interoperable dialects: Lethal
- Lessons from successful interfaces
- TCP/IP
- Open/GL
- PCI Bus
- ...
- Common features
- Thin
- Universal
- Extensible
- Open

## Ontology-Anchored Interfaces

- Scaleable mechanisms for the definition of community based standards
- Vocabulary
- Grammar
- Semantics
- Ontology Anchored Interface Design
- Available only for Fundamental Biomedical Types
- DNA Sequence
- Gene
- Gene Expression
- ...
- Extend Existing Ontologies with Two New Axes (CDE)
- Complex Data Structures
- Algorithms

***BISON***: Biomedical Informatics Structured Ontology Notation

## Interface Design: CDE

- Primary Biological
- Datatypes (GO)

- Sequence

- Gene

- SNP

- Tissue

- Expression

- DNA Seq

- Pattern

- Cluster

- Phylogenetic Tree

- Pattern Match

- Training Set

- Adjacency Matrix

- Synteny

- Clustering

- Classification

- Linkage Analysis

- 2D Pattern Matching

- 1D Pattern Discovery

- 1D Pattern Matching

- 2D Pattern Discovery

- Linkage Analysis

***DNA Sequence***
***Pattern Discovery***

***Gene Expression***
***Pattern Discovery***

***Pattern Discovery***

***1D Pattern Discovery***

***Protein Sequence***
***Pattern Discovery***

***2D Pattern Discovery***

***SNP***
***Pattern Discovery***

- Protein Seq

- Organ

- Algorithms

- Complex Data
- Structures

## Pattern:

-       PMatch<***Slot-2***> ***match***(***Slot-1***);
-       Collection(PMatch<***Slot-2***>) ***match***(Collection(***Slot-1***));

- Slot-2

- Slot-1

**PMatch**:
-       ***Slot-1***  ***getRelativePosition***();
-       double ***getPValue***();

- Slot-1

**Pattern**

**Structure**
**Pattern**

**Sequence**
**Pattern**

**Sequence Pattern**:
-       PMatch<***SeqOff***> ***match***(***Sequence***);
-       Collection(PMatch<***SeqOff***>) ***match***(Collection(***Sequence***));

- SeqOff

- Sequence

**Structure Pattern**:
-       PMatch<(***3DOffset***)> ***match***(***Structure***);
-       Collection(PMatch<***3DOffset***>) ***match***(Collection(***Structure***));

- 3DOffset

- Structure

**Sequence**

**Structure**

**PMatch**

**3DOffset**

**3DOffset**:
-       *vector**** getV1***();
-       vector ***mgetV2***();
-       double getAlpha();

**SeqOffset**:
-       *int**** getV1***();
-       vector ***mgetV2***();
-       double getAlpha();

**SeqOff**

## Component Interactions

## Acknowledgements

- Columbia
- Integrated Genomics Core
- Ken Smith
- Manjunath Kustagi
- Xiaoqing Zhang
- Pavel Morozov
- Dahai Yu
- Califano Lab
- Aner Fust
- Xuegong Wang
- Saroja Hanasoge
- Adam Margolin

- FGT
- Aris Floratos
- Zhong Li