23
Interactive Network Construction Using R and cRytoscape Paul Shannon Institute for Systems Biology August 25 th , 2009

Interactive Network Construction Using R and cRytoscape

Embed Size (px)

DESCRIPTION

Interactive Network Construction Using R and cRytoscape. Paul Shannon Institute for Systems Biology August 25 th , 2009. Interactive Construction: begin, add, reduce. Your experimental d ata Add annotation Calculate functional enrichment - PowerPoint PPT Presentation

Citation preview

Page 1: Interactive Network Construction Using  R  and  cRytoscape

Interactive Network Construction Using R and cRytoscape

Paul ShannonInstitute for Systems Biology

August 25th, 2009

Page 2: Interactive Network Construction Using  R  and  cRytoscape

Interactive Construction: begin, add, reduce

• Your experimental data• Add annotation• Calculate functional enrichment• Connect nodes (by function, known interactions, pathway membership)• Eliminate uninteresting edges and nodes• Design the next experiment

Page 3: Interactive Network Construction Using  R  and  cRytoscape

33 Early Spike Genes

Page 4: Interactive Network Construction Using  R  and  cRytoscape

Bioconductor Graph + Reworked Cytoscape 1.1: cRytoscape

> g = new ('graphNEL', edgemode='directed’)

> nodeDataDefaults (g, ’geneSymbol') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', ’geneSymbol') = “KLF3”

> nodeLabel (g, ’geneSymbol'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘geneSymbol’))> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 5: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, ’geneSymbol') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', ’geneSymbol') = “KLF3”

> nodeLabel (g, ’geneSymbol'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘geneSymbol’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 6: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, ’geneSymbol') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', ’geneSymbol') = “KLF3”

> nodeLabel (g, ’geneSymbol'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘geneSymbol’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 7: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, ’geneSymbol') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', ’geneSymbol') = “KLF3”

> nodeLabel (g, ’geneSymbol'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘geneSymbol’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 8: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, ’geneSymbol') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', ’geneSymbol') = “KLF3”

> nodeLabel (g, ’geneSymbol'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘geneSymbol’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 9: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, 'label') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', 'label') = “KLF3”

> nodeLabel (g, 'label'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘label’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 10: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, 'label') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', 'label') = “KLF3”

> nodeLabel (g, 'label'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘label’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 11: Interactive Network Construction Using  R  and  cRytoscape

cRytoscape Commands

> nodeDataDefaults (g, 'label') = '’

> g = addNode (‘51724’, g)

> nodeData (g, '51274', 'label') = “KLF3”

> nodeLabel (g, 'label'); render ()

> broadcast (c (‘crytoscape.cmd’, ‘vizrule’, ‘nodeLabel’, ‘lookup’, ‘label’))

> nodeFontSize (20); render ()

> broadcast (c (‘crytoscape.cmd’, "nodeFontSize", 20))

Page 12: Interactive Network Construction Using  R  and  cRytoscape

Early Spike Gene Symbols

Page 13: Interactive Network Construction Using  R  and  cRytoscape

GO BP for Early Spike Genes

Page 14: Interactive Network Construction Using  R  and  cRytoscape

Rendered

Page 15: Interactive Network Construction Using  R  and  cRytoscape

An aside: rules for node color & size

nodeColor (g.go, 'score', c ('below:white', '0:white', '200:red', 'above:blue'));

nodeSize (g.go, 'count', c ('below:30', '1:30', '10:100', 'above:120'))

Page 16: Interactive Network Construction Using  R  and  cRytoscape

Interpolating Network Edges(HPRD ‘empirical’)

Page 17: Interactive Network Construction Using  R  and  cRytoscape

5 Interpolated Edges

Page 18: Interactive Network Construction Using  R  and  cRytoscape

Profile of Interpolated Genes: NFKB1 & HMGB1

Page 19: Interactive Network Construction Using  R  and  cRytoscape

Reject or Tentatively Accept?

HMGB1 & FOXC1: abstract ('11748221’): HMGB1 interacts with many apparently unrelated proteins by recognizing short amino acid sequences … [has] the ability to bind DNA nonspecifically and to interact with various proteins … transcriptional activators, repressors, co-repressors

HMGB1 & NFKB1: abstract ('12604365'): HMGB1 interacts differentially with members of the Rel family of transcription factors ... enhances DNA binding by p65/p50 and p50/p50,but reduces binding by p65/p65 ... Functionally, HMGB1 is required for theNF-kappaB-dependent expression of the adhesion molecule VCAM-1.

Page 20: Interactive Network Construction Using  R  and  cRytoscape

Reject or Tentatively Accept?

NFKB1 & ATF3: abstract ('7692236'): Cyclic AMP-independent ATF family membersinteract with NF-kappa B and function in the activation of the E-selectinpromoter in response to cytokines….

Page 21: Interactive Network Construction Using  R  and  cRytoscape

A ‘Little Language’ for Network Visualization from R

defaultEdgeStyle (graph, style)defaultNodeBorderColor (graph, color)defaultNodeBorderStyle (graph, style)defaultNodeColor (graph, color)defaultNodeShape (graph, shape)defaultNodeSize (graph, size)defaultSourceArrow (graph, arrow)defaultTargetArrow (graph, arrow)destroy ()eda (graph, edge.attribute.name)eda.names (graph)edgeColor (graph, edgeAttributeName, keyValuePairs)edgeColorDiscrete (graph, edgeAttributeName, keyValuePairs)edgeStyle (graph, edgeAttributeName, keyValuePairs)format.long.label (labelString)hide ()invert ()

Page 22: Interactive Network Construction Using  R  and  cRytoscape

A ‘Little Language’ cont.layout ()noa (graph, node.attribute.name)noa.names (graph)nodeBorderColor (graph, nodeAttributeName, keyValuePairs)nodeBorderStyle (graph, nodeAttributeName, keyValuePairs)nodeColor (graph, nodeAttributeName, keyValuePairs)nodeColorDiscrete (graph, nodeAttributeName, keyValuePairs)nodeFontSize (newSize)nodeLabel (graph, nodeAttributeName)nodeShape (graph, nodeAttributeName, keyValuePairs)nodeSize (graph, nodeAttributeName, keyValuePairs)render ()select (node.names)sourceArrow (graph, edgeAttributeName, keyValuePairs)targetArrow (graph, edgeAttributeName, keyValuePairs)unhide ()

Page 23: Interactive Network Construction Using  R  and  cRytoscape

Conclusions• The interpretation of experimental data is inherently exploratory.• A huge amount of annotation, interaction and pathway information is available, some of it useful in that exploration.• Point-and-click analysis tools are good, but …• Exploration via scripting can sometimes take you further• R and bioconductor offer scripting and many data packages• cRytoscape adds a network visualiztion tool to R• Not yet ready for release, but if anyone is interested, contact me.