CS 4984: Computing the Brain

Spring 2018, 12:30pm-1:45pm, Tuesdays and Thursdays, MCB 134

About the Course

What is the focus of this course?

The goal of this course is to teach you computational methods that scientists use to understand the brain at the anatomical level in order to gain insights into structure-function relations, health, and disease. We will primarily use the tools of graph (network) theory but will also occasionally delve into machine learning and data mining. We will delve into the cellular and molecular levels if there is time. The textbook for the course is Fundamentals of Brain Network Analysis by Alex Fornito, Andrew Zalesky, and Edward Bullmore. If you are logged into the Virginia Tech network, you should be able to access the PDF version of the book at the previous URL.

Who should take this course?

You should take this course if you are curious to find out how the latest research is shaping our understanding of the brain. We will spend a lot of time learning basic concepts and tools in graph theory and how they are applied to understand networks that connect regions in the brain, cells in the brain, and molecules in the brain. There are many exciting and profound issues that researchers in this area are actively investigating, such as the robustness of the brain, network structures and dynamics, and applications to drug discovery.

Pre-requisites

The course is open to students with junior or senior standing in computer science, neuroscience, or a related field. You must have a grade of C or better Data Structures and Algorithms (CS 3114). A knowledge of basic graph algorithms will help. You must know some programming (the language does not matter much) in order to complete assignments. I hope that both students with computational backgrounds and students with experience in the life sciences will take this course. If you find this course interesting but are not sure whether your background matches the course, please talk to me. The course does not assume that you have any exposure to neuroscience. The most important exhortation is to keep your brain open, a la Erdos.

Course structure

The course will primarily be driven by lectures by me, assignments, student presentations, and by a group software project. Your grade will depend on assignments (30%), your presentations (30%), and on the project (40%). This division might change based on our discussions in class.

Lectures

After the introductory lectures, my lectures will generally follow the order in the textbook. I expect students to read the corresponding chapter carefully before the class and be prepared for participating in discussions in the classroom. I strongly encourage students to form reading groups in order to discuss and understand papers.

Assignments

A typical assignment will involve writing code to replicate or extend the analysis in one or two figures in the textbook. Sometimes, you will have to perform this analysis for a dataset not considered in the original paper. These assignments may organically come about from class discussions. You will have about two weeks to complete assignments. Your solution will include a report on the results of your analysis, including the figures, discussion of difficulties you faced, how you solved them, and observations on your results.

Presentations

Each student will have to present either part of a textbook chapter or one paper from the literature. I will work with each student to decide the topic of the presentation. In a single class, I expect you to prepare a presentation for 60 minutes and expect 15 minutes of questions and discussion during the presentation. Prepare your presentation well in advance! Practise multiple times!

Software Projects

Before spring break, I will describe several ideas for software projects. Students can form groups (two-three students) and work on projects together. Details on the projects themselves and the selection process will be forthcoming.

Topics for Student Presentations

Below is the list of topics for presentations by student group. The hyperlinks will take you to the appropriate section of the textbook (on my browser, it takes a few seconds after the page load for the browser to move to the correct section). I expect each topic to take one class period to present (75 minutes, including time for questions). You may have to supplement the material from the textbook with additional materials from the literature. I will discuss these ideas with each group in detail.

