SlideShare uma empresa Scribd logo
1 de 35
Quality Network Analysis
Quickly and Cheaply
Cytoscape Cyberinfrastructure
Chapter 2
ISMB/NetBioSIG 2016
Orlando, Florida
July 8, 2016
Keiichiro Ono, Eric Sage & Barry Demchak
Ideker Lab
1
Problems and Solutions
 Creating (Network Biology) Software is slow
and expensive
 We want
 Novel and reproducible workflows
 Mature standardized workflows
 Sharable networks, workflows, and results
 More memory, processors & storage
 Cytoscape Cyberinfrastructure (CI)
 Distributed microservice-based architecture
2
What I Hope to Convey Today
 How to build network biology workflows
• Using reusable components (*** God reuses code!)
• Computational
• Storage
• User interface
• Coordinate with Cytoscape, NDEx, and other
NB assets
 How to build reusable components
 Useful from Cytoscape and other programs
 The “reuse party” is worth coming to! 3
Imagine Your New Application
4Enriched Networks
Putative drivers
Where are we now?
 Python + Jupyter, R + RStudio, Matlab
 General functionality, agile, shareable code,
reproducible workflows
 Young analysis/viz, data silos, short jobs, no scaling
 Cytoscape / NDEx / cyREST / cytoscape.js
 Mature, extensible, shareable networks
 Non-agile, no scaling, non-reproducible
 Taverna / Galaxy
 Mature, reproducible workflows, big data
 Non-agile, data silos
 GenomeSpace, GenePattern … 5
Cytoscape CI Microservice Approach
Network Biology Services
6
Computation Storage
Workflow Visualization
Analysis
Layout
App Service
Message Bus (REST/Internet)
Return(yyy)
Calculate(xxx)
Calculate(xxx)
Return(yyy)
1 2 34
What is a Microservice?
App Service
Return(yyy)
Calculate(xxx)
Time
7
 Late Binding
 Scalability
 Reusability
 Language choice
Partial Workflow
8
Selection/
Enrichment
Application
Relevance
Service
NDEx Network
Database
Node List Query
Network List
Prioritized
Network List
Services in Action – Cytoscape as Service
Jupyter application calls Cytoscape/cyREST
as a service for visualizing networks
9
Send Network
Send Styles cyREST / Cytoscape
(Click here for video showing Jupyter creating network in Cytoscape)
Important Considerations
 How do I call or build a service?
 What (actually) is being exchanged?
 Where does the service run?
 What if your service becomes popular?
 How to do create a good service?
 What if your service is too slow?
 What if your service is buggy? 10
Anatomy of a Service Call
11
Send Network
Send Styles
cyREST /
Cytoscape
igraph
py2cytoscape
igraph2CX
model.impl
CX.impl
cyREST
cyREST1 / Internet
CX encode/decode
Local network model
App ServiceCI
1http://www.ncbi.nlm.nih.gov/pubmed/26672762
Making Your Service Real
1. Create function
 Python, R, Go, Java …
2. Add REST wrapper
 Eve, OpenCPU, GoRilla, Jersey…
3. Add client call using REST
12
Function
Data CX
REST
Function
Data CX
App
CX
REST
Function
Data CXData
REST
More later … Network + params
on server
Important Considerations
 How do I call or build a service?
 What (actually) is being exchanged?
 Where does the service run?
 What if your service becomes popular?
 What if your service is too slow?
 What if your service is buggy?
 How to do you test your service? 13
CX Transfer Format
1
3 2
Example Graph
4
5
nodes Aspect
edges Aspect
cartesianLayout Aspect
Aspect Relationships
Organizes
Positions
ID=1 ID=2 ID=3
nodes Aspect (3 nodes)
edges Aspect (2 edges)
Source Target Source TargetID=4 ID=5
cartesianLayout Aspect
X=100 Y=100ID X=200 Y=200ID X=100 Y=200ID
CX Encoding
14
X
X
Benefits
 Streamable (large networks)
 Lossless (BioPAX, SGML, OpenBEL…)
 Extensible (new aspects)
 Transfers only aspects of interest
 Community, community, community
