# Presentation: 527183

## caCORE:Infrastructure for communal biomedical informatics

**Peter A. Covitz, Ph.D.**
**Director, Bioinformatics Core Infrastructure**
**NCI Center for Bioinformatics**

## Supported initiatives

-  Cancer Genome Anatomy Project (CGAP)
*ESTs, SAGE, SNPs, Pathways*
*20% of human ESTs in GenBank from CGAP*
-  Gene Expression Data Portal
*Tumor classification microarray data*
-  Cancer Models
*Mouse cancer disease models*
-  Clinical Trials
*Protocols, agents, targets, patient cases*

## caCORE

**Enterprise Vocabulary**

**Common Data Elements**

**Biomedical Objects**

## Enterprise Vocabulary Services

**Enterprise Vocabulary**

##  Enterprise Vocabulary Services

**Services and resources that address NCI's needs for controlled vocabulary**
**Vocabulary Products**
**NCI Thesaurus**
**NCI Metathesaurus**
**External vocabularies maintained**
**Collaborations and Outreach**
**RxNORM – VA National Drug File**
**HL7 Vocabulary**
**MAGE Ontology**

## NCI Thesaurus

- Reference Vocabulary for NCI
- Broad coverage of cancer domain
- Neoplastic disease
- Anatomy
- Agents, drugs, chemicals
- Oncogenes
- Mouse cancer models
- Research techniques, management

## NCI Thesaurus

- Description-logic based
- 18,000 “Concepts” hierarchically organized
- “Roles” establish semantic relationships between Concepts
- Developed/served using Apelon software
- Available through dynamic caBIO APIs, flatfile, and OWL XML format.

## NCI Metathesaurus

**UMLS Metathesaurus extended with cancer-oriented vocabularies**
**800,000+ concepts, 2,000,000 terms and phrases**
**Mappings among over 50 vocabularies**
**Rich synonymy: Over 40,000 terms for “cancer” mapped to 7,000 concepts**
**Used as online dictionary, thesaurus, and for document indexing, through dynamic caBIO APIs**

## Cancer Data Standards Repository (caDSR)

**Common Data Elements**

##   Common Data Elements (CDEs)

- Data descriptors or “metadata” for cancer research
- Precisely defining the questions and answers
- What question are you asking, exactly?
- What are the possible answers, and what do they mean?
- Using controlled vocabularies from EVS
- Describing data objects and attributes used for presentation to scientific applications
- Ongoing projects covering various domains
- Clinical Trials
- Imaging
- Biomarkers
- Genomics

## ISO/IEC 11179 Metadata Standard

_**Data Element**_
**Bladder Tumor Clinical N Stage**

_**Conceptual Domain**_
**Diagnosis**

_**Valid Values**_
**N0**
**N1**
**N2**
**N3**
**NX**

_**Classifications**_

_**Context**_
**CTEP**

_**Data Element Concept**_
**Tumor Description**

_**Value Domain**_
**Bladder Tumor **
**Clinical N Stage**

_**Value Meanings**_
**[Definitions]**

## Example “Question” CDE

-  *Question *
- What is the bladder tumor clinical nodal stage?
-  *Permissible Answers *
- N0
- NO REGIONAL LYMPH NODE METASTASIS
- N1
- METASTASIS IN A SINGLE LYMPH NODE, 2 CM OR LESS IN GREATEST DIMENSION
- N2
- METASTASIS IN A SINGLE LYMPH NODE, MORE THAN 2 CM BUT NOT MORE THAN 5 CM IN GREATEST DIMENSION; OR MULTIPLE LYMPH NODES, NONE MORE THAN 5 CM IN GREATEST DIMENSION
- N3
- METASTASIS IN A LYMPH NODE MORE THAN 5 CM IN GREATEST DIMENSION
- NX
- REGIONAL LYMPH NODES CANNOT BE ASSESSED

## Example “Data Class” CDE

- _UML/Object_            		_ISO/IEC 11179_
- Data Class 			== 	Data Element Concept
- Gene
- Data Class Attribute 	== 	Data Element
- Gene Symbol
- Attribute Values 		== 	Value Domain
- P53, GSK, etc.

## Cancer Data Standards Repository

- Registry for Common Data Elements
- ISO/IEC 11179 + extensions
- Extensions support “Forms” and “Protocols”
- Public ID + Version = Unique Identifier
- Interactive Tools:
- CDE Curation – Integrated with EVS to draw terms from controlled vocabulary
- CDE Browser – search and export
- Form Compliance with CDEs
- Interfaces:
- Java, SOAP, HTTP-XML [via caBIO]

## Cancer Bioinformatics Infrastructure Objects (caBIO)

**Bioinformatics Objects**

## caBIO Overview

-  caBIO modeled in UML and implemented in J2EE
-  Genomics, Genetics
-  Clinical Trials
-  Access to data hosted at NCI and federated from other sites

## Development Process: UML

-  Use Cases
-  Class Diagrams
-  Sequence Diagrams
-  Iterative Development

## caBIO Development Tools

-  Today
- Rose for UML
- Quava for code generation
-  End of 2004
- Poseidon for UML
- Axgen for code generation
- Low/no cost, better support for open standards

## Architecture

