SlideShare a Scribd company logo
1 of 28
Download to read offline
G R A P H S I N C Y T O S C A P E . J S
V I S U A L I Z I N G B I O L O G I C A L
Ben Keller

linkedin.com/in/bjkeller
Seattle/Bellevue Graphs - Data, Processing, Algorithms Meetup

6 May 2014
B I O L O G I C A L G R A P H S
( S I G N A L I N G ) PAT H WAY S
N AT U R E N E U R O S C I E N C E 1 3 , 6 – 7 ( 2 0 1 0 ) D O I : 1 0 . 1 0 3 8 / N N 0 1 1 0 - 6
P R O T E I N - P R O T E I N I N T E R A C T I O N S
A B
http://www.stats.ox.ac.uk/~hamer/research.html
P R O T E I N - P R O T E I N I N T E R A C T I O N S
A B
http://www.stats.ox.ac.uk/~hamer/research.html
P R O T E I N - P R O T E I N I N T E R A C T I O N S
A B
E X A M P L E P P I G R A P H
ANK3
CABP1
CACNA
2D4
CACNB
3
GNB1
PCBD1
RIMS1
PPM1A
PRKAC
A
RYR2
SRI
CACNA
1C
FAS
FADD
CNTN1
CRKL
HOOK1
KCNC1
KCNC2
SMAD3
SMAD2
PIK3R1
SPTBN4
SCN1B
SCNN1
B
SCN2A
AT T R I B U T E S
Tell us something about gene/protein:
• Where it occurs
• What it does
• What processes it contributes to
• What diseases it is implicated in
Allow us to ask
• do these genes belong together?
• do they work together?
P R O T E I N - A N N O TAT I O N G R A P H
MeSH: Calcium
GO BP: Metal Ion Transport
GO MF: Gated Channel Activity
GO MF: Cation Channel Activity
OR
MeSH Ion Channel Gating
MeSH: Phosphorylation
MeSH: Intercellular Signaling
Peptides and Proteins
MeSH: Nerve
Tissue Proteins
CRKL
ANK3
CABP1
CACNA
2D4
CACNB
3
GNB1
PCBD1
RIMS1
PPM1A
PRKAC
A
RYR2
SRI
CACNA
1C
FAS
FADD
CNTN1
HOOK1
KCNC1
KCNC2
SMAD3
SMAD2
PIK3R1
SPTBN4
SCN1B
SCNN1
B
SCN2A
None
C O N C E P T G R A P H
MeSH: Calcium
GO BP: Metal Ion Transport
GO MF: Gated Channel Activity
GO MF: Cation Channel Activity
OR
MeSH Ion Channel Gating
MeSH: Phosphorylation
MeSH: Intercellular Signaling
Peptides and Proteins
MeSH: Nerve
Tissue Proteins
CRKL
ANK3
CABP1
CACNA
2D4
CACNB
3
GNB1
PCBD1
RIMS1
PPM1A
PRKAC
A
RYR2
SRI
CACNA
1C
FAS
FADD
CNTN1
HOOK1
KCNC1
KCNC2
SMAD3
SMAD2
PIK3R1
SPTBN4
SCN1B
SCNN1
B
SCN2A
None
MeSH: Calcium
GO BP: Metal Ion Transport
GO MF: Gated Channel Activity
GO MF: Cation Channel Activity
OR
MeSH Ion Channel Gating
MeSH: Phosphorylation
MeSH: Intercellular Signaling
Peptides and Proteins
MeSH: Nerve
Tissue Proteins
MeSH: Calcium
GO BP: Metal Ion Transport
GO MF: Gated Channel Activity
GO MF: Cation Channel Activity
GO MF: Voltage-Gated Ion Channel Activity
MeSH: Phosphorylation
MeSH: Signal Transduction
MeSH: Intercellular Signaling Peptides and Proteins
MeSH: Rats
MeSH: Nerve Tissue Proteins
MeSH Ion Channel Gating
CRKL
ANK3
CABP1
CACNA
2D4
CACNB
3
GNB1
PCBD1
RIMS1
PPM1A
PRKAC
A
RYR2
SRI
CACNA
1C
FAS
FADD
CNTN1
HOOK1
KCNC1
KCNC2
SMAD3
SMAD2
PIK3R1
SPTBN4
SCN1B
SCNN1
B
SCN2A
MeSH: Calcium
GO BP: Metal Ion Transport
GO MF: Gated Channel Activity
GO MF: Cation Channel Activity
OR
MeSH Ion Channel Gating
MeSH: Phosphorylation
MeSH: Intercellular Signaling
Peptides and Proteins
MeSH: Nerve
Tissue Proteins
CRKL
ANK3
CABP1
CACNA
2D4
CACNB
3
GNB1
PCBD1
RIMS1
PPM1A
PRKAC
A
RYR2
SRI
CACNA
1C
FAS FADD
CNTN1
HOOK1
KCNC1
KCNC2
SMAD3
SMAD2
PIK3R1
SPTBN4
SCN1B
SCNN1
B
SCN2A
C Y T O S C A P E . J S
http://jsbin.com/reqeg/1/edit
( J S B I N ) H T M L
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Meetup Cytoscape.js Lab</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="http://cytoscape.github.io/cytoscape.js/api/cytoscape.js-latest/cytoscape.min.js"></script>
</head>
<body>
<div id="cy" style="height:90%;width:90%;position:absolute;left:0;top:0;"></div>
</body>
</html>
• jQuery
• cytoscape.js
• (your script)
container for graph
J S F I L E
$(document).ready(function(){
//cytoscape code goes here
});
C Y T O S C A P E S E S S I O N
var cy = cytoscape({
container: document.getElementById('cy'),
ready: function() {}
});
G R A P H
var graphelements = {
nodes: [
{ data: { id: 'n1', name: ‘A' } },
{ data: { id: 'n2', name: ‘B' } },
{ data: { id: 'n3', name: ‘C' } },
{ data: { id: 'n4', name: ‘D' } }
],
edges: [
{ data: { id: 'e1', source: 'n1', target: 'n2' } },
{ data: { id: 'e2', source: 'n3', target: 'n2' } },
{ data: { id: 'e3', source: 'n4', target: 'n2' } }
]
};
cy.load(graphelements);
A D D : S H O W N O D E L A B E L O N H O V E R
cy.on('mouseover','node',function(evt) {
var node = evt.cyTarget;
node.css('content','data(name)');
});
cy.on('mouseout','node',function(evt){
var node = evt.cyTarget;
node.css('*','');
});
(add after session definition)http://jsbin.com/reqeg/12/edit
A D D : S E T U P F O R S T Y L E S
var nodestyle = {};
var edgestyle = {};
!
var stylesheet = cytoscape.stylesheet().

selector("node").css(nodestyle).
selector(“edge").css(edgestyle);
!
var cy = cytoscape({
container: document.getElementById('cy'),
style: stylesheet,
ready: function() {}
});
http://jsbin.com/reqeg/11/edit
A D D : S E T N O D E S T Y L E
var nodestyle = {
'font-size': '12pt',
'min-zoomed-font-size': ‘9pt',
'text-halign': 'center',
'text-valign': 'center',
'color': 'white'
};
http://jsbin.com/reqeg/10/edit
A D D : M A P P I N G AT T R I B U T E S ( 1 )
var nodestyle = {
'font-size': '12pt',
'min-zoomed-font-size': '9pt',
'text-valign': 'center',
'text-halign': 'center',
'color': 'white',
'width': 'mapData(degree,0,5,20,80)',
'height': 'mapData(degree,0,5,20,80)'
};
http://jsbin.com/reqeg/9/edit
A D D : M A P P I N G AT T R I B U T E S ( 2 )
var degmap = {};
var nodes = cy.nodes();
for (var i = 0; i < nodes.length; i++) {
degmap[nodes[i].id()] = { degree: nodes[i].degree() };
}
cy.batchData(degmap);
http://jsbin.com/reqeg/7/edit
http://jsbin.com/vujug/2/edit
L AY O U T S
var layoutopts = {
name: 'breadthfirst',
roots: ['n1','n26']
};
cy.layout(layoutopts);
• random
• preset
• grid
• circle
• concentric
• breadthfirst
• arbor *
• cose
• null (for algorithms)
A R B O R ( F O R C E - D I R E C T E D )
<script src="../node_modules/cytoscape/lib/arbor.js"></script>
<script src="../node_modules/cytoscape/dist/cytoscape.min.js"></script>
http://cytoscape.github.io/cytoscape.js/
http://bumbu.github.io/cytoscape.js/debug/

More Related Content

What's hot

Argoによる機械学習実行基盤の構築・運用からみえてきたこと
Argoによる機械学習実行基盤の構築・運用からみえてきたことArgoによる機械学習実行基盤の構築・運用からみえてきたこと
Argoによる機械学習実行基盤の構築・運用からみえてきたこと
Shinsaku Kono
 
AWS Lambda, WTF
AWS Lambda, WTFAWS Lambda, WTF
AWS Lambda, WTF
Brentoids
 

What's hot (14)

Using Elixir to fight Covid-19
Using Elixir to fight Covid-19Using Elixir to fight Covid-19
Using Elixir to fight Covid-19
 
Meteor - not just for rockstars
Meteor - not just for rockstarsMeteor - not just for rockstars
Meteor - not just for rockstars
 
AWS Lambda, WTF : I secretly hate you
AWS Lambda, WTF : I secretly hate you AWS Lambda, WTF : I secretly hate you
AWS Lambda, WTF : I secretly hate you
 
Argoによる機械学習実行基盤の構築・運用からみえてきたこと
Argoによる機械学習実行基盤の構築・運用からみえてきたことArgoによる機械学習実行基盤の構築・運用からみえてきたこと
Argoによる機械学習実行基盤の構築・運用からみえてきたこと
 
AWS Lambda, WTF
AWS Lambda, WTFAWS Lambda, WTF
AWS Lambda, WTF
 
On the development and distribution of R packages
On the development and distribution of R packagesOn the development and distribution of R packages
On the development and distribution of R packages
 
Cloud Design Pattern for Online Game (Amazon Game Developers Day)
Cloud Design Pattern for Online Game (Amazon Game Developers Day)Cloud Design Pattern for Online Game (Amazon Game Developers Day)
Cloud Design Pattern for Online Game (Amazon Game Developers Day)
 
Java 20
Java 20Java 20
Java 20
 
Xcode Survival Guide Version Two
Xcode Survival Guide Version TwoXcode Survival Guide Version Two
Xcode Survival Guide Version Two
 
Grnxx 2014-11-29
Grnxx 2014-11-29Grnxx 2014-11-29
Grnxx 2014-11-29
 
Spying On Google: Using Log File Analysis To Reveal Invaluable SEO Insights
Spying On Google: Using Log File Analysis To Reveal Invaluable SEO InsightsSpying On Google: Using Log File Analysis To Reveal Invaluable SEO Insights
Spying On Google: Using Log File Analysis To Reveal Invaluable SEO Insights
 
re:Invent 2018 recap for Gaming ~ゲーム関連セッションのご紹介~
re:Invent 2018 recap for Gaming ~ゲーム関連セッションのご紹介~re:Invent 2018 recap for Gaming ~ゲーム関連セッションのご紹介~
re:Invent 2018 recap for Gaming ~ゲーム関連セッションのご紹介~
 
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar PradhanAwesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
Awesome Traefik - Ingress Controller for Kubernetes - Swapnasagar Pradhan
 
Jenkins 20
Jenkins 20Jenkins 20
Jenkins 20
 

Viewers also liked

Viewers also liked (9)

Data Visualization: A Quick Tour for Data Science Enthusiasts
Data Visualization: A Quick Tour for Data Science EnthusiastsData Visualization: A Quick Tour for Data Science Enthusiasts
Data Visualization: A Quick Tour for Data Science Enthusiasts
 
リスク可視化の基本的方法
リスク可視化の基本的方法リスク可視化の基本的方法
リスク可視化の基本的方法
 
Data Visualization Japanの目指すもの
Data Visualization Japanの目指すものData Visualization Japanの目指すもの
Data Visualization Japanの目指すもの
 
Code for Japan 第10回 Brigadeワークショップ
Code for Japan 第10回 BrigadeワークショップCode for Japan 第10回 Brigadeワークショップ
Code for Japan 第10回 Brigadeワークショップ
 
CfJSummit2015 Day2 データとプログラミングで絵を描こう
 CfJSummit2015 Day2 データとプログラミングで絵を描こう CfJSummit2015 Day2 データとプログラミングで絵を描こう
CfJSummit2015 Day2 データとプログラミングで絵を描こう
 
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
San Diego Japan Bio Forum: ライフサイエンス向けデータ可視化技術の現状
 
Html5j data visualization_and_d3
Html5j data visualization_and_d3Html5j data visualization_and_d3
Html5j data visualization_and_d3
 
「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?「モダンな」可視化アプリケーション開発とはどのようなものか?
「モダンな」可視化アプリケーション開発とはどのようなものか?
 
Large Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraphLarge Scale Graph Analytics with JanusGraph
Large Scale Graph Analytics with JanusGraph
 

Similar to Visualizing biological graphs in Cytoscape.js

10 d bs in 30 minutes
10 d bs in 30 minutes10 d bs in 30 minutes
10 d bs in 30 minutes
David Simons
 
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
Ricardo Fanjul Fandiño
 

Similar to Visualizing biological graphs in Cytoscape.js (20)

Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015Profiling Web Archives IIPC GA 2015
Profiling Web Archives IIPC GA 2015
 
airflow_aws_snow.pptx
airflow_aws_snow.pptxairflow_aws_snow.pptx
airflow_aws_snow.pptx
 
Choosing the Right Database
Choosing the Right DatabaseChoosing the Right Database
Choosing the Right Database
 
Enel linked open geo data
Enel linked open geo dataEnel linked open geo data
Enel linked open geo data
 
Linked Open GeoData for Electric Vehicle Charging Stations by ENEL
Linked Open GeoData for Electric Vehicle Charging Stations by ENELLinked Open GeoData for Electric Vehicle Charging Stations by ENEL
Linked Open GeoData for Electric Vehicle Charging Stations by ENEL
 
Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)Linked Open GeoData for Enel Drive (W3C LOD2014)
Linked Open GeoData for Enel Drive (W3C LOD2014)
 
10 d bs in 30 minutes
10 d bs in 30 minutes10 d bs in 30 minutes
10 d bs in 30 minutes
 
Open Analytics Environment
Open Analytics EnvironmentOpen Analytics Environment
Open Analytics Environment
 
NIPS+読み会・関西 #7 発表資料
NIPS+読み会・関西 #7 発表資料NIPS+読み会・関西 #7 発表資料
NIPS+読み会・関西 #7 発表資料
 
Design and Fabrication for Motorized Automated Screw Jack
Design and Fabrication for Motorized Automated Screw JackDesign and Fabrication for Motorized Automated Screw Jack
Design and Fabrication for Motorized Automated Screw Jack
 
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
Designing a Horizontally Scalable Event-Driven Big Data Architecture with Apa...
 
Safe Reinforcement Learning
Safe Reinforcement LearningSafe Reinforcement Learning
Safe Reinforcement Learning
 
Bristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQLBristol Uni - Use Cases of NoSQL
Bristol Uni - Use Cases of NoSQL
 
Compiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark CatalystCompiling openCypher graph queries with Spark Catalyst
Compiling openCypher graph queries with Spark Catalyst
 
Elasticsearch at EyeEm
Elasticsearch at EyeEmElasticsearch at EyeEm
Elasticsearch at EyeEm
 
GraphQL Relay Introduction
GraphQL Relay IntroductionGraphQL Relay Introduction
GraphQL Relay Introduction
 
Examining gene expression and methylation with next gen sequencing
Examining gene expression and methylation with next gen sequencingExamining gene expression and methylation with next gen sequencing
Examining gene expression and methylation with next gen sequencing
 
Choosing the right database
Choosing the right databaseChoosing the right database
Choosing the right database
 
Extractive Evidence Based Medicine Summarisation Based on Sentence-Specific S...
Extractive Evidence Based Medicine Summarisation Based on Sentence-Specific S...Extractive Evidence Based Medicine Summarisation Based on Sentence-Specific S...
Extractive Evidence Based Medicine Summarisation Based on Sentence-Specific S...
 
R - datascience
R - datascienceR - datascience
R - datascience
 

More from Benjamin Keller

More from Benjamin Keller (7)

"Got a nail? I got a hammer": Lessons for data science from the "dawn" of big...
"Got a nail? I got a hammer": Lessons for data science from the "dawn" of big..."Got a nail? I got a hammer": Lessons for data science from the "dawn" of big...
"Got a nail? I got a hammer": Lessons for data science from the "dawn" of big...
 
The Bigger Data Story
The Bigger Data StoryThe Bigger Data Story
The Bigger Data Story
 
Mathematics of Incidence (part 4): Lattice dependencies
Mathematics of Incidence (part 4): Lattice dependenciesMathematics of Incidence (part 4): Lattice dependencies
Mathematics of Incidence (part 4): Lattice dependencies
 
Mathematics of Incidence (part 3): What's with Abby and Doughnuts? (More abou...
Mathematics of Incidence (part 3): What's with Abby and Doughnuts? (More abou...Mathematics of Incidence (part 3): What's with Abby and Doughnuts? (More abou...
Mathematics of Incidence (part 3): What's with Abby and Doughnuts? (More abou...
 
Mathematics of incidence (part 2): formal concepts and formal concept lattices
Mathematics of incidence (part 2): formal concepts and formal concept latticesMathematics of incidence (part 2): formal concepts and formal concept lattices
Mathematics of incidence (part 2): formal concepts and formal concept lattices
 
Mathematics of Incidence, part 1: Getting Started with Collaborative Filtering
Mathematics of Incidence, part 1: Getting Started with Collaborative FilteringMathematics of Incidence, part 1: Getting Started with Collaborative Filtering
Mathematics of Incidence, part 1: Getting Started with Collaborative Filtering
 
Graph Annotation: A Tale of Two Binary Relations
Graph Annotation: A Tale of Two Binary RelationsGraph Annotation: A Tale of Two Binary Relations
Graph Annotation: A Tale of Two Binary Relations
 

Recently uploaded

Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
JohnnyPlasten
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
MarinCaroMartnezBerg
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
shivangimorya083
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
shivangimorya083
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
AroojKhan71
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
amitlee9823
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 

Recently uploaded (20)

Log Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptxLog Analysis using OSSEC sasoasasasas.pptx
Log Analysis using OSSEC sasoasasasas.pptx
 
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort ServiceBDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
BDSM⚡Call Girls in Mandawali Delhi >༒8448380779 Escort Service
 
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts ServiceCall Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
Call Girls In Shalimar Bagh ( Delhi) 9953330565 Escorts Service
 
FESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdfFESE Capital Markets Fact Sheet 2024 Q1.pdf
FESE Capital Markets Fact Sheet 2024 Q1.pdf
 
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
Best VIP Call Girls Noida Sector 22 Call Me: 8448380779
 
Halmar dropshipping via API with DroFx
Halmar  dropshipping  via API with DroFxHalmar  dropshipping  via API with DroFx
Halmar dropshipping via API with DroFx
 
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
Digital Advertising Lecture for Advanced Digital & Social Media Strategy at U...
 
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls Punjabi Bagh 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...Vip Model  Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
Vip Model Call Girls (Delhi) Karol Bagh 9711199171✔️Body to body massage wit...
 
Discover Why Less is More in B2B Research
Discover Why Less is More in B2B ResearchDiscover Why Less is More in B2B Research
Discover Why Less is More in B2B Research
 
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptxBPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
BPAC WITH UFSBI GENERAL PRESENTATION 18_05_2017-1.pptx
 
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% SecureCall me @ 9892124323  Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
Call me @ 9892124323 Cheap Rate Call Girls in Vashi with Real Photo 100% Secure
 
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdfMarket Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
Market Analysis in the 5 Largest Economic Countries in Southeast Asia.pdf
 
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Saket (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip CallDelhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
Delhi Call Girls CP 9711199171 ☎✔👌✔ Whatsapp Hard And Sexy Vip Call
 
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al BarshaAl Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
Al Barsha Escorts $#$ O565212860 $#$ Escort Service In Al Barsha
 
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdfAccredited-Transport-Cooperatives-Jan-2021-Web.pdf
Accredited-Transport-Cooperatives-Jan-2021-Web.pdf
 
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
Chintamani Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore ...
 
April 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's AnalysisApril 2024 - Crypto Market Report's Analysis
April 2024 - Crypto Market Report's Analysis
 
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get CytotecAbortion pills in Doha Qatar (+966572737505 ! Get Cytotec
Abortion pills in Doha Qatar (+966572737505 ! Get Cytotec
 

Visualizing biological graphs in Cytoscape.js

  • 1. G R A P H S I N C Y T O S C A P E . J S V I S U A L I Z I N G B I O L O G I C A L Ben Keller
 linkedin.com/in/bjkeller Seattle/Bellevue Graphs - Data, Processing, Algorithms Meetup
 6 May 2014
  • 2. B I O L O G I C A L G R A P H S
  • 3. ( S I G N A L I N G ) PAT H WAY S N AT U R E N E U R O S C I E N C E 1 3 , 6 – 7 ( 2 0 1 0 ) D O I : 1 0 . 1 0 3 8 / N N 0 1 1 0 - 6
  • 4. P R O T E I N - P R O T E I N I N T E R A C T I O N S A B http://www.stats.ox.ac.uk/~hamer/research.html
  • 5. P R O T E I N - P R O T E I N I N T E R A C T I O N S A B http://www.stats.ox.ac.uk/~hamer/research.html
  • 6. P R O T E I N - P R O T E I N I N T E R A C T I O N S A B
  • 7. E X A M P L E P P I G R A P H ANK3 CABP1 CACNA 2D4 CACNB 3 GNB1 PCBD1 RIMS1 PPM1A PRKAC A RYR2 SRI CACNA 1C FAS FADD CNTN1 CRKL HOOK1 KCNC1 KCNC2 SMAD3 SMAD2 PIK3R1 SPTBN4 SCN1B SCNN1 B SCN2A
  • 8. AT T R I B U T E S Tell us something about gene/protein: • Where it occurs • What it does • What processes it contributes to • What diseases it is implicated in Allow us to ask • do these genes belong together? • do they work together?
  • 9. P R O T E I N - A N N O TAT I O N G R A P H MeSH: Calcium GO BP: Metal Ion Transport GO MF: Gated Channel Activity GO MF: Cation Channel Activity OR MeSH Ion Channel Gating MeSH: Phosphorylation MeSH: Intercellular Signaling Peptides and Proteins MeSH: Nerve Tissue Proteins CRKL ANK3 CABP1 CACNA 2D4 CACNB 3 GNB1 PCBD1 RIMS1 PPM1A PRKAC A RYR2 SRI CACNA 1C FAS FADD CNTN1 HOOK1 KCNC1 KCNC2 SMAD3 SMAD2 PIK3R1 SPTBN4 SCN1B SCNN1 B SCN2A None
  • 10. C O N C E P T G R A P H MeSH: Calcium GO BP: Metal Ion Transport GO MF: Gated Channel Activity GO MF: Cation Channel Activity OR MeSH Ion Channel Gating MeSH: Phosphorylation MeSH: Intercellular Signaling Peptides and Proteins MeSH: Nerve Tissue Proteins CRKL ANK3 CABP1 CACNA 2D4 CACNB 3 GNB1 PCBD1 RIMS1 PPM1A PRKAC A RYR2 SRI CACNA 1C FAS FADD CNTN1 HOOK1 KCNC1 KCNC2 SMAD3 SMAD2 PIK3R1 SPTBN4 SCN1B SCNN1 B SCN2A None MeSH: Calcium GO BP: Metal Ion Transport GO MF: Gated Channel Activity GO MF: Cation Channel Activity OR MeSH Ion Channel Gating MeSH: Phosphorylation MeSH: Intercellular Signaling Peptides and Proteins MeSH: Nerve Tissue Proteins
  • 11. MeSH: Calcium GO BP: Metal Ion Transport GO MF: Gated Channel Activity GO MF: Cation Channel Activity GO MF: Voltage-Gated Ion Channel Activity MeSH: Phosphorylation MeSH: Signal Transduction MeSH: Intercellular Signaling Peptides and Proteins MeSH: Rats MeSH: Nerve Tissue Proteins MeSH Ion Channel Gating CRKL ANK3 CABP1 CACNA 2D4 CACNB 3 GNB1 PCBD1 RIMS1 PPM1A PRKAC A RYR2 SRI CACNA 1C FAS FADD CNTN1 HOOK1 KCNC1 KCNC2 SMAD3 SMAD2 PIK3R1 SPTBN4 SCN1B SCNN1 B SCN2A
  • 12. MeSH: Calcium GO BP: Metal Ion Transport GO MF: Gated Channel Activity GO MF: Cation Channel Activity OR MeSH Ion Channel Gating MeSH: Phosphorylation MeSH: Intercellular Signaling Peptides and Proteins MeSH: Nerve Tissue Proteins CRKL ANK3 CABP1 CACNA 2D4 CACNB 3 GNB1 PCBD1 RIMS1 PPM1A PRKAC A RYR2 SRI CACNA 1C FAS FADD CNTN1 HOOK1 KCNC1 KCNC2 SMAD3 SMAD2 PIK3R1 SPTBN4 SCN1B SCNN1 B SCN2A
  • 13. C Y T O S C A P E . J S
  • 15. ( J S B I N ) H T M L <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Meetup Cytoscape.js Lab</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script src="http://cytoscape.github.io/cytoscape.js/api/cytoscape.js-latest/cytoscape.min.js"></script> </head> <body> <div id="cy" style="height:90%;width:90%;position:absolute;left:0;top:0;"></div> </body> </html> • jQuery • cytoscape.js • (your script) container for graph
  • 16. J S F I L E $(document).ready(function(){ //cytoscape code goes here });
  • 17. C Y T O S C A P E S E S S I O N var cy = cytoscape({ container: document.getElementById('cy'), ready: function() {} });
  • 18. G R A P H var graphelements = { nodes: [ { data: { id: 'n1', name: ‘A' } }, { data: { id: 'n2', name: ‘B' } }, { data: { id: 'n3', name: ‘C' } }, { data: { id: 'n4', name: ‘D' } } ], edges: [ { data: { id: 'e1', source: 'n1', target: 'n2' } }, { data: { id: 'e2', source: 'n3', target: 'n2' } }, { data: { id: 'e3', source: 'n4', target: 'n2' } } ] };
  • 20. A D D : S H O W N O D E L A B E L O N H O V E R cy.on('mouseover','node',function(evt) { var node = evt.cyTarget; node.css('content','data(name)'); }); cy.on('mouseout','node',function(evt){ var node = evt.cyTarget; node.css('*',''); }); (add after session definition)http://jsbin.com/reqeg/12/edit
  • 21. A D D : S E T U P F O R S T Y L E S var nodestyle = {}; var edgestyle = {}; ! var stylesheet = cytoscape.stylesheet().
 selector("node").css(nodestyle). selector(“edge").css(edgestyle); ! var cy = cytoscape({ container: document.getElementById('cy'), style: stylesheet, ready: function() {} }); http://jsbin.com/reqeg/11/edit
  • 22. A D D : S E T N O D E S T Y L E var nodestyle = { 'font-size': '12pt', 'min-zoomed-font-size': ‘9pt', 'text-halign': 'center', 'text-valign': 'center', 'color': 'white' }; http://jsbin.com/reqeg/10/edit
  • 23. A D D : M A P P I N G AT T R I B U T E S ( 1 ) var nodestyle = { 'font-size': '12pt', 'min-zoomed-font-size': '9pt', 'text-valign': 'center', 'text-halign': 'center', 'color': 'white', 'width': 'mapData(degree,0,5,20,80)', 'height': 'mapData(degree,0,5,20,80)' }; http://jsbin.com/reqeg/9/edit
  • 24. A D D : M A P P I N G AT T R I B U T E S ( 2 ) var degmap = {}; var nodes = cy.nodes(); for (var i = 0; i < nodes.length; i++) { degmap[nodes[i].id()] = { degree: nodes[i].degree() }; } cy.batchData(degmap); http://jsbin.com/reqeg/7/edit
  • 26. L AY O U T S var layoutopts = { name: 'breadthfirst', roots: ['n1','n26'] }; cy.layout(layoutopts); • random • preset • grid • circle • concentric • breadthfirst • arbor * • cose • null (for algorithms)
  • 27. A R B O R ( F O R C E - D I R E C T E D ) <script src="../node_modules/cytoscape/lib/arbor.js"></script> <script src="../node_modules/cytoscape/dist/cytoscape.min.js"></script>