A CX Snippet
[
{"nodes": [{"@id": "_:1"}, {"@id": "_:2"}]},
{"edges": [{"source": "_:1", "@id": "_:4", "target": "_:2"}]},
{"cartesianLayout": [{"x": "100", "node": "_:1", "y": "100"}]},
{"cartesianLayout": [{"x": "200", "node": "_:2", "y": "300"}]},
{"nodes": [{"@id": "_:3"}]},
{"edges": [{"source": "_:2", "@id": "_:5", "target": "_:3"}]},
{"cartesianLayout": [{"x": "100", "node": "_:3", "y": "200"}]}
]
15
Important Considerations
 How do I call or build a service?
 What (actually) is being exchanged?
 Where does the service run?
 What if your service becomes popular?
 How to do create a good service?
 What if your service is too slow?
 What if your service is buggy? 16
Deploying, Scaling, Speeding Up
17
App
CX Data
REST
REST
Function
Data CX
 Your Server
 Amazon
 NRNB Servers
Deploying, Scaling, Speeding Up
18
App
CX Data
REST
REST
Function
Data CX
 Your Server
 Amazon
 NRNB Servers
REST
Function
Data CX
REST
Function
Data CX
REST
Function
Data CX
Elsa
REST
Function
Data CX
…
 Other servers
Important Considerations
 How do I call or build a service?
 What (actually) is being exchanged?
 Where does the service run?
 What if your service becomes popular?
 How to do create a good service?
 What if your service is too slow?
 What if your service is buggy? 19
App Tests
CX Data
REST
App Tests
CX Data
RESTTests
CX Data
Development Model
20
Step 1: Step 2:
Step 3:
Function
Data CX
App Tests
CX Data
Function
Data CX
Function
Data CX
REST
Function
Data CX
REST
Elsa
Function
Data CX
REST
Step 4:
Important Considerations
 How do I call or build a service?
 What (actually) is being exchanged?
 Where does the service run?
 What if your service becomes popular?
 How to do create a good service?
 What if your service is too slow?
 What if your service is buggy? 21
CyComponents - Embeded UI Services
 Embeddable in Web apps and Cytoscape apps
 GUI front end to services
 Builds on
 Cytoscape.js network display library
 BioJS libraries
 Other widgets
 Based on Facebook’s React framework
 Simple to build
 Simple to incorporate into apps
22
Reusing CyComponents is Easy
23
 Can be used from Cytoscape app or Web app
function init(loginInfo) {
const cyto = CyFramework.config([NDExStore]);
cyto.render(NDExLogin, document.getElementById('valet'), {
defaults: loginInfo,
onSubmit: () => {
const state = cyto.getStore('ndex').server.toJS();
connect(state);}
});
}
CyComponents in Action
24
NDEx Valet CyComponent in NDEx web site
CyComponents in Action
NDEx web site calls NDEx database using
NDEx Valet CyComponent
25
Send Query
Return NetList
Get Network
Return Network
NDEX Valet is also a part of a Cytoscape app
that loads NDEx networks into Cytoscape
Services in Action – Cytoscape + NDEx
Cytoscape calls cyNDEx app to load network,
cyNDEX uses NDEx Valet to call NDEx
26
Send Query
Return NetList
Get Network
Return Network
Choose Networks
Send Networks
cyREST /
Cytoscape
(Click here for video showing NDEx Valet creating network in Cytoscape)
Publishing of the Future … as CI
27
Publishing of the Future … as CI
28
Cytoscape Cyberinfrastructure (CI)
30
Clustering
Cytoscape
NDEx
Layouts · R · Java ·
· Python ·
· Matlab ·
Science
Direct
Additional services:
• Heat Dissipation
• NDEx GUI Interface
• ID Translation
• Network viewers
… many more!
Services/apps interact
via Internet-based
messaging
Support
 National Resource for Network Biology (NRNB)
 Supports software and staging hardware
 Pharma & NCI support NDEx
 Elsevier
 All sources open and on GitHub
31
Call to Community
 App authorshipCytoscape community thrives
 Pride of authorship, listing in App Store
 Tangible realization of useful research
 Valuable workflows for all to use
 Publishable results (e.g., F1000)
 CI community inherits all of these! … but also:
 More direct path from algorithm to useful code
 Wider audience
 Easier coding & dissemination
 Better coding practices
 More resources