Please go through these sections and let me know your top three choices by 5pm on Tuesday, February 20. I may choose a different order from the one below when I schedule the presentations.

  1. Chapter 5.1.1: Degree-Based Measures of Centrality
  2. Chapter 5.1.3: Betweenness Centrality (also discuss Brandes's algorithm)
  3. Chapter 6.3: Rich clubs
  4. Chapter 7.3.2: Measures of Diffusion Efficiency
  5. Chapter 8.3.1: Wiring Cost Optimization in Nervous Systems and Chapter 8.3.2: Cost-Efficiency Trade-Offs (present both sections)
  6. Chapter 8.3.3: Rentian scaling
  7. Chapter 9: Box 9.3 on overlapping modules
  8. Chapter 9.3: Comparing and Aggregating Network Partitions
  9. Box 10.1: Growth Connectomics: Generative Models for Brain Networks
  10. Chapter 10.2.4: Spatial Embedding

Introductory Videos

These videos provide introductions into the brain structure and function, and molecular and cell biology. I will play some of them in class.

These videos discuss general molecular and cell biology.

Schedule

Table 1: Schedule (subject to change throughout the semester). Links in the "Topic" column point to specific chapters to be discussed in each class. Links in "Presenter" column point to the slides for the lecture.
Date Topic Presenter(s)
Jan 16, 2018 Introduction to "Computing the Brain" T. M. Murali
Jan 18, 2018 No class  
Jan 23, 2018 Introduction to "Computing the Brain", continued T. M. Murali
Jan 25, 2018 Introduction to Graphs T. M. Murali
Jan 30, 2018 Brain Graphs T. M. Murali
Feb 1, 2018 No class  
Feb 6, 2018 Connectivity Matrices and Node Degrees T. M. Murali
Feb 8, 2018 Erdos-Renyi and Small World networks T. M. Murali
Feb 13, 2018 Small World Brain Networks T. M. Murali
Feb 15, 2018 Connectivity, Cliques, and Cores T. M. Murali
Feb 20, 2018 Connectivity, Cliques, and Cores, continued T. M. Murali
Feb 22, 2018 Modules T. M. Murali
Feb 27, 2018 Modules, continued T. M. Murali
Mar 1, 2018 Modules, continued T. M. Murali
Mar 6, 2018 No class, Spring break  
Mar 8 2018 No class, Spring break  
Mar 13, 2018 Building Communication Skills Through Effective Presentation Heidi Thuesen
Mar 15, 2018 No class  
Mar 20, 2018 Wiring cost optimization (Practice presentation) Scott Clark, Omar Faruqi, Cameron Rader
Mar 22, 2018 Degree-Based Measures of Centrality (Practice presentation) Branden Arnold, Mostafa Elmary, Madison Wilkins
Mar 27, 2018 Betweenness Centrality (Practice presentation) Aidan Barton, Jose Canahui, Jordan Kuhn
Mar 29, 2018 Rich Clubs (Practice presentation) Team Valkyrie: Shane Davies, Heidi Tubbs, Tianna Woodson
Apr 3, 2018 Overlapping Modules (Practice presentation) Team Wildcards: Kavin Aravind, Tom Evans, Rishi Pulluri
Apr 5, 2018 Growth Connectomics (Practice presentation) William Edmisten, Ethan Gallagher, Sophia Sheikl
Apr 10, 2018 Wiring cost optimization Scott Clark, Omar Faruqi, Cameron Rader
Apr 12, 2018 Degree-Based Measures of Centrality Branden Arnold, Mostafa Elmary, Madison Wilkins
Apr 17, 2018 Betweenness Centrality Aidan Barton, Jose Canahui, Jordan Kuhn
Apr 19, 2018 Rich Clubs Team Valkyrie: Shane Davies, Heidi Tubbs, Tianna Woodson
Apr 24, 2018 Overlapping Modules Team Wildcards: Kavin Aravind, Tom Evans, Rishi Pulluri
Apr 26, 2018 Growth Connectomics William Edmisten, Ethan Gallagher, Sophia Sheikl
May 1, 2018 No class  

Assignments

  1. Assignment 1, released on February 13, 2018, due by 11:59pm on March 1, 2018
  2. Assignment 2, released on March 1, 2018, due on March 15, 2018

Projects

I have provided brief descriptions of a few project ideas below. Each group should give me its top three choices by 5pm on Friday, March 16. I will develop the projects further and flesh out many details over the course of the meetings I will schedule with each group. I will make multiple connectomes available that can be used across different projects, although some projects (e.g., the suprachiasmatic nucleus) may have their own special datasets. There will be ample opportunity to add meat to each project, including approaches we will discuss during student presentations, ideas you develop yourself, visualizing networks in the cool ways we have seen in the textbook and in class, and displaying your results in interesting and compelling ways.

Consensus Clustering of Connectomes

There are over 100 algorithms developed for clustering graphs in order to find modules in them. The algorithms differ in several characteristics such as the definition of modules, the number of parameters used to define modules, whether modules can overlap or not, and the precise techniques used to compute them. This project will apply multiple such published algorithms to connectomes in order to discover how much the computed modules change based on the algorithm. The material in Chapter 9.3: Comparing and Aggregating Network Partitions of the textbook is relevant. I encourage the project group to read other papers on "consensus clustering" published in the literature, with my feedback and advice, of course. The steps in the project will include

  • Decide a set of algorithms to compare after discussion with me.
  • Download the code for each algorithm and making sure it runs well. If necessary, you may have to implement some algorithms, but I hope that work will be minimal.
  • Develop and implement ideas and methods for comparing modules and partitions computed by different algorithms.
  • Implement consensus clustering algorithms.
  • Run these algorithms on connectomes and report your results.

Legos of Very Large Human Connectomes

The goal of this project is to find "network legos" of very large connectomes. You will use datasets where each connectome comes from one individual. The idea is to compute modules in each connectome (e.g., using the Louvain algorithm) and then to compare the modules systematically using the ideas in Network Legos: Building Blocks of Cellular Wiring Diagrams. I will explain this algorithm and simpler versions of it to the group that undertakes this project. The results of these comparison will yield "legos" from which we can reconstruct any interactome. This project is more challenging than the others simply because of the sizes of the connectomes: each of them contains millions of edges. Therefore, your code will need to be efficient in running time and in memory (RAM) usage. It might take some effort and trial-and-error to achieve satisfactory time and memory.

Functional Neuronal Networks in the Mammalian Suprachiasmatic Nucleus

In mammals, the suprachiasmatic nucleus (SCN) is a network of neurons that communicate with each other to generate precise system-wide circadian rhythms (the daily sleep-wake cycle). Disruption of these neurons after long airplane flights is responsible for jet lag. The authors of Functional network inference of the suprachiasmatic nucleus created the first known network for these neurons in mammals. They used a neurotoxin to desynchronize this circadian network and then applied tools from information theory to determine which cells communicate in order to re-eestablish synchronization. Using techniques we have studied in this class and other related methods, this project will study the properties of this network, e.g., to replicate the paper's findings that "this functional network consists of two densely-connected cores, surrounded by sparsely connected shell regions." The networks themselves are available on GitHub.

Mouse Connectome

A recent paper titled Organizing principles for the cerebral cortex network of commissural and association connections has published and analyzed a comprehensive connectome of the mouse brain, collected from findings in over 185 publications that appeared in the literature since 1974. This project will analyze the structural properties of this connectome. If you are ambitious, you can try to correlate this network with the mouse connectome created independently by the Allen Institute for Brain Science.

Gene Expression in the Human Brain

The Allen Center for Brain Science has created and made available some unique neuroscience datasets. This project will analyse a comprehensive dataset of gene expression in cells in medial temporal gyrus of brain slices from multiple human donors. For each donor, this dataset uses a technique called RNA-sequencing to measure the expression level of every gene. The project will integrate these data with interaction networks among human proteins to understand the different biological processes that are active in this region of the brain. The project will entail learning new algorithms and computational ideas that we did not have time to delve into in the class.

Generative Models of Connectomes

In the class, we have studied and analysed several type of connectomes. Each of these connectomes arose from experimental observations of the brains of different organisms. We studied several types of properties of these connectomes. Student presentations will explore other properties and methods of computational analysis. A fundamental question that arises now is what types of evolutionary processes in nature can generate the types of connectomes that exist in organisms. For example, the process is almost certainly not an Erdos-Renyi like model. This project will consider several mathematical models that have been proposed for connectomes and test these models for their ability to generate artificial networks with properties that match those of real connectomes such as the small world property and hierarchical modularity. The paper Resolving Structural Variability in Network Models and the Brain and Box 10.1: Growth Connectomics: Generative Models for Brain Networks in the textbook provide excellent starting points for this project. An important question to consider will be whether models should incorporate geometric constraints imposed by the structure of the brain.