# Presentation: 071726

##  Grid-Enablement of Protein Information Resource (PIR) caBIG ICR Face-to-Face Workspace Columbia University, Irving Cancer Research Center January 26-27, 2006

- Baris Ethem Suzek
- Georgetown University –
- Lombardi Cancer Center – PIR
- bes23@georgetown.edu

- Craig Street
- University of Pennsylvania –
-  Biomedical Informatics Facility
- street@mail.med.upenn.edu

## Outline

- Introduction PIR/BMIF
- Data Model
- Overview of the Grid-Enablement of Protein Information Resource
- Demo/Screenshots API/caGRID Browser
- Acknowledgements

## Introduction - PIR

- Protein Information Resource (PIR): Integrated Protein Informatics Resource for Genomic/Proteomic Research

- UniProt Universal Protein Resource: Central Resource of Protein Sequence and Function
- PIRSF Family Classification System: Protein Classification and Functional Annotation
- iProClass Integrated Protein Knowledgebase: Data Integration and Functional Analysis

- http://pir.georgetown.edu

## Introduction - PIR

- UniProt: Universal Protein Resource - Central Resource of Protein Sequence and Function

- International Consortium
- PIR at GUMC
- European Bioinformatics Institute (EBI)
- Swiss Institute of Bioinformatics (SIB)
- Unifies PIR-PSD, Swiss-Prot, TrEMBL Protein Sequence Databases

- http://www.uniprot.org

## Introduction - PIR

- UniProt Databases

- Primary data source for Grid-Enablement of PIR

## Project Overview

- Grid-Enablement of PIR project is a data service
- Developer: PIR @ Georgetown University
- Adopter: BMIF @ University of Pennsylvania
- All the objects in our model exposed to the grid
- API is developed using caCORE SDK 1.0.3.1
- All the PIR and UniProt databases are public => no security layers implemented

## Data Model

- Protein/Gene related objects

## Data Model

- Annotation related objects: Protein Features

## Data Model

- Taxonomy related objects (Proposed as Taxonomy CDE)

## Demo and/or Screenshots - API (Example 1)

