Video: https://www.youtube.com/watch?v=snXcIsCMQgk powered by Cytoscape.js Pythonic declarative library callback ready "compound node"? how to control text? thickness of edges size of nodes color of nodes add direction to edges? # Cytoscape intro https://www.youtube.com/watch?v=qJTp8AUpdFE Cytoscape is a tool for loading network data and visualizing it Networks represent relationships are very useful for discovering relationships in large data sets Originally developed by institute for systems biology Cytoscape is written in Java biological "pathways" vs "networks" - "pathways" have richer information (causality) ## Limitations of networks - Some networks are dynamic and change over time (luckily part numbers are not) - Details can be missing - part numbers have dims, weight, attributes etc. we are representing all as nodes - understand nodes and edges (what they mean) ## Basics of network visualization ![[Pasted image 20211004171012.png]] Network is more useful when data is sparser. (otherwise you get hairball) ## Automatic network layout - requirement in network visualization to avoid hairball - algorithms - generally try to reduce overlap between nodes and edges - most popular - force-directed (nodes repel and edges pull) is good for 500 nodes - try first - other phylogentic trees, hierarchies - good idea to manually adjust nodes to get it to look correct ## Things to look for in any network - data relationships (guilt by association - you dont know what function of a particular part see what it is connected to) - nucleus -(two types - large assembiles with multiple parts (parent nucleus), parts used by many other assemblies (child nucleus)) - global relationships Basic algorithms - shortest path (if two parts are connected if so how?) -