32
More Information
bdemchak@ucsd.edu
Reading List
 http://martinfowler.com/articles/microservices.html
 http://home.ndexbio.org/about-ndex-2
 http://idekerlab.github.io/cy-net-share
 Lincoln Stein. Towards a cyberinfrastructure for the biological
sciences: progress, visions and challenges.
http://www.nature.com/nrg/journal/v9/n9/full/nrg2414.html
 Barry Demchak, et al. PALMS: A Modern Coevolution of Community
and Computing Using Policy Driven Development.
https://sosa.ucsd.edu/ResearchCentral/view.jsp?id=203
 Stephen Goff, et al. The iPlant collaborative: cyberinfrastructure for
plant biology.
http://journal.frontiersin.org/article/10.3389/fpls.2011.00034/pdf
33
End of Deck
 Backup slides are beyond here
34
Existing Ecosystem
 Visual Workflow Systems
 Taverna & Galaxy – high level orchestration
 MyExperiment – sharing workflows
 Service Repositories
 BioCatalogue
 General programming languages & tools
 Python, R, Java, Matlab, IPython/Jupyter
 Network Analysis & Visualization
 Cytoscape & cytoscape.js
 GeneMANIA
 Cytoscape Cyberinfrastructure (?)
++ - - ++
++ - - ++
++
+ ++ + -
+ + ++ -
+ - +
++ ++ ++ ++
35
CX Timings
 Using Human network (18K nodes, 127K edges)
 CX output around 150MB
 Timings exclude accessing Cytoscape data
model – Cytoscape data model increases
timings by 2-4x
36
Aspect Read (ms) Write (ms)
Nodes 6 3
Edges 97 51
NodeAttrs 77 58
EdgeAttrs 1289 1077

Mais conteúdo relacionado

Mais procurados

Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Lightbend
 
Cloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons LearnedCloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons Learned
Kai Wähner
 

Mais procurados (20)

Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday Bahrain ch9 introduction to docker 5th birthday
Bahrain ch9 introduction to docker 5th birthday
 
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
Using the Actor Model with Domain-Driven Design (DDD) in Reactive Systems - w...
 
Cloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons LearnedCloud Native Middleware Microservices - 10 Lessons Learned
Cloud Native Middleware Microservices - 10 Lessons Learned
 
Paolo Kreth - Persistence layers for microservices – the converged database a...
Paolo Kreth - Persistence layers for microservices – the converged database a...Paolo Kreth - Persistence layers for microservices – the converged database a...
Paolo Kreth - Persistence layers for microservices – the converged database a...
 
microXchg 2018: "What is a Service Mesh? Do I Need One When Developing 'Cloud...
microXchg 2018: "What is a Service Mesh? Do I Need One When Developing 'Cloud...microXchg 2018: "What is a Service Mesh? Do I Need One When Developing 'Cloud...
microXchg 2018: "What is a Service Mesh? Do I Need One When Developing 'Cloud...
 
Kick starting Network Automation
Kick starting Network AutomationKick starting Network Automation
Kick starting Network Automation
 
How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...
How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...
How to Measure DevRel's Perfomances: From Community to Business - Channy Yun ...
 
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
Serverless real use cases and best practices: Asavari Tayal, Microsoft, Serve...
 
Api more than payload (2021 Update)
Api more than payload (2021 Update)Api more than payload (2021 Update)
Api more than payload (2021 Update)
 
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...Faster deep learning solutions from training to inference - Amitai Armon & Ni...
Faster deep learning solutions from training to inference - Amitai Armon & Ni...
 
Azure Digital Twins 2.0
Azure Digital Twins 2.0Azure Digital Twins 2.0
Azure Digital Twins 2.0
 
Andrea Ulisse - How to build a scalable serverless IoT architecture on GCP - ...
Andrea Ulisse - How to build a scalable serverless IoT architecture on GCP - ...Andrea Ulisse - How to build a scalable serverless IoT architecture on GCP - ...
Andrea Ulisse - How to build a scalable serverless IoT architecture on GCP - ...
 
How to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with JavaHow to develop your first cloud-native Applications with Java
How to develop your first cloud-native Applications with Java
 
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud FunctionsBuilding serverless applications with Apache OpenWhisk and IBM Cloud Functions
Building serverless applications with Apache OpenWhisk and IBM Cloud Functions
 