**EVS**

**caDSR**

**UCSC DAS**

**Data Access**
**Objects**

**Object Managers**

**Biomedical**
**Objects**
**[****Gene****, ****Disease****, ****etc****.]**

**RMI**

**Web Server**

_**Tomcat**_
**Servlets**
**JSPs**
**SOAP**

_**UI Bean**_
**XML**
**XSL/XSLT**

**HTML/XML Clients (Browsers)**

**SOAP Clients**

**Java Applications**

**Data**

**Object**

**Presentation**

**Client**

**NCI**

**NCI**

**NCI**

## caBIO APIs

- Java
- Query/retrieve biomedical objects directly via RMI
- SOAP
- SOAP client in any language/environment can send request to NCICB server for object data
- SOAP-XML envelope and payload returned
- HTTP-XML
- Properly formed URLs in any web browser/client can retrieve XML-formatted object data directly

## Java API

**Gene**** myGene = new Gene();**
**GeneSearchCriteria**** criteria = new GeneSearchCriteria();**
**criteria.setSymbol("pTEN");**
**SearchResult**** result = myGene.search(criteria);**
**Gene[] genes = (Gene[]) result.getResultSet();**

- Domain objects have companion
*SearchCriteria* objects

## Nested SearchCriteria

-  *SearchCriteria  *from one object type can be fed as parameters into *SearchCriteria* of another type.
-  Complex queries without any SQL

## Complex Queries on Objects

- Find me the Pathways,
- with Genes that are expressed,
- in tissues with a particular Histopathology that includes
- a particular Organ and a particular Disease.

## Traverse Relationships in Model

**Genes**

**Pathways**

**Disease**

**Organ**

**Histopathology**

**INPUT**

**OUTPUT**

## findPathway

** ****public Pathway[] findPathway(String ****disease****, String ****organ****)**** {**
**  **
**  ****DiseaseSearchCriteria diseaseCriteria = **
**                            ****new DiseaseSearchCriteria();  **
**  ****OrganSearchCriteria organCriteria = **
**                            ****new OrganSearchCriteria(); **
**  ****HistopathologySearchCriteria histoCriteria = **
**                            ****new HistopathologySearchCriteria();**
**  ****GeneSearchCriteria geneCriteria = **
**                            ****new GeneSearchCriteria();**
**  ****PathwaySearchCriteria ****pathCriteria**** = **
**                            ****new PathwaySearchCriteria();**
**  **

- Input disease, organ; create *SearchCriteria* Objects:

## findPathway (cont’d)

**.**
**diseaseCriteria.setName(****disease****);**
**organCriteria.setName(****organ****);**
**  **
**histoCriteria.putSearchCriteria(diseaseCriteria,CriteriaElement.AND);**
**histoCriteria.putSearchCriteria(organCriteria, CriteriaElement.AND);**
**  **
**geneCriteria.putSearchCriteria(histoCriteria, CriteriaElement.AND);**
**  **
**pathCriteria****.putSearchCriteria(geneCriteria, CriteriaElement.AND);**
**Pathway myPathway = new Pathway();**
**myPathwayList = myPathway.searchPathways(****pathCriteria****);**
**}**

- Nest the *SearchCriteria*, then do the search:

## Web Services: SOAP

## SOAP API

**use SOAP::Lite;**
**$s = SOAP::Lite**
**  ****->uri(urn:nci-gene-service)**
**  ****->proxy("http:caBIO.nci.nih.gov/soap/servlet/rpcrouter");**
**my %****searchCriteria****=();**
**$searchCriteria{symbol}=“****PTEN****”;**
**$som=$s->****getGenes****(SOAP::Data->type(map =>\%****searchCriteria****));**
**$xmldoc = $som->result;**

**Perl Example**

## HTTP API

- Two types of HTTP methods:

**http://cabio.nci.nih.gov:80/servlet/GetXML**
**       ****?****operation****=****Gene****&****Symbol****=****PTEN**

**Class**

**Attribute**

**Value**

**http://cabio.nci.nih.gov:80/servlet/GetXML?****query****=****Sequence****&****crit_genes_id****=****25499**

**Class**

**Related Class**
**Attribute**

**Value**

## caBIO XML output

- caBIO XML is serialized objects

## http://cmap.nci.nih.gov

## BIOgopher

-  Map local data to queries and results without programming
-  MS Excel format

- http://biogopher.nci.nih.gov

## Professional Documentation

## caCORE Team

**EVS**
- Frank Hartel
- Sherri De Coronado
- Gilberto Fragoso
- Margaret Haber
- Larry Wright
*Kevric Corporation*
*Apelon, Inc.*

**caDSR**
- Denise Warzel
- NCI Division Partners
*Oracle Corporation*
*ScenPro, Inc.*
*EMMES, Inc.*

**caBIO**
- Tara Akhavan
- Himanso Sahni
- Mike Connelly
*SAIC*

**NCICB**
- Ken Buetow
- Sue Dubman
- John Qu

## caCORE Availability

- http://ncicb.nci.nih.gov/core
- caCORE Release Schedule
- ver. 1.0 August 2002
-       1.1 February 2003
-       1.2 June 2003
-       2.0 October 2003
-       2.1 May 2004