network visualization and analysis with cytoscape
DESCRIPTION
Introductory presentation for Network Visualization and Analysis with CytoscapeTRANSCRIPT
1
Intro to Cytoscape
Network Visualization and Analysis with Cytoscape
Alex [email protected]
Hey, early birds! USB:Cytoscape Tutorial/2.8 Installers/…
2
The Plan
• USB flash drive:– Slides .pptx– The “Book”– 6 Tutorials– Cytoscape installers (plus updated plugin)
3
The Plan
• Schedule– Introductions (1:30)– Overview– Cytoscape concepts and UI– Tutorial #1– 10 min break– WikiPathways and Pathway Analysis (2:30)– More Tutorials…– Coffee break– Jing Wang - NetGestalt (3:30)– Q&A (4:20)
4
Introductions
• Me– Executive Director, NRNB– Systems Biology Group, Gladstone Institutes– 6 Years on Cytoscape core development team
• GenMAPP-CS Workspaces, criteriaMapper, GO-Elite, BubbbleRouter, Mosaic, NOA, PathExplorer
– Co-founder and developer of WikiPathways– Background: structural biology, pathway analysis
• You?
5
Why networks?• Networks provide an integrating context for data
• Commonly understood diagrammatic representation for concepts and relationships
• Provides structure that helps reduce underlying complexity of the data
• More efficient than searching databases element-by-element
• Network tools give us functionality for studying complex processes• Analysis of global characteristics of the
data, e.g. degree, clustering coefficient, shortest paths, centrality, density
• Identify key elements (hubs) and ‘interesting’ subnets
• Help elucidate mechanisms of interaction
• Visualization of data superimposed upon the network
• Help understand how a process is modulated or attenuated by a stimulus
6
Applications of Network Biology
• Gene Function Prediction –shows connections to sets of genes/proteins involved in same biological process
• Detection of protein complexes/other modular structures – discover modularity & higher order organization (motifs, feedback loops)
• Network evolution – biological process(s) conservation across species
• Prediction of new interactions and functional associations – Statistically significant domain-domain correlations in protein interaction network to predict protein-protein or genetic interaction
jActiveModules, UCSD
PathBlast, UCSD
mCode, University of Toronto
DomainGraph, Max Planck Institute
7
Applications of Networks in Disease
• Identification of disease subnetworks – identification of disease network subnetworks that are transcriptionally active in disease.
• Subnetwork-based diagnosis – source of biomarkers for disease classification, identify interconnected genes whose aggregate expression levels are predictive of disease state
• Subnetwork-based gene association – map common pathway mechanisms affected by collection of genotypes (SNP, CNV)
Agilent Literature Search
Mondrian, MSKCC
PinnacleZ, UCSD
8
The Challenge
• Making sense out of biological networks….
9
The Challenge
• Biological networks (nodes and edges)– Seldom tell us anything by themselves– Analysis involves:
• Understanding the characteristics of the network– Modularity– Comparison with other networks (specifically random
networks)
– Visualization involves:• Placing nodes in a meaningful way (layouts)• Mapping biologically relevant data to the network
– Node size– Node color– Edge weights
10
The Challenge
11
Biological Network Taxonomy
• Pathways– Signaling– Metabolic– Regulatory– Phylogeny (could also be thought of as similarity)
12
Biological Network Taxonomy
• Interaction Networks– Protein-Protein interactions– Protein-Ligand interactions– Genetic interactions– Domain-Domain interactions– Others
• Residue or atomic interactions• Cell/cell interactions• Population biology• Epidemiology• Social networks
13
Biological Network Taxonomy
• Similarity– Protein-Protein similarity– Chemical similarity– Ligand similarity (SEA)– Others
• Tag clouds• Topic maps
14
Visualization of Biological Networks
• Depiction• Data Mapping• Layouts• Animation
15
Depiction
• There are various ways to depict biological networks:– Node-Link (graph) representation
• This is what we most often think of
– Partitioned Node-Link representation• Split graph into discrete partitions based on some
feature
– Matrix representation• Can be useful for very dense networks• Can also map information into cells of matrix
– e.g. degree, color scale (heat map)
16
Data mapping
• Mapping of data values associated with graph elements onto graph visuals
• Visual attributes– Node fill color, border color, border width, size,
shape, opacity, label– Edge type, color, width, ending type, ending size,
ending color
• Mapping types– Passthrough (labels)– Continuous (numeric values)– Discrete (categories)
17
Data mapping
• Avoid cluttering your visualization with too much data– Map the data you are specifically interested in to
call out meaningful differences– Mapping too much data to visual attributes may
just confuse the viewer– Can always create multiple networks and map
different values
18
Layouts
• Layouts determine the location of nodes and (sometimes) the paths of edges
• Types:– Simple
• Grid• Partitions
– Hierarchical • layout data as a tree or hierarchy• Works best when there are no loops
– Circular (Radial)• arrange nodes around a circle• could use node attributes to govern position
– e.g. degree sorted
19
Layouts
• Types:– Force-Directed
• simulate edges as springs• may be weighted or unweighted
– Combining layouts• Use a general layout (force directed) for the entire
graph, but use hierarchical or radial to focus on a particular portion
– Multi-layer layouts• Partition graph, layout each partition then layout
partitions
– Many, many others
20
Layouts
• Use layouts to convey the relationships between the nodes
• Layout algorithms may need to be “tuned” to fit your network– LayoutsSettings… menu
• Lots of parameters to change layout algorithm behavior
• Can also consider laying out portions of your network
21
Animation
• Animation is useful to show changes in a network:– Over a time series– Over different conditions– Between species
22
Introduction to Cytoscape
• Overview• Core Concepts
– Networks vs. Attributes– VizMapper– Apps
• Working with Data– Loading network from the Web– Importing networks from csv files or Excel– Importing attributes from csv files or Excel– The attribute browser
• Cytoscape tips & tricks
23
WHAT IS CYTOSCAPE?
www.cytoscape.org Visualization Integration Analysis
Cytoscape
24
Open source Cross platform Consortium
University of Toronto
Cytoscape
25
Core Concepts
• Networks and Annotations
Annotationse.g., attributes or data
Networkse.g, biological pathways
26
Core Concepts
• Visual Mapping with VizMapper
AnnotationsNetworks
VizMapper
27
Core Concepts
• Cytoscape Apps!
http://apps.cytoscape.org
28
Cytoscape
• Common use cases– Visualizing:
• PPI• Pathways
– Integration:• Expression profiles• Other state data
– Analysis:• Network properties• Data mapped onto network
29
Loading Networks• Use import network from table:
– Excel file– Comma or tab delimited text
30
Loading Networks• Use import network from table:
– Excel file– Comma or tab delimited text
• Use import network from web services– Allows query and load from a variety of services:
• Pathway commons• WikiPathways (if GPML plugin is loaded)• NCBI Entrez Eutilities• BioCyc
31
Loading Attributes• Loading attributes
– Use import attribute from table
32
Loading Attributes• Loading attributes
– Use import attribute from table
• The Data Panel
33
Tutoral #1
Introduction to Cytoscape – Part 1
http://tutorials.cytoscape.org
34
Examples/Demos
• clusterMaker– Clustering and cluster visualizations
• Agilent LitSearch Tool– Extracting networks from abstracts
• WikiPathways– Search and load pathway diagrams
37
Cytoscape 2.8 vs. Cytoscape 3
• Cytoscape 2.8:– One network. All other networks are projections
on that network.• Essentially a rooted tree• No way to duplicate nodes without sharing attributes
• Cytoscape 3:– Allows multiple roots.
• Can have multiple trees• Each group of networks that shares a single root is
called a collection
42
Loading Networks (3.0)
• Conceptually the same as 2.8– Use import network from table:
• Excel file• Comma or tab delimited text
• …but– Must specify if you want a new network collection
(tree)– If not, you need to specify the join column
43
Loading Tables (3.0)• Same as 2.8, except:
– Use Import table from file– You need to specify the network collection
44
Data Panel
45
Visual Style Manager
46
Cytoscape 2.8 vs 3.0
• Compare and Contrast– 3.0 is more stable– 3.0 has improved model and UI– 2.8 has more appsDepends on what you need and when you need it
• Timing– Current release: 3.0.2– 3.1 coming in October– 22 apps and counting!
47
More Tutorals
http://tutorials.cytoscape.org
48
Tips & Tricks
• “Root graph”– “There is one graph to rule them all….”– The networks in Cytoscape are all “views” on a
single graph.– Changing the attribute for a node in one network
will also change that attribute for a node with the same ID in all other loaded networks
– There is no way to “copy” a node and keep the same ID
– Make a copy of the session
49
Tips & Tricks
• Network views– When you open a large network, you will not get a
view by default– To improve interactive performance, Cytoscape
has the concept of “Levels of Detail”• Some visual attributes will only be apparent when you
zoom in• The level of detail for various attributes can be changed
in the preferences• To see what things will look like at full detail:
– ViewShow Graphics Details
50
Tips & Tricks
• Sessions– Sessions save pretty much everything:
• Networks• Properties• Visual styles• Screen sizes
– Saving a session on a large screen may require some resizing when opened on your laptop
51
Tips & Tricks
• Logging– By default, Cytoscape writes it’s logs to the Error
Dialog: HelpError Dialog– Can change a preference to write it to the console
• EditPreferencesProperties…• Set logger.console to true• Don’t forget to save your preferences• Restart Cytoscape
– (can also turn on debugging: cytoscape.debug, but I don’t recommend it)
52
Tips & Tricks
• Memory– Cytoscape uses lots of it– Doesn’t like to let go of it– An occasional restart when working with large
networks is a good thing– Destroy views when you don’t need them– Java doesn’t give us a good way to get the memory
right at start time• Cytoscape 2.7 does a much better job at “guessing”
good default memory sizes than previous versions
53
Tips & Tricks
• .cytoscape directory– Your defaults and any plugins downloaded from the
plugin manager will go here– Sometimes, if things get really messed up, deleting (or
renaming) this directory can give you a “clean slate”
• Plugin manager– “Outdated” doesn’t necessarily mean “won’t work”– Plugin authors don’t always update their plugins
immediately after new releases– Click on “Show outdated plugins” to see the entire list
of plugins.