Nagios Conference 2007
Nagios Conference 2007Nagios Conference 2007
Nagios Conference 2007
 
Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox Defend against adversarial AI using Adversarial Robustness Toolbox
Defend against adversarial AI using Adversarial Robustness Toolbox
 
Enterprise Software Architecture styles
Enterprise Software Architecture stylesEnterprise Software Architecture styles
Enterprise Software Architecture styles
 
OpenDaylight app development tutorial
OpenDaylight app development tutorialOpenDaylight app development tutorial
OpenDaylight app development tutorial
 
Netflix - 40 msec
Netflix - 40 msecNetflix - 40 msec
Netflix - 40 msec
 
Webinar: Cutting Time, Complexity and Cost from Data Science to Production
Webinar: Cutting Time, Complexity and Cost from Data Science to ProductionWebinar: Cutting Time, Complexity and Cost from Data Science to Production
Webinar: Cutting Time, Complexity and Cost from Data Science to Production
 

Destaque (12)

Patrimonio Cultural de America 2
Patrimonio Cultural de America 2Patrimonio Cultural de America 2
Patrimonio Cultural de America 2
 
Feira de Conhecimento / Plásticos
Feira de Conhecimento / Plásticos Feira de Conhecimento / Plásticos
Feira de Conhecimento / Plásticos
 
Evaluation q2
Evaluation q2Evaluation q2
Evaluation q2
 
Mosaico n.02 legge 128
Mosaico n.02 legge 128Mosaico n.02 legge 128
Mosaico n.02 legge 128
 
Búsqueda de información en google
Búsqueda de información en googleBúsqueda de información en google
Búsqueda de información en google
 
PUBLICAR UN DOCUMENTO EN SCRIBD Y AGREGARLO A TU BLOG
PUBLICAR UN DOCUMENTO EN SCRIBD Y AGREGARLO A TU BLOGPUBLICAR UN DOCUMENTO EN SCRIBD Y AGREGARLO A TU BLOG
PUBLICAR UN DOCUMENTO EN SCRIBD Y AGREGARLO A TU BLOG
 
Article 507 EPN April 08
Article 507 EPN April 08Article 507 EPN April 08
Article 507 EPN April 08
 
Mundo fantastico
Mundo fantasticoMundo fantastico
Mundo fantastico
 
Screen shots for contents
Screen shots for contentsScreen shots for contents
Screen shots for contents
 
семьеведенье
семьеведеньесемьеведенье
семьеведенье
 
Bahasa Malaysia Tahun 3 PAT kssr2016
Bahasa Malaysia Tahun 3 PAT kssr2016Bahasa Malaysia Tahun 3 PAT kssr2016
Bahasa Malaysia Tahun 3 PAT kssr2016
 
Kertas soalan pendidikan moral t2
Kertas soalan pendidikan moral t2Kertas soalan pendidikan moral t2
Kertas soalan pendidikan moral t2
 

Semelhante a Cytoscape CI Chapter 2

Cytoscape ci chapter 1
Cytoscape ci chapter 1Cytoscape ci chapter 1
Cytoscape ci chapter 1
bdemchak
 
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford ConsortiumSDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
Keiichiro Ono
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
Cisco DevNet
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
Divya Watson
 

Semelhante a Cytoscape CI Chapter 2 (20)

What's New in Cytoscape
What's New in CytoscapeWhat's New in Cytoscape
What's New in Cytoscape
 
SoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration TechnologySoC Keynote:The State of the Art in Integration Technology
SoC Keynote:The State of the Art in Integration Technology
 
Cytoscape ci chapter 1
Cytoscape ci chapter 1Cytoscape ci chapter 1
Cytoscape ci chapter 1
 
Aw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymerAw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymer
 
Cytoscape: Now and Future
Cytoscape: Now and FutureCytoscape: Now and Future
Cytoscape: Now and Future
 
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford ConsortiumSDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
SDCSB CYTOSCAPE AND NETWORK ANALYSIS WORKSHOP at Sanford Consortium
 
Microservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native AppsMicroservices Architecture - Cloud Native Apps
Microservices Architecture - Cloud Native Apps
 
