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?)
-