- Purpose of the script:  Rudimentary ID Mapper
- 	Find Corresponding PIR Database Cross Reference ID(s) that match EMBL *M15034*
- Test Script
**	****public void Demo1_DBXR2DBXR_Reports()** {
- 	try{
- 		DatabaseCrossReference source = new DatabaseCrossReferenceImpl();
- 		final String id = "**M15034**";
- 		source.setCrossReferenceId(id);
- 		source.setDataSourceName("**EMBL**");
- 		final String answer = "**PIR**";
- 		log.info("Find all PIR Database Cross Reference ids that match EMBL id : " + id +");
- 	try {
- 		String path = "edu.georgetown.pir.domain.DatabaseCrossReference," +
- 		"edu.georgetown.pir.domain.Protein";
- 		List resultList = appService.search(path, source);
- 		log.info("Size: " + resultList.size());
- 		for( Iterator it = resultList.iterator(); it.hasNext();){
- 			DatabaseCrossReference dbref = (DatabaseCrossReference)it.next();
- 			//  Show a Result if Match Found
- 			if (answer.equalsIgnoreCase(dbref.getDataSourceName())) {
- 			log.info( "\t" + dbref.getDataSourceName() + "===>" + dbref.getCrossReferenceId());
- 			}
- 		}

## Demo and/or Screenshots – API (Example 1)

- Expected Response:

## Demo and/or Screenshots - API (Example 2)

- Purpose of the script:  Return all Organisms Containing your Favorite Protein of Interest
- 	Find all Organisms having a Protein Named *Transferrin receptor protein 1*
- Test Script
- 	**public void Demo2_TestProtein2Organism()** {
- 		ProteinName source = new ProteinNameImpl();
- 		final String id = Transferrin receptor protein 1";
- 		source.setValue(id);
- 		log.info("######## Find all Organisms which have Protein Name : " + id + "  ########");
- 		log.info("COMMON NAME" + "\t\t" + "SCIENTIFIC NAME");
- 		try {
- 			String path = "edu.georgetown.pir.domain.Organism," +
- 			"edu.georgetown.pir.domain.Protein,";
- 			List resultList = appService.search(path, source);
- 			for( Iterator it = resultList.iterator(); it.hasNext();){
- 				Organism organism = (OrganismImpl)it.next();
- 				log.info(organism.getCommonName()+
- 				"\t\t"+organism.getScientificName());
- 			}
- 			log.info("Size: " + resultList.size());

## Demo and/or Screenshots – API (Example 2)

- Expected Response:

## Demo and/or Screenshots - API (Example 3)

- Purpose of the script:  Need to Identify Protein with Known Molecular Weight from Proteomics Experiment
- 	Find all Proteins with a Molecular Weight of 26266 Daltons
- Test Script
**	**
**	****public void Demo3_ProteinMeolcularWeight() {**
- 		try{
- 			ProteinSequence object = new ProteinSequenceImpl();
- 			final Integer id = new Integer(26266) ;
- 			object.setMolecularWeightInDaltons(id);
- 			log.info("######## Find all Proteins which have a Molecular Weight in Daltons of " + id + ".  ########");
- 			try {
- 				List resultList = appService.search(Protein.class, object);
- 				for( Iterator it = resultList.iterator(); it.hasNext();){
- 					Protein protein = (ProteinImpl)it.next();
- 					List seqs = appService.search(ProteinSequence.class, protein);
- 					for(Iterator i=seqs.iterator(); i.hasNext();){
- 						ProteinSequence seq = (ProteinSequence)i.next();
- 						 log.info(protein.getUniprotkbEntryName()+"\t\t" + seq.getMolecularWeightInDaltons());
- 					}
- 				}

## Demo and/or Screenshots – API (Example 3)

- Expected Response:

## Demo and/or Screenshots – caGRID Browser

- Retrieve the proteins  for gene “BRCA2” (Breast Cancer Gene 2)
**<caBIGXMLQuery name="testGene2Protein">**
**  ****<Target name="****edu.georgetown.pir.domain.Protein****“>**
**    ****<Objects name="****edu.georgetown.pir.domain.Gene****">**
**       ****<Property name=“****name****“ predicate="equal” value=“****BRCA2****"/>**
**    ****</Objects>**
**  ****</Target>**
**</caBIGXMLQuery>**

## Demo and/or Screenshots – caGRID Browser

- Retrieve the proteins  for gene “BRCA2” (Breast Cancer Gene 2) [RESPONSE]
**<gridDataServiceResponse xmlns="http://ogsadai.org.uk/namespaces/2003/07/gds/types">**
**......****.**
**  ****<uniprotkbPrimaryAccession>O35923</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>BRCA2_RAT</uniprotkbEntryName>**
**......**
** ****<uniprotkbPrimaryAccession>P51587</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>BRCA2_HUMAN</uniprotkbEntryName>**
**.....**
** ****<value>MPIGSKERPTFFEIFKTRCNKADLGPISLNWFEELSSEAPPYNSEPAEES**
**EHKNNNYEPNLFKTPQRKPSYNQLASTPIIFKEQGLTLPLYQSPVKELDK...**
**...****..**
** ****<uniprotkbPrimaryAccession>P97929</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>BRCA2_MOUSE</uniprotkbEntryName>**
**...****..**
**	****</edu.georgetown.pir.domain.impl.ProteinImpl>]]></result>**
**</gridDataServiceResponse>**

## Demo and/or Screenshots – caGRID Browser

- Find all the proteins that contain the domain “BRCA2 repeat”  (PFAM:PF00634, a domain in Breast cancer type 2 susceptibility protein)
**<caBIGXMLQuery name="testPfam2Protein">**
**   ****<Target name=“****edu.georgetown.pir.domain.Protein****”>**
**          ****<Objects name="****edu.georgetown.pir.domain.DatabaseCrossReference****">**
**              ****<Property name="****crossReferenceId****" predicate="equal" value="****PF00634****"/>**
**          ****</Objects>**
**      ****</Target>**
**</caBIGXMLQuery>**

## Demo and/or Screenshots – caGRID Browser

- Find all the proteins that contain the domain “BRCA2 repeat”  (PFAM:PF00634, a domain in Breast cancer type 2 susceptibility protein) [RESPONSE]
**<gridDataServiceResponse xmlns="http://ogsadai.org.uk/namespaces/2003/07/gds/types">**
**...****..**
**  ****<uniprotkbPrimaryAccession>O35923</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>BRCA2_RAT</uniprotkbEntryName>**
**...****..**
**  ****<uniprotkbPrimaryAccession>P51587</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>BRCA2_HUMAN</uniprotkbEntryName>**
**...****.**
**  ****<uniprotkbPrimaryAccession>P70098</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>Q5TBJ7_HUMAN</uniprotkbEntryName>**
** ...****.**
**  ****<uniprotkbPrimaryAccession>Q7RG20</uniprotkbPrimaryAccession>**
**  ****<uniprotkbEntryName>Q7RG20_PLAYO</uniprotkbEntryName>**
**...****.**
**</gridDataServiceResponse>**

## Demo and/or Screenshots – caGRID Browser

- ID mapping: Find all the database cross-references from various databases corresponding to RefSeq Accession NP_061820
**<caBIGXMLQuery name="testIDMapping">**
** ****<Target name="****edu.georgetown.pir.domain.DatabaseCrossReference****“ path=“****edu.georgetown.pir.domain.Protein”****>**
**   ****<Objects name="****edu.georgetown.pir.domain.DatabaseCrossReference****">**
**    ****<Property name="****dataSourceName****" predicate="equal"  value="****RefSeq****"/>**
**    ****<Property name="****crossReferenceId****" predicate="equal" value="****NP_061820****"/>**
**   ****</Objects>**
**</Target>**
**</caBIGXMLQuery>**

## Demo and/or Screenshots – caGRID Browser

- ID mapping: Find all the database cross-references from various databases corresponding to RefSeq Accession NP_061820
**<gridDataServiceResponse xmlns="http://ogsadai.org.uk/namespaces/2003/07/gds/types">**
**...****.**
** ****<dataSourceName>EMBL</dataSourceName>**
** ****<crossReferenceId>M22877</crossReferenceId>**
**...****.**
**<dataSourceName>PIR</dataSourceName>**
**<crossReferenceId>CCHU</crossReferenceId>**
**...****.**
** ****<dataSourceName>GenPept</dataSourceName>**
**  ****<crossReferenceId>AAH09579</crossReferenceId>**
**...****.**
** ****<dataSourceName>NCBI GI</dataSourceName>**
**  ****<crossReferenceId>14250124</crossReferenceId>**
**	****...****.**
**<gridDataServiceResponse>**

## Acknowledgements

**Georgetown University **
- Cathy Wu (Faculty Lead)
- Hongzhan Huang (Chief Architect)
- Peter McGarvey (Domain Expert)
- Baris Suzek (Project Manager)
- Sehee Chung (SW Developer)
- Hsing-Kuo Hua (DB Developer)
- Jess Cannata (System Admin)
- Robert Clarke
- Steve Moore
- Arnie Miles
**Panther Informatics**
- Brian Gilman (Consultant)

**University of Pennsylvania - BMIF**
- David Fenstermacher
- Craig Street
- Vishal Nayak
- Casey Overby

**NCI Center for Bioinformatics**
- Peter Covitz
- George Komatsoulis
- Avinash Shanbhag
- Tara Akhavan
- William Sanchez
- Manav Kher
- Jijin Yan
- Clarie Wolfe
- Nicole Thomas
- Himanso Sahni
- Jennifer Zeng
- Nafis Zebarjani

**3rd Millenium**
- Juli Klemm
- Brian Davis
**BAH**
- Mark Adams
- Arumani Manisundaram