Rethinking enterprise architecture for DevOps, Agile, and cloud native organi...
Rethinking enterprise architecture for DevOps, Agile, and cloud native organi...Rethinking enterprise architecture for DevOps, Agile, and cloud native organi...
Rethinking enterprise architecture for DevOps, Agile, and cloud native organi...
 
Microservices Corporate Style
Microservices Corporate StyleMicroservices Corporate Style
Microservices Corporate Style
 
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation EcosystemHow APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
How APIs are Transforming Cisco Solutions and Catalyzing an Innovation Ecosystem
 
Do You Need A Service Mesh?
Do You Need A Service Mesh?Do You Need A Service Mesh?
Do You Need A Service Mesh?
 
AF-2599-P.docx
AF-2599-P.docxAF-2599-P.docx
AF-2599-P.docx
 
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
Microservices, Node, Dapr and more - Part One (Fontys Hogeschool, Spring 2022)
 
2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice2016 - 10 questions you should answer before building a new microservice
2016 - 10 questions you should answer before building a new microservice
 
CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018CNCF Introduction - Feb 2018
CNCF Introduction - Feb 2018
 
DevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to HabitatDevOps LA Meetup Intro to Habitat
DevOps LA Meetup Intro to Habitat
 
Microservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration PatternsMicroservices Architecture, Monolith Migration Patterns
Microservices Architecture, Monolith Migration Patterns
 
Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!Enabling application portability with the greatest of ease!
Enabling application portability with the greatest of ease!
 
Spring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - BostonSpring and Pivotal Application Service - SpringOne Tour - Boston
Spring and Pivotal Application Service - SpringOne Tour - Boston
 
The Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios EssayThe Architecture Of Software Defined Radios Essay
The Architecture Of Software Defined Radios Essay
 

Mais de bdemchak

The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
bdemchak
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
bdemchak
 

Mais de bdemchak (20)

Cytoscape Network Visualization and Analysis
Cytoscape Network Visualization and AnalysisCytoscape Network Visualization and Analysis
Cytoscape Network Visualization and Analysis
 
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
The New CyREST: Economical Delivery of Complex, Reproducible Network Biology ...
 
Cytoscape Cyberinfrastructure
Cytoscape CyberinfrastructureCytoscape Cyberinfrastructure
Cytoscape Cyberinfrastructure
 
No More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables InteroperabilityNo More Silos! Cytoscape CI Enables Interoperability
No More Silos! Cytoscape CI Enables Interoperability
 
Composable Chat Introduction
Composable Chat IntroductionComposable Chat Introduction
Composable Chat Introduction
 
Rich Services: Composable chat
Rich Services: Composable chatRich Services: Composable chat
Rich Services: Composable chat
 
Ucsd tum workshop bd
Ucsd tum workshop bdUcsd tum workshop bd
Ucsd tum workshop bd
 
Rich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMSRich Feeds for RESCUE and PALMS
Rich Feeds for RESCUE and PALMS
 
Iscram 2008 presentation
Iscram 2008 presentationIscram 2008 presentation
Iscram 2008 presentation
 
Rich feeds policy, the cloud, and CAP
Rich feeds   policy, the cloud, and CAPRich feeds   policy, the cloud, and CAP
Rich feeds policy, the cloud, and CAP
 
Rich services to the Rescue
Rich services to the RescueRich services to the Rescue
Rich services to the Rescue
 
Hicss 2012 presentation
Hicss 2012 presentationHicss 2012 presentation
Hicss 2012 presentation
 
Policy 2012 presentation
Policy 2012 presentationPolicy 2012 presentation
Policy 2012 presentation
 
Rich feeds for rescue an integration story
Rich feeds for rescue   an integration storyRich feeds for rescue   an integration story
Rich feeds for rescue an integration story
 
Background scenario drivers and critical issues with a focus on technology ...
Background   scenario drivers and critical issues with a focus on technology ...Background   scenario drivers and critical issues with a focus on technology ...
Background scenario drivers and critical issues with a focus on technology ...
 
