Spring 2019, 3:30pm-4:45pm, Tuesdays and Thursdays, MCB 226
About the Course
- What is the focus of this course?
- Who should take this course?
- Pre-requisites
- Course structure
- Introductory Videos
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.
A knowledge of data structures 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, 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 and by a group software project. Your grade will depend on assignments (40%) and the project (60%). 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.
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.
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.
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.
- The Brain: Structure and Function (13:55")
- Cell theory (watch the first 1:40")
- Types of brain cells (19")
- Glial Cells, White Matter and Gray Matter (1:50")
- Neuron (11:20")
- Split brain experiments (a Flash-based game)
- Inside the Brain: Unraveling the Mystery of Alzheimer's Disease (4:22")
- Mechanisms and secrets of Alzheimer's disease: exploring the brain (6:26")
These videos discuss general molecular and cell biology.
- The Cell (7:21"): a general overview of cell structure from Nucleus Medical Media
- The DNA learning center has created several interesting videos.
- Cell signals (I played this video in class)
- The Central Dogma (several videos)
- The textbook "Biology" by Raven, Johnson, Losos, and Singer has several relevant videos:
Schedule
Date | Topic | Reading | Presenter(s) |
---|---|---|---|
Jan 22, 2019 | Introduction to "Computing the Brain" | T. M. Murali | |
Jan 24, 2019 | Introduction to "Computing the Brain", continued | T. M. Murali | |
Jan 29, 2019 | Introduction to Graphs | T. M. Murali | |
Jan 31, 2019 | Brain Graphs | Chapter 2 | T. M. Murali |
Feb 5, 2019 | Connectivity Matrices and Node Degrees | Chapter 3, Chapter 4.2.2, 4.2.3 | T. M. Murali |
Feb 7, 2019 | Erdos-Renyi and Small World networks | Paper distributed by email, Chapter 4.2.1, Box 6.2 | T. M. Murali |
Feb 12, 2019 | Small World Brain Networks | Paper distributed by email, Chapters 8.2.1, 8.2.3, 10.2.1 | T. M. Murali |
Feb 14, 2019 | Small World Brain Networks, continued | T. M. Murali | |
Feb 19, 2019 | Class cancelled | ||
Feb 21, 2019 | Connectivity, Cliques, and Cores | Chapter 6.1.1, 6.1.2, 6.2.1, 6.2.2, 7.1, 7.2 | T. M. Murali |
Feb 26, 2019 | Connectivity, Cliques, and Cores, continued | T. M. Murali | |
Feb 28, 2019 | Modules | Chapter 9.1 | T. M. Murali |
Mar 5, 2019 | Modules, continued | T. M. Murali | |
Mar 7 2019 | Discussion of course projects | T. M. Murali | |
Mar 12, 2019 | No class, Spring break | ||
Mar 14, 2019 | No class, Spring break | ||
Mar 19, 2019 | Class cancelled | ||
Mar 21, 2019 | Class cancelled | ||
Mar 26, 2019 | Meeting with project team | ||
Mar 28, 2019 | Meeting with project team | ||
Apr 2, 2019 | Meeting with project team | ||
Apr 4, 2019 | Meeting with project team | ||
Apr 9, 2019 | Meeting with project team | ||
Apr 11, 2019 | Meeting with project team | ||
Apr 16, 2019 | Meeting with project team | ||
Apr 18, 2019 | Meeting with project team | ||
Apr 23, 2019 | Meeting with project team | ||
Apr 25, 2019 | Meeting with project team | ||
Apr 30, 2019 | Meeting with project team | ||
May 2, 2019 | Meeting with project team | ||
May 7, 2019 | Meeting with project team |
Assignments
- Assignment 1, released on February 5, 2019, due by 11:59pm on February 15, 2019
- Assignment 2, released on February 17, 2019, due by 11:59pm on February 26, 2019
Projects
I have provided brief descriptions of a few project ideas below. Each group should give me its top three choices by 5pm on Tuesday, March 19. 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. There will be ample opportunity to add meat to each project, including 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.
General Guidelines
These guidelines will help you complete projects successfully.
- Read the relevant book chapter or the methods section of the relevant paper o carefully, in conjunction with the results and figures.
- Make a list of the functionality, steps, or data you will need to generate each panel of each figure.
- Create a detailed Google Doc with this information and share it with me.
- Remember that you do not have to implement every piece of analysis yourself. I allow you to use existing software packages.
- If you get overwhelmed, take it one panel at a time. If a panel looks very challenging, discuss it with me.
- Divide the tasks among the members of your group and set a timetable to follow.
- The more organized you are and the more you make regular progress each week, the greater your chances of success! Do not leave everything till the last couple of weeks.
Navigation Routing
How are signals propagated efficiently in brain networks? The paper Navigation of brain networks considers this problem. Algorithms such as Dijkstra's require complete knowledge of all the nodes and edges in a graph. In the brain, a "node" is likely to have knowledge only of its "neighbours". How can we define an efficient routing protocol in this scenario? The authors show that a simple propagation rule that is based on local knowledge of the distance between cortical regions, it is possible to successfully navigate brain networks with efficiency that is comparable to shortest paths routing.
The goal of this project is to implement navigation routing and compare it to other shortest path algorithms, including Dijkstra's algorithm and the A* algorithm. Is the Bellman-Ford algorithm useful here? As part of the project, think about how to use it as an alternative to navigation routing. Develop methods to compare its performance to all the other algorithms. Replicate the results in Figures 1-3 and, if possible, Figure 4 in the paper.
Here are the links to the human datasets used in the paper. I would like to thank Caio Seguin for graciously providing these data.
- Human connectome from Glasser et al, Nature, 2016: The entry in row \(i\) and column \(j\) in this matrix is the number of streamlines between regions \(i\) and \(j\), averaged across 75 subjects. Note that the matrix is symmetric, so \(C_{ij} = C_{ji})\). The distribution of streamline counts is highly heterogeneous, Caio recommends taking the logarithm of all the connection weights if you wish to visualize the matrix.
- Names of regions in the human connectome. These names appear in order of rows/columns in the connectome.
- Coordinates of each brain region in the human connectome
Functional Subgraphs in Brain Networks
This project is based on the paper Subgraphs of functional brain networks identify dynamical constraints of cognitive control by Danielle Bassett's group. The paper relies on quantitative, matrix techniques to determine how the brain is able to accomplish multiple tasks. Specifically, the researchers were interested in learning how different components of the brain network are important for different cognitive control and how these components shift between cognitively demanding states.
The researchers measured fMRI (functional magnetic resonance imaging) BOLD (blood oxygen level dependent) signals from 262 regions of the brain (234 cortical and subcortical areas; 28 cerebellar brain areas) while 28 human adults performed Stroop and Navon cognitive control tasks. The researchers divided the BOLD signal into six low demand blocks, six high demand blocks, and twelve fixation blocks (one fixation block occurs before each cognitive demand block) for each behavioral task of each subject. Each block contains 30 seconds of signals. The researchers then calculated the Pearson correlation coefficient between each pair of regional BOLD signals to create an adjacency matrix for every experimental block. They aggregated the correlations into an \(N x N x k\) (\(N\) = |brain regions|; \(k\) = |experimental blocks|) adjacency matrix \(A\) for each subject. To analyze correlated and anticorrelated functional interactions, the researchers separated positively-weighted edges from negatively-weighted edges for each block \(k\) in \(A\) using a threshold of 0, yielding an adjacency matrix of size N x N x 2 x k. The researchers applied an unsupervised machine learning algorithm called non-negative matrix factorization (NMF) on the post-processed data to uncover subgraphs. Much of their paper is devoted to the analysis of these results.
You can access a zipped file containing the dataset for each subject. The file is about 700GB in size. Make sure you read the README.md file after unzipping. If you are using Python, you may need v2.x to run the code in the README.md file.
The goal of this project is to try to recreate the results in the paper, especially Figures 3-5 and perhaps Figure 6 as well. You are welcome to try methods similar to NMF, e.g., other clustering algorithms, to see if you can get similar results. Try to learn about NMF yourself. What are its advantages over other ways of factoring matrices or clustering graphs?
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.
Rentian Scaling
We know that brain networks are modular, where each module is a sets of node that is highly connected internally. How are intermodule connections distributed within a network? Rentian scaling is a concept in engineered circuit design. It states that the number of external connections between nodes in different modules is related to the number of nodes inside the modules by a power-law relationship. (Physical) Rentian scaling is a property of systems that are cost-efficiently embedded into physical space. It is what is called a "topo-physical" property because it combines information regarding the topological organization of the network with information about the physical placement of connections. In this project, you will compute the Rentian scaling of different brain networks. Two papers will be relevant here: Efficient Physical Embedding of Topologically Complex Information Processing Networks in Brains and Computer Circuits and Evidence of Rentian Scaling of Functional Modules in Diverse Biological Networks. Chapter 8.3.3: Rentian scaling of the textbook also covers this topic.
- There are different algorithms for computing modules. How much does the Rentian scaling property (the power in the law) vary depending on the algorithm?
- Does Rentian scaling change from one organism to another?
- There are two different notions of Rentian scale: topological and geometric. There are different ways to compute them. How do these values differ?
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. 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.
Mouse Connectome
A 2017 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.
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.