Biological Networks
CSCI 3352, Spring 2023

Time: Tuesday and Thursday, 1:00pm - 2:15pm
Room: JSCBB A104

Instructor: Aaron Clauset
Office: Zoomiverse
Office hours: Tuesday 2:30-3:30pm, and Thursday 11:30am-12:30pm, or by appointment
Email: zzilm.xozfhvg@xlolizwl.vwf (an Atbash cipher)

Learning objectives
Schedule and lecture notes
Supplemental readings

This undergraduate-level course examines the computational representation and analysis of biological phenomena through the structure and dynamics of networks, from molecules to species. Attention focuses on algorithms for clustering network structures, predicting missing information, modeling flows, regulation, and spreading-process dynamics, examining the evolution of network structure, and developing intuition for how network structure and dynamics relate to biological phenomena.

Recommended: Data structures (CSCI 2270) or similar, Data science (CSCI 3320) or similar, Calculus I (or equivalent); programming competence is assumed.

1. Networks by Mark Newman
2. Introduction to Systems Biology by Uri Alon

Learning Objectives
In this class, students will

  1. understand the representation and analysis of biological phenomena as networks
  2. develop intuition for how network structure shapes dynamics
  3. learn principles and methods for describing and clustering network data
  4. learn to predict missing network information
  5. understand and simulate models of biological network dynamics
  6. understand and model the evolution of biological networks
  7. analyze real-world biological network data

Problem sets: There will be 10 weekly problem sets. Each will include some mathematical and some computational problems. See syllabus for details.

Class project: In the class project, students will explore a class topic (of their choice) more deeply. Students may work in teams of 1-2 on the project. There are three deliverables associated with the class project: (i) a project proposal, (ii) a brief in-class presentation of the project idea and results, and (iii) a 6-page project report, due at the end of the semester. See syllabus for details.

Grading: See the syllabus.

Tentative Schedule
Week 1 : Fundamentals of networks (Lecture 0 and Lecture 1)
Week 2 : Network representations and statistics (Lecture 2)
Week 3 : Random graph models (Lecture 3)
Week 4 : Predicting missing links and attributes (Lecture 4)
Week 5 : Modular networks I: structure (Lecture 5)
Week 6 : Modular networks II: inference (Lecture 6)
Week 7 : Epidemiology I: models and networks (Lecture 7)
Week 8 : Epidemiology II: models and complications (Lecture 8)
Week 9 : Proteins & genes I: structure (Lecture 9)
Week 10 : Proteins & genes II: models (Lecture 10)
Week 11 : Spring break
Week 12 : Metabolism I: structure (Lecture 11)
Week 13 : Metabolism II: flux balance analysis (Lecture 12)
Week 14 : Ethics, biology, and networks (Lecture 13)
Week 15 : Project presentations
Week 16 : Project presentations
Week 17 : Finals

Supplemental Readings

Week 0:

Week 1:

Week 2:

Week 3:

Week 4:

Week 5:

Week 6:

Weeks 7-8:

Weeks 9-10:

Weeks 12-13:

Network Tools
NetworkX, network analysis package (Python)
igraph, network analysis tools (Python, C++, R)
graph-tool, network analysis and visualization software (Python, C++)
GraphLab, scalable network analysis (Python, C++)
NodeXL, network analysis and visualization software

Network Visualization
Cytoscape, network visualization software, in-browser, larger network visualization
yEd Graph Editor, network visualization software
Graphviz, network visualization software
Gephi, network visualization software
graph-tool, network analysis and visualization software
webweb, network visualization tool joining Matlab and d3
MuxViz, multilayer analysis and visualization platform

Network Data Sets
The Colorado Index of Complex Networks (ICON; more than 5000 graphs)

Other Courses on Networks
Network Theory (University of Michigan)
Statistical Network Analysis (Purdue University)
Networks (Cornell University)
Networks (Harvard University)
Social and Economic Networks: Models and Analysis (Coursera / Stanford)
Social Network Analysis (Coursera / University of Michigan)
Social and Information Network Analysis (Stanford)
Graphs and Networks (Yale)
Spectral Graph Theory (Yale)
The Structure of Social Data (Stanford)

LaTeX (general) and TeXShop (Mac)
Matlab license for CU staff (includes student employees)
Mathematica license for CU students
NumPy/SciPy libraries for Python (similar to Matlab)
GNU Octave (similar to Matlab)
Wolfram Alpha (Web interface for simple integration and differentiation)
Introduction to the Modeling and Analysis of Complex Systems, by Hiroki Sayama (free online textbook)

Things Worth Reading
Everything you wanted to know about Data Analysis and Fitting but were afraid to ask, by Peter Young
Machine Learning, Statistical Inference and Induction Notebook (by Cosma Shalizi)
Power Law distributions, etc. Notebook (by Cosma Shalizi)
Statistics Done Wrong, The woefully complete guide (by Alex Reinhart)
Some Advice on Process for [Research Projects]