Rich feeds for rescue, palms cyberinfrastructure integration stories
Rich feeds for rescue, palms cyberinfrastructure   integration storiesRich feeds for rescue, palms cyberinfrastructure   integration stories
Rich feeds for rescue, palms cyberinfrastructure integration stories
 
Data quality and uncertainty visualization
Data quality and uncertainty visualizationData quality and uncertainty visualization
Data quality and uncertainty visualization
 
Web programming in clojure
Web programming in clojureWeb programming in clojure
Web programming in clojure
 
Structure and interpretation of computer programs modularity, objects, and ...
Structure and interpretation of computer programs   modularity, objects, and ...Structure and interpretation of computer programs   modularity, objects, and ...
Structure and interpretation of computer programs modularity, objects, and ...
 
Requirements engineering from system goals to uml models to software specif...
Requirements engineering   from system goals to uml models to software specif...Requirements engineering   from system goals to uml models to software specif...
Requirements engineering from system goals to uml models to software specif...
 

Último

Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
PirithiRaju
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
RizalinePalanog2
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Sérgio Sacani
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
PirithiRaju
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
ssuser79fe74
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
Areesha Ahmad
 

Último (20)

❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
❤Jammu Kashmir Call Girls 8617697112 Personal Whatsapp Number 💦✅.
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdfPests of cotton_Sucking_Pests_Dr.UPR.pdf
Pests of cotton_Sucking_Pests_Dr.UPR.pdf
 
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptxSCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
SCIENCE-4-QUARTER4-WEEK-4-PPT-1 (1).pptx
 
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
Vip profile Call Girls In Lonavala 9748763073 For Genuine Sex Service At Just...
 
Zoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdfZoology 4th semester series (krishna).pdf
Zoology 4th semester series (krishna).pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
Pests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdfPests of mustard_Identification_Management_Dr.UPR.pdf
Pests of mustard_Identification_Management_Dr.UPR.pdf
 
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
High Profile 🔝 8250077686 📞 Call Girls Service in GTB Nagar🍑
 
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceuticsPulmonary drug delivery system M.pharm -2nd sem P'ceutics
Pulmonary drug delivery system M.pharm -2nd sem P'ceutics
 
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
Feature-aligned N-BEATS with Sinkhorn divergence (ICLR '24)
 
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptxCOST ESTIMATION FOR A RESEARCH PROJECT.pptx
COST ESTIMATION FOR A RESEARCH PROJECT.pptx
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
Chemical Tests; flame test, positive and negative ions test Edexcel Internati...
 
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
High Class Escorts in Hyderabad ₹7.5k Pick Up & Drop With Cash Payment 969456...
 
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICESAMASTIPUR CALL GIRL 7857803690  LOW PRICE  ESCORT SERVICE
SAMASTIPUR CALL GIRL 7857803690 LOW PRICE ESCORT SERVICE
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Conjugation, transduction and transformation
Conjugation, transduction and transformationConjugation, transduction and transformation
Conjugation, transduction and transformation
 
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
TEST BANK For Radiologic Science for Technologists, 12th Edition by Stewart C...
 

Cytoscape CI Chapter 2

  • 1. Quality Network Analysis Quickly and Cheaply Cytoscape Cyberinfrastructure Chapter 2 ISMB/NetBioSIG 2016 Orlando, Florida July 8, 2016 Keiichiro Ono, Eric Sage & Barry Demchak Ideker Lab 1
  • 2. Problems and Solutions  Creating (Network Biology) Software is slow and expensive  We want  Novel and reproducible workflows  Mature standardized workflows  Sharable networks, workflows, and results  More memory, processors & storage  Cytoscape Cyberinfrastructure (CI)  Distributed microservice-based architecture 2
  • 3. What I Hope to Convey Today  How to build network biology workflows • Using reusable components (*** God reuses code!) • Computational • Storage • User interface • Coordinate with Cytoscape, NDEx, and other NB assets  How to build reusable components  Useful from Cytoscape and other programs  The “reuse party” is worth coming to! 3
  • 4. Imagine Your New Application 4Enriched Networks Putative drivers
  • 5. Where are we now?  Python + Jupyter, R + RStudio, Matlab  General functionality, agile, shareable code, reproducible workflows  Young analysis/viz, data silos, short jobs, no scaling  Cytoscape / NDEx / cyREST / cytoscape.js  Mature, extensible, shareable networks  Non-agile, no scaling, non-reproducible  Taverna / Galaxy  Mature, reproducible workflows, big data  Non-agile, data silos  GenomeSpace, GenePattern … 5
  • 6. Cytoscape CI Microservice Approach Network Biology Services 6 Computation Storage Workflow Visualization Analysis Layout
  • 7. App Service Message Bus (REST/Internet) Return(yyy) Calculate(xxx) Calculate(xxx) Return(yyy) 1 2 34 What is a Microservice? App Service Return(yyy) Calculate(xxx) Time 7  Late Binding  Scalability  Reusability  Language choice
  • 9. Services in Action – Cytoscape as Service Jupyter application calls Cytoscape/cyREST as a service for visualizing networks 9 Send Network Send Styles cyREST / Cytoscape (Click here for video showing Jupyter creating network in Cytoscape)
  • 10. Important Considerations  How do I call or build a service?  What (actually) is being exchanged?  Where does the service run?  What if your service becomes popular?  How to do create a good service?  What if your service is too slow?  What if your service is buggy? 10
  • 11. Anatomy of a Service Call 11 Send Network Send Styles cyREST / Cytoscape igraph py2cytoscape igraph2CX model.impl CX.impl cyREST cyREST1 / Internet CX encode/decode Local network model App ServiceCI 1http://www.ncbi.nlm.nih.gov/pubmed/26672762
  • 12. Making Your Service Real 1. Create function  Python, R, Go, Java … 2. Add REST wrapper  Eve, OpenCPU, GoRilla, Jersey… 3. Add client call using REST 12 Function Data CX REST Function Data CX App CX REST Function Data CXData REST More later … Network + params on server
  • 13. Important Considerations  How do I call or build a service?  What (actually) is being exchanged?  Where does the service run?  What if your service becomes popular?  What if your service is too slow?  What if your service is buggy?  How to do you test your service? 13
  • 14. CX Transfer Format 1 3 2 Example Graph 4 5 nodes Aspect edges Aspect cartesianLayout Aspect Aspect Relationships Organizes Positions ID=1 ID=2 ID=3 nodes Aspect (3 nodes) edges Aspect (2 edges) Source Target Source TargetID=4 ID=5 cartesianLayout Aspect X=100 Y=100ID X=200 Y=200ID X=100 Y=200ID CX Encoding 14 X X Benefits  Streamable (large networks)  Lossless (BioPAX, SGML, OpenBEL…)  Extensible (new aspects)  Transfers only aspects of interest  Community, community, community
  • 15. A CX Snippet [ {"nodes": [{"@id": "_:1"}, {"@id": "_:2"}]}, {"edges": [{"source": "_:1", "@id": "_:4", "target": "_:2"}]}, {"cartesianLayout": [{"x": "100", "node": "_:1", "y": "100"}]}, {"cartesianLayout": [{"x": "200", "node": "_:2", "y": "300"}]}, {"nodes": [{"@id": "_:3"}]}, {"edges": [{"source": "_:2", "@id": "_:5", "target": "_:3"}]}, {"cartesianLayout": [{"x": "100", "node": "_:3", "y": "200"}]} ] 15
  • 16. Important Considerations  How do I call or build a service?  What (actually) is being exchanged?  Where does the service run?  What if your service becomes popular?  How to do create a good service?  What if your service is too slow?  What if your service is buggy? 16
  • 17. Deploying, Scaling, Speeding Up 17 App CX Data REST REST Function Data CX  Your Server  Amazon  NRNB Servers
  • 18. Deploying, Scaling, Speeding Up 18 App CX Data REST REST Function Data CX  Your Server  Amazon  NRNB Servers REST Function Data CX REST Function Data CX REST Function Data CX Elsa REST Function Data CX …  Other servers
  • 19. Important Considerations  How do I call or build a service?  What (actually) is being exchanged?  Where does the service run?  What if your service becomes popular?  How to do create a good service?  What if your service is too slow?  What if your service is buggy? 19
  • 20. App Tests CX Data REST App Tests CX Data RESTTests CX Data Development Model 20 Step 1: Step 2: Step 3: Function Data CX App Tests CX Data Function Data CX Function Data CX REST Function Data CX REST Elsa Function Data CX REST Step 4:
  • 21. Important Considerations  How do I call or build a service?  What (actually) is being exchanged?  Where does the service run?  What if your service becomes popular?  How to do create a good service?  What if your service is too slow?  What if your service is buggy? 21
  • 22. CyComponents - Embeded UI Services  Embeddable in Web apps and Cytoscape apps  GUI front end to services  Builds on  Cytoscape.js network display library  BioJS libraries  Other widgets  Based on Facebook’s React framework  Simple to build  Simple to incorporate into apps 22
  • 23. Reusing CyComponents is Easy 23  Can be used from Cytoscape app or Web app function init(loginInfo) { const cyto = CyFramework.config([NDExStore]); cyto.render(NDExLogin, document.getElementById('valet'), { defaults: loginInfo, onSubmit: () => { const state = cyto.getStore('ndex').server.toJS(); connect(state);} }); }
  • 24. CyComponents in Action 24 NDEx Valet CyComponent in NDEx web site
  • 25. CyComponents in Action NDEx web site calls NDEx database using NDEx Valet CyComponent 25 Send Query Return NetList Get Network Return Network NDEX Valet is also a part of a Cytoscape app that loads NDEx networks into Cytoscape
  • 26. Services in Action – Cytoscape + NDEx Cytoscape calls cyNDEx app to load network, cyNDEX uses NDEx Valet to call NDEx 26 Send Query Return NetList Get Network Return Network Choose Networks Send Networks cyREST / Cytoscape (Click here for video showing NDEx Valet creating network in Cytoscape)
  • 27. Publishing of the Future … as CI 27
  • 28. Publishing of the Future … as CI 28
  • 29. Cytoscape Cyberinfrastructure (CI) 30 Clustering Cytoscape NDEx Layouts · R · Java · · Python · · Matlab · Science Direct Additional services: • Heat Dissipation • NDEx GUI Interface • ID Translation • Network viewers … many more! Services/apps interact via Internet-based messaging
  • 30. Support  National Resource for Network Biology (NRNB)  Supports software and staging hardware  Pharma & NCI support NDEx  Elsevier  All sources open and on GitHub 31
  • 31. Call to Community  App authorshipCytoscape community thrives  Pride of authorship, listing in App Store  Tangible realization of useful research  Valuable workflows for all to use  Publishable results (e.g., F1000)  CI community inherits all of these! … but also:  More direct path from algorithm to useful code  Wider audience  Easier coding & dissemination  Better coding practices  More resources 32 More Information bdemchak@ucsd.edu
  • 32. Reading List  http://martinfowler.com/articles/microservices.html  http://home.ndexbio.org/about-ndex-2  http://idekerlab.github.io/cy-net-share  Lincoln Stein. Towards a cyberinfrastructure for the biological sciences: progress, visions and challenges. http://www.nature.com/nrg/journal/v9/n9/full/nrg2414.html  Barry Demchak, et al. PALMS: A Modern Coevolution of Community and Computing Using Policy Driven Development. https://sosa.ucsd.edu/ResearchCentral/view.jsp?id=203  Stephen Goff, et al. The iPlant collaborative: cyberinfrastructure for plant biology. http://journal.frontiersin.org/article/10.3389/fpls.2011.00034/pdf 33
  • 33. End of Deck  Backup slides are beyond here 34
  • 34. Existing Ecosystem  Visual Workflow Systems  Taverna & Galaxy – high level orchestration  MyExperiment – sharing workflows  Service Repositories  BioCatalogue  General programming languages & tools  Python, R, Java, Matlab, IPython/Jupyter  Network Analysis & Visualization  Cytoscape & cytoscape.js  GeneMANIA  Cytoscape Cyberinfrastructure (?) ++ - - ++ ++ - - ++ ++ + ++ + - + + ++ - + - + ++ ++ ++ ++ 35
  • 35. CX Timings  Using Human network (18K nodes, 127K edges)  CX output around 150MB  Timings exclude accessing Cytoscape data model – Cytoscape data model increases timings by 2-4x 36 Aspect Read (ms) Write (ms) Nodes 6 3 Edges 97 51 NodeAttrs 77 58 EdgeAttrs